summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderProxy.h
AgeCommit message (Collapse)Author
2015-03-11Cleanups & simplificationsJohn Reck
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
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-21Remove DisplayListLogBufferChris Craik
Change-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8
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-10-31Layer changesJohn Reck
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
2014-10-23Add some free zoom to lockHardwareCanvasJohn Reck
Bug: 18099195 Don't use EGL_SWAP_BUFFER_PRESERVED on surfaces that will never benefit. Also clean up some confusing naming Change-Id: I674ca64e0464a3282cff79e5ecd350d08f47c014
2014-10-03Cleanup DeferredLayerUpdaterJohn Reck
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
2014-09-03Have destroy call freePrefetchedLayersJohn Reck
Bug: 17208461 There's a potential race condition between HardwareRenderer.destroy() being called (which calls destroyCanvasAndSurface()) and the renderer being finalized (which is what calls freePrefetchedLayers), during which time it's possible we get a TRIM_MEMORY_COMPLETE and destroy the EGL context. Fix this race condition by moving stopDrawing() and freePrefetchedLayers() into destroyCanvasAndSurface() where they should have been in the first place. Also, if we hit the assertion failure, dump the current state of Caches to try and provide more context for the failure. Change-Id: Ife0ba3562041e8b08e87e3e13640472b3004eed6
2014-08-27Animator stuffJohn Reck
Bug: 17228458 Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
2014-08-20Implement full View.buildLayerJohn Reck
Bug: 17152292 Change-Id: Ia3cc2aadf72fe14517f50762fc634794df51ad5a
2014-07-24Connect shadow style attributes to rendererChris Craik
bug:15859361 Moves lighting info out of StatefulBaseRenderer, since it's not useful at record time, and only used by OGLR. Change-Id: I7ab065d02d9304afad1dc4c48597a7a621366f8e
2014-06-30Fix onTrimMemory for HardwareRendererJohn Reck
Also fixes detachFunctor possibly drawing after return Bug: 15189843 Bug: 15990672 Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
2014-06-27More cleanupsJohn Reck
Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
2014-06-23No-fail invokeFunctorJohn Reck
Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
2014-06-04Even FASTER damage calculations!John Reck
* Now with more native! * Less matrix math thanks to bulk-property-update support! * Zero JNI on the View.damageInParent() path! * Fully aware of RT-driven animators! * Likely full of new and exciting bugs! * But it also fixes at least 1 existing invalidate bug! Change-Id: Ie0773f85a60850ff2668370c58defef2e8aa079f
2014-05-30Re-jigger layersJohn Reck
Bug: 15185239 Bug: 15238382 Make DeferredLayerUpdater ref counted so that HardwareLayer:finalizer() works non-crashily on leaked layers Give DeferredLayerUpdater the ability to have a layer destroyer set so that leaked layers can still be recycled on the RenderThread Order layer updates based off of pushLayerUpdate() calls to fix issue with nested layers Change-Id: I4449cee607f7e5126e02fed7464cf48038e3dfdf
2014-05-29Enable debug stuffsJohn Reck
Bug: 14596762 * dumpsys gfxinfo implemented * profile GPU visual_bars implemented Change-Id: Icb948a9d5af5989b5615504d0d76ade64b93ef5b
2014-05-23Implement FlushCaches TODOJohn Reck
Change-Id: Id05429e98ffe0858275b32c41fb215c1d8d930b2
2014-05-23Bag of scheduling tweaksJohn Reck
Bug: 15118640 * Prevent over-stuffing the queue by dropping frames * Prevent double-drawing in one pulse by RT by deferring vsync registration until post-draw so that it catches the next vsync pulse instead of the current one * Bias vsync race condition towards the UI thread * Fix queueDelay to actually work Change-Id: Ibf584258bd93ebcbba058bd976dc8b307f1c6155
2014-05-21Define light position (using new lighting spec) in JavaChris Craik
Also updates the relative shadow strengths. Change-Id: I6cac7275d38df98aea9f0dda463cd7207102986a
2014-05-07Implement TODO(romainguy)John Reck
Bug: 14277445 Change-Id: Id52d6f7fcc023000adcc440bd4da67d9a673536b
2014-05-05Implement loadSystemPropertiesJohn Reck
Bug: 14087580 Change-Id: I7153f38c70b554a78c56a0e794da929fc401ee7a
2014-05-05Make RenderNodeAnimator and WebView play niceJohn Reck
Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
2014-05-05TIME LORD!John Reck
Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
2014-04-29RenderThread animator supportJohn Reck
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-04-14Fence on destructionJohn Reck
Bug: 14052927 destroyCanvasAndSurface() needs a fence as when it returns the underlying BufferQueue is going to be released from under the render thread. Change-Id: I0147a1d5ec5adf0239c761ef22f65cd8c8a137df
2014-04-10Make attachFunctor blockingJohn Reck
Bug: 13930200 Change-Id: I9b0cf92fd16bb30baa09b6f8d7ae22a8b2a7fd80
2014-04-09Merge "Switch DisplayListData to a staging model"John Reck
2014-04-09Switch DisplayListData to a staging modelJohn Reck
Bug: 13912977 Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
2014-04-09Fix ThreadedRenderer.setEnabled()John Reck
Bug: 13914116 Fixes lifecycle issues around setEnabled where ThreadedRenderer was reporting as being enabled before it had a Surface. This is incorrect. Also fix some EGL lifecycle issues Change-Id: I12ebb279707f9b533a570b61d68735d858b560bf
2014-04-07Veto pool TODOJohn Reck
Change-Id: I50067dba630b75aa539e4406cfc15f66949684b3
2014-04-07Fence on draws that are reportedJohn Reck
Change-Id: Ib2ec16cbda40f40df1710bdc868869ea8301f17e
2014-03-28Add invokeFunctorJohn Reck
Change-Id: I09e675d3e02e3e528642175ada00b2b17fab7652
2014-03-27Async drawing!John Reck
Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
2014-03-12Rename DisplayList->RenderNodeJohn Reck
Change-Id: Id42e23c9a1a6eb6eaeafef707ced7fa6887b03d0
2014-03-10DisplayList lifecycle changesJohn Reck
Bug: 13360343 Change DisplayList to be more forgiving with weaker lifecycle requirements. Is more self-managed with a strong reference to the renderer it needs Also fix naming mismatch Change-Id: I5c89453a72a52954f6f959f0846199705dbb6476
2014-03-04DisplayList overhaulJohn Reck
Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
2014-02-19Support HardwareLayers in RenderThreadJohn Reck
Also has a few HardwareLayer lifecycle fixes Change-Id: I6308cb05f8f199eed72189ace768013a46815941
2014-02-11Implement missing safelyRun() on ThreadedRendererJohn Reck
Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
2014-01-27Native-side proxyJohn Reck
Remove RemoteGLRenderer Remove reflection-based control Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985