summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread/CanvasContext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Adjust for pipeline stallsJohn Reck2015-07-061-2/+3
| | | | | | | | | | | 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
* Delete MAKE_ENUM_FLAGSChris Craik2015-06-031-8/+8
| | | | | | | | bug:21595702 Settle on namespace-enum for consistency. Also removes k prefix. Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
* Fix warningJohn Reck2015-06-031-1/+1
| | | | | Bug: 21608208 Change-Id: I1d1cf1fbc8c0a4561bf76e307c56be580fb4baef
* Merge "More colors, now with material colors" into mnc-devJohn Reck2015-06-021-1/+9
|\
| * More colors, now with material colorsJohn Reck2015-06-021-1/+9
| | | | | | | | | | Bug: 18052916 Change-Id: I66c2573d796338ee7b7d0ddf240b90cc78a71ce5
* | FrameInfo header fixesJohn Reck2015-06-021-1/+5
|/ | | | | | | | | Bug: 21560187 Log column names as part of output in case of other such issues Change-Id: I16157ed968307e761d416ca54bd7af5453fe67bf
* Eliminate requireGlContextJohn Reck2015-05-201-13/+2
| | | | | | Bug: 20297820 Change-Id: I37c63bab6f6c0d2337c8c6002046d2ef17e74097
* Adjust light source for window positionAlan Viverette2015-05-141-2/+7
| | | | | Bug: 16523629 Change-Id: I2f3fed1edcac0a3cfd5034aded45e08ececfebaf
* Unify DrawProfiler/JankStatsJohn Reck2015-05-121-6/+2
| | | | | | Bug: 20822400 Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
* Merge "Fix kSkippedFrame setting" into mnc-devJohn Reck2015-05-081-2/+5
|\
| * Fix kSkippedFrame settingJohn Reck2015-05-081-2/+5
| | | | | | | | | | | | | | | | 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
* | Add eglSwapBuffersWithDamageKHR supportJohn Reck2015-05-081-27/+13
|/ | | | | | | BUG: 20761426 Disabled temporarily Change-Id: I0b6b6f0eebab886145e13fa35aefe76826965cf5
* Skip frames with no damageJohn Reck2015-04-281-3/+26
| | | | | Bug: 20464038 Change-Id: Iae3aa9baf1d03c3aa443a39373e2bbd4a3910fad
* Add GraphicsStatsServiceJohn Reck2015-03-271-6/+2
| | | | | | | | | | | 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
* Cleanups & simplificationsJohn Reck2015-03-111-0/+1
| | | | Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
* C++11 style fixupsJohn Reck2015-02-201-1/+1
| | | | Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
* Initial attempt at jank-tracking stat collectionJohn Reck2015-02-201-3/+43
| | | | | | Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
* Move more GL state management to RenderState and its directoryChris Craik2015-01-281-1/+1
| | | | Change-Id: Ic68584e1c08dc64be2ad43450cb6caa1de834fdc
* Move scissor state to RenderStateChris Craik2015-01-271-5/+5
| | | | Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
* Add overrides and switch to nullptr keyword for all filesChris Craik2015-01-051-8/+8
| | | | | | | Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
* Cleanup various clang warnings, use unique_ptrs in several placesChris Craik2014-12-231-2/+1
| | | | Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
* resolved conflicts for merge of a75b0ad3 to masterJohn Reck2014-12-041-2/+2
|\ | | | | | | Change-Id: I32a2d129c556407727ada909daa6470309d42499
| * resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aospJohn Reck2014-12-041-2/+2
| |\ | | | | | | | | | Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
| | * Resume RT-animations after a pauseSurfaceJohn Reck2014-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Prevent calling GL functions with an invalid surfaceSangkyu Lee2014-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am d7af6eaa: am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions ↵John Reck2014-12-011-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | with an invalid surface" * commit 'd7af6eaace4ffdd3635a1cdeff65e9dc1af39f67': Prevent calling GL functions with an invalid surface
| * | am d51205fd: am 6afc5cf3: Merge "Prevent calling GL functions with an ↵John Reck2014-12-011-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | invalid surface" * commit 'd51205fda7351ca32e54ef34b32e72f6c7c79847': Prevent calling GL functions with an invalid surface
| | * | Prevent calling GL functions with an invalid surfaceSangkyu Lee2014-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | am e986817a: am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer ↵Chris Craik2014-11-261-2/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | surface for destroy"" into lmp-mr1-dev * commit 'e986817a2dc8a412c12e456319965a67ac60f236': Revert "Force-use the pbuffer surface for destroy"
| * | | am 6eac26a4: am ca84c8b1: Merge "Revert "Force-use the pbuffer surface for ↵Chris Craik2014-11-261-2/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | destroy"" into lmp-mr1-dev * commit '6eac26a49957eda233ad22ad75da43379f220bbc': Revert "Force-use the pbuffer surface for destroy"
| | * | Revert "Force-use the pbuffer surface for destroy"Chris Craik2014-11-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:18528859 This reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52. Change-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d
* | | | am 0d4ab958: am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface ↵John Reck2014-11-261-1/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | for destroy" into lmp-mr1-dev * commit '0d4ab958c11801f5453e999f930416c87c63d100': Force-use the pbuffer surface for destroy
| * | | am 4e3404d9: am dec3f138: Merge "Force-use the pbuffer surface for destroy" ↵John Reck2014-11-261-1/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit '4e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f': Force-use the pbuffer surface for destroy
| | * | Force-use the pbuffer surface for destroyJohn Reck2014-11-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Revert "resolved conflicts for merge of 220c3f4f to master"Andreas Gampe2014-11-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
* | | | resolved conflicts for merge of 220c3f4f to masterAndreas Gampe2014-11-211-3/+3
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
| * | | resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-211-3/+3
| |\ \ \ | | |/ / | |/| | | | | | Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
| | * | Frameworks/base: Unused parameters in hwuiAndreas Gampe2014-11-211-3/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am 842697a3: am decc26df: am f0f68117: Merge "Trace some interesting events" ↵John Reck2014-11-181-0/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | into lmp-mr1-dev * commit '842697a3602204036e991cfea8b74da3df6e7f14': Trace some interesting events
| * | Trace some interesting eventsJohn Reck2014-11-171-0/+2
| | | | | | | | | | | | | | | Bug: 18337099 Change-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c
* | | am f1923c36: am 8dda03a0: am ca93f69c: Merge "Have an actual fallback if the ↵John Reck2014-11-071-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | surface is lost" into lmp-mr1-dev * commit 'f1923c368c5c08a477b9f94dea6a499798d91d4f': Have an actual fallback if the surface is lost
| * | Have an actual fallback if the surface is lostJohn Reck2014-11-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 17516789 This will force a relayout/reinitialize pass if the Surface is lost mid-render instead of crashing on the next frame Change-Id: If08bfa16f740728fa7c05904fa11e26f07b81e2e
* | | Remove status return from all uirenderer::Renderer functionsTom Hudson2014-11-041-6/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the interface closer to android::Canvas. The only use of return values was in the OpenGLRenderer subclass; that is replaced with an internal dirty flag: returned from finish(), checked by CanvasContext. This is part of a series of CLs to refactor the Graphics JNI bindings. BUG:15672762 R=djsollen@google.com,ccraik@google.com Change-Id: Ifd533eb8839a254b0d3a5d04fc5a2905afdfc89e
* | Layer changesJohn Reck2014-10-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 17208461 * Switch Layer to be VirtualLightRefBase instead of Caches' side-channel ref-counting * Include active layers in gfxinfo dump * Run gfxinfo dump on the correct thread * Dump gfxinfo on Layer creation failure Change-Id: I28d195699e2334518e215ab28c7a17355aee9678
* | Add some free zoom to lockHardwareCanvasJohn Reck2014-10-231-3/+9
| | | | | | | | | | | | | | | | | | Bug: 18099195 Don't use EGL_SWAP_BUFFER_PRESERVED on surfaces that will never benefit. Also clean up some confusing naming Change-Id: I674ca64e0464a3282cff79e5ecd350d08f47c014
* | Trim graphics memory when closing the shadeJorim Jaggi2014-10-081-0/+1
|/ | | | | | | | | | | | | | | | | | | | Graphics memory usually gets trimmed in applications when the activity goes into the background. We use quite a lot of graphics memory when the shade/lockscreen is open, and some of them never gets freed unless the recents activity is closed, because we don't have these activity-trimming-heuristics for the shade. This change proactively trims the graphics memory when the shade gets closed or when the lockscreen is hidden, to emulate the same heuristics as for activities. This change also adds trimMemory on RenderThread to systrace to verify that no jank is introduced with this change. This change immediately saves around 10-30 MB on an xxhdpi device after the shade is closed. Bug: 17581375 Change-Id: I4fb622efb51815fe08187be97ba15d012d4de5d4
* Cleanup DeferredLayerUpdaterJohn Reck2014-10-031-5/+0
| | | | | | | | | | Bug: 17765082 DeferredLayerUpdater had fallen behind RT updates. Re-snap to latest expectations, ensuring to call requireGlContext() prior to detachSurfaceTexture to avoid leaking SurfaceTextures Change-Id: Ic65fb9831e5284f658866da8da9ad5af1d227699
* Merge "Fix garbage showing up beneath dialogs" into lmp-devChris Craik2014-09-191-1/+1
|\
| * Fix garbage showing up beneath dialogsChris Craik2014-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | bug:17463894 Fixes the setViewport method to immediately affect the return values of getViewportWidth/Height methods. Also works around tiling extension issues observed on first frame after window resize by disabling tiling for that frame. Change-Id: Ie172d572d20d74a1be9cc58ad389af2cffa0e4b6
* | Special case EGL_BAD_SURFACEJohn Reck2014-09-171-2/+4
|/ | | | | | Bug: 17516789 Change-Id: I3dcb10360c2aef6326f7dbbff6815866d4c143b6