summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/CanvasContext.cpp
AgeCommit message (Collapse)Author
2015-10-02Rendering the window frame with a second threadSkuhne
Using a multi threaded render node to render the window frame asynchronously from the application relayout. Bug: 22527834 Bug: 24400680 Bug: 24459827 Bug: 24409773 Bug: 24537510 Change-Id: I1010fc6a8b6e38424178140afa3ca124433ab7e4
2015-09-21MultiThreaded rendering of different renderNodesSkuhne
This is adding the renderer side infrastructure to allow rendering multiple render nodes with different threads. This is a pre-step for decoupling a non client decor resize reder from a content resize render. Multiple render nodes can be added to be drawn, and to prevent overdrawing, a content bounds area can be set Bug: 22527834 Change-Id: Ie7271e20895bf38957e5a84aeefc883e282039ad
2015-09-02CanvasState frame init refactorChris Craik
bug:23760482 Change-Id: Idc0802b4b8a6a3cebd20797350f4eb01bcc3fe77
2015-08-26Serializing display listsJohn Reck
This is a WIP prototype Change-Id: Id4bfcf2b7bf905221c3734b7b6887c9b2efd37e6
2015-08-21Switch several enums to enum classesChris Craik
Change-Id: I00ecd0b61657196b51704f70ca31a9d1c1ac254e
2015-08-12Support new EGL extensionsJohn Reck
Bug: 21753739 Includes a revert of 13d1b4ab10fbee5e81a2ba1ac59cfae1e51d3ef0 as that only supported EGL_EXT_buffer_age Change-Id: Ia86a47d19e3355c067934d7764c330b640c6958d
2015-08-04renderthread: add EGL_EXT_buffer_age supportSeason Li
EGL_EXT_buffer_age is better than EGL_BUFFER_PRESERVED because it can save memory bandwidth used to blit back buffer into front buffer. Change-Id: I2fea0ee08dc7dd66e348b04dd694d075d509d01b
2015-08-03Disable skipping frames on empty damageJohn Reck
Bug: 22592975 Optimization added in MNC is not quite correct, occasionally it will fail to repaint when it was supposed to leading to buffer corruption. Disable the optimization for now. Change-Id: I34dfdfb357eda298198043ded7335d4588a003fd
2015-07-21Mark isInUse per-windowJohn Reck
Bug: 22509159 Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
2015-07-16Don't crash on makeCurrent failJohn Reck
Bug: 22444755 WindowManager may decide to yank the surface at any point, so attempt to kinda handle this Change-Id: Id2f665d2f0f93bccd4ec977fbf52dca4dc1ec891
2015-07-06Adjust for pipeline stallsJohn Reck
Bug: 20853441 Calculating duration that crosses the UI-RT sync point will now subtract out the time spent waiting in queue under the assumption that this time will be accounted for in the previous frame's metrics Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
2015-06-03Delete MAKE_ENUM_FLAGSChris Craik
bug:21595702 Settle on namespace-enum for consistency. Also removes k prefix. Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
2015-06-03Fix warningJohn Reck
Bug: 21608208 Change-Id: I1d1cf1fbc8c0a4561bf76e307c56be580fb4baef
2015-06-02Merge "More colors, now with material colors" into mnc-devJohn Reck
2015-06-02More colors, now with material colorsJohn Reck
Bug: 18052916 Change-Id: I66c2573d796338ee7b7d0ddf240b90cc78a71ce5
2015-06-02FrameInfo header fixesJohn Reck
Bug: 21560187 Log column names as part of output in case of other such issues Change-Id: I16157ed968307e761d416ca54bd7af5453fe67bf
2015-05-20Eliminate requireGlContextJohn Reck
Bug: 20297820 Change-Id: I37c63bab6f6c0d2337c8c6002046d2ef17e74097
2015-05-14Adjust light source for window positionAlan Viverette
Bug: 16523629 Change-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf
2015-05-12Unify DrawProfiler/JankStatsJohn Reck
Bug: 20822400 Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
2015-05-08Merge "Fix kSkippedFrame setting" into mnc-devJohn Reck
2015-05-08Fix kSkippedFrame settingJohn Reck
It was only set previously if RenderThread dropped the frame, but not if the UI thread frame was dropped. Unify the two paths Change-Id: If2574edde3cb0949deed4e47f3daaddb890a1b28
2015-05-08Add eglSwapBuffersWithDamageKHR supportJohn Reck
BUG: 20761426 Disabled temporarily Change-Id: I0b6b6f0eebab886145e13fa35aefe76826965cf5
2015-04-28Skip frames with no damageJohn Reck
Bug: 20464038 Change-Id: Iae3aa9baf1d03c3aa443a39373e2bbd4a3910fad
2015-03-27Add GraphicsStatsServiceJohn Reck
More S's for More Speed Split JankTracker's backing data from the class to allow for data relocation to/from ashmem regions Pack the jank tracking data to fit in 256 bytes Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
2015-03-11Cleanups & simplificationsJohn Reck
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
2015-02-20C++11 style fixupsJohn Reck
Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
2015-02-20Initial attempt at jank-tracking stat collectionJohn Reck
Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
2015-01-28Move more GL state management to RenderState and its directoryChris Craik
Change-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc
2015-01-27Move scissor state to RenderStateChris Craik
Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
2015-01-05Add overrides and switch to nullptr keyword for all filesChris Craik
Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
2014-12-23Cleanup various clang warnings, use unique_ptrs in several placesChris Craik
Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
2014-12-04resolved conflicts for merge of a75b0ad3 to masterJohn Reck
Change-Id: I32a2d129c556407727ada909daa6470309d42499
2014-12-04resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aospJohn Reck
Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
2014-12-03Resume RT-animations after a pauseSurfaceJohn Reck
Bug: 18203577 The issue occurs as a result of performTraversals() both doing a window relayout call *and* early-returning because it's not dirty. To fix this pauseSurface() returns whether or not the RT-side is "dirty" to force ViewRootImpl to do a draw even if mDirty is otherwise empty. Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
2014-12-01am d7af6eaa: am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions ↵John Reck
with an invalid surface" * commit 'd7af6eaace4ffdd3635a1cdeff65e9dc1af39f67': Prevent calling GL functions with an invalid surface
2014-12-01am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an ↵John Reck
invalid surface" * commit 'd51205fda7351ca32e54ef34b32e72f6c7c79847': Prevent calling GL functions with an invalid surface
2014-12-01Prevent calling GL functions with an invalid surfaceSangkyu Lee
Bug: 18518580 When destroying CanvasContext, the surface can be invalid state. So the surface should be updated to null prior to destroying GL resources to ensure that GL functions are not called with an invalid surface. Some GL implementation makes an error if GL functions are called with an invalid surface. (Adreno 3xx) Cherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
2014-11-26am e986817a: am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer ↵Chris Craik
surface for destroy"" into lmp-mr1-dev * commit 'e986817a2dc8a412c12e456319965a67ac60f236': Revert "Force-use the pbuffer surface for destroy"
2014-11-26am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for ↵Chris Craik
destroy"" into lmp-mr1-dev * commit '6eac26a49957eda233ad22ad75da43379f220bbc': Revert "Force-use the pbuffer surface for destroy"
2014-11-26Revert "Force-use the pbuffer surface for destroy"Chris Craik
bug:18528859 This reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52. Change-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d
2014-11-26am 0d4ab958: am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface ↵John Reck
for destroy" into lmp-mr1-dev * commit '0d4ab958c11801f5453e999f930416c87c63d100': Force-use the pbuffer surface for destroy
2014-11-26am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" ↵John Reck
into lmp-mr1-dev * commit '4e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f': Force-use the pbuffer surface for destroy
2014-11-26Prevent calling GL functions with an invalid surfaceSangkyu Lee
When destroying CanvasContext, the surface can be invalid state. So the surface should be updated to null prior to destroying GL resources to ensure that GL functions are not called with an invalid surface. Some GL implementation makes an error if GL functions are called with an invalid surface. (Adreno 3xx) Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
2014-11-25Force-use the pbuffer surface for destroyJohn Reck
Bug: 18518580 If CanvasContext is being destroyed() the Surface is probably no longer valid as well, so make sure to makeCurrent() to the pbuffer surface so that the subsequent GL operations are not using an invalid EGLSurface Change-Id: Ica5d6a065841772c47e00ad65aa7894c7e27e043
2014-11-22Revert "resolved conflicts for merge of 220c3f4f to master"Andreas Gampe
Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
2014-11-21resolved conflicts for merge of 220c3f4f to masterAndreas Gampe
Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
2014-11-21resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aospAndreas Gampe
Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
2014-11-21Frameworks/base: Unused parameters in hwuiAndreas Gampe
Remove Clang cutout for unused parameters. Fix warnings. Remove Clang cutout for deprecated Skia function usage. Has been fixed in the L push. Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
2014-11-18am 842697a3: am decc26df: am f0f68117: Merge "Trace some interesting events" ↵John Reck
into lmp-mr1-dev * commit '842697a3602204036e991cfea8b74da3df6e7f14': Trace some interesting events
2014-11-17Trace some interesting eventsJohn Reck
Bug: 18337099 Change-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c