summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/DrawFrameTask.cpp
AgeCommit message (Collapse)Author
2016-04-18Don't reuse LOST_SURFACE for stoppedJohn Reck
Fixes: 28218991 If a draw() happens while we are stopped, don't report that the surface is lost because this will prompt a tear-down of the surface which isn't desired. It can result in ViewRootImpl ending up in an internally-bad state in this case. Change-Id: If3eb8c6bc8702299e5330bc0917952624dce3b7e
2016-04-14Revert "Revert "Make stopped state a first-class thing""John Reck
This reverts commit eab3f2658aa41d37c3b05d49a2ce4e3f4ed85399. Fixes first-frame issue, mReportNextDraw needs to override mStopped Fixes: 28118961 Fixes: 27286867 Change-Id: I5c811759637d08ba9f3b342016d1b3006986d5a2
2016-04-11Merge "Revert "Make stopped state a first-class thing"" into nyc-devJohn Reck
2016-04-11Revert "Make stopped state a first-class thing"John Reck
This reverts commit 945961f78a78eced823d5ba78505c781b079703d. Change-Id: Iebc1d49fac33380233f8785fc39bec6c30a5e714
2016-04-08Merge "Make stopped state a first-class thing" into nyc-devJohn Reck
2016-04-07Make stopped state a first-class thingJohn Reck
Bug: 27286867 WindowManager has committed to stopped state controlling the lifecycle of the Surface, so make that a first-class thing in HWUI as well. This makes it more resistent to things like a rogue updateSurface() happening while mStopped=true, leading to bad things down the line. Instead let the surface be changed/updated as often as desired, and just block any attempt to draw on that surface. Also removes some unnecessary makeCurrent()s, as EglManager ensures that we *always* have a valid GL context now (using a pbuffer surface if there is no window surface set) Change-Id: Iead78ddebc7997e8fdb0c9534836352f5e54b9bd
2016-04-07Fix some edge casesJohn Reck
Bug: 27709981 This desperately needs a refactor, but to keep the current (really needed & nice) behavior of dispatching after sync finishes would be difficult to handle cleanly without lots of ripping so... #yolo Change-Id: I831a06c6ae7412a062720d68ecbe3085190f0258
2015-12-16Add TextureView support to new renderer/reordererChris Craik
bug:22480459 Change-Id: I2e4c0bc6b904706132f3f5087ededc9cac9b40fb
2015-10-28Simplify TreeInfoChris Craik
Change-Id: I8f05e9046236d607016b6c2bb77a333cfb47ba47
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-07-21am a2fd3234: am 3bfe4b47: am 1cd5afc1: am 9317d0b9: am 1fddd3ef: Merge "Mark ↵John Reck
isInUse per-window" into mnc-dev * commit 'a2fd32348b06b22963fcc7c33179fddbd2394dbf': Mark isInUse per-window
2015-07-21Mark isInUse per-windowJohn Reck
Bug: 22509159 Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
2015-07-14Clean up unncessary definesChris Craik
LOG_TAG and TRACE_TAG are already defined in the makefile Change-Id: I9e53e3dacbe018441edd74cb7c8c90846defee74
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-05-12Unify DrawProfiler/JankStatsJohn Reck
Bug: 20822400 Change-Id: I24345c3120440bfce14e8cbe7e880b39f10b744a
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-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-11-07Have an actual fallback if the surface is lostJohn Reck
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
2014-07-25Revert "Dump RenderThread stack on unresponsive"Chris Craik
bug:16563871 bug:16565900 bug:16555847 bug:16551643 This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280. Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
2014-07-23Dump RenderThread stack on unresponsiveJohn Reck
Bug: 16408405 Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
2014-06-26Animator refactoring & fixesJohn Reck
Tweaks animators to have less unnecessary refcounting Pull animator management out into seperate class More control to tweak animator lifecycle, such as doing Java-side handling of start delay by attaching but not starting the animator Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
2014-06-23Merge "No-fail invokeFunctor"John Reck
2014-06-23No-fail invokeFunctorJohn Reck
Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
2014-06-23Enable asynchronous RenderThread for WebViewBo Liu
BUG: 12179257 Change-Id: Ib7358dc84a0a58020d178d10b324b9631848c06d
2014-06-12Move LayerType to RenderNodeJohn Reck
Change-Id: Icb79a5015cb0362b1f3a66d09007450730135a97
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-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-05Make RenderNodeAnimator and WebView play niceJohn Reck
Change-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a
2014-05-05TIME LORD!John Reck
Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
2014-05-02Add CanvasProperty for drawCircleJohn Reck
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
2014-04-29RenderThread animator supportJohn Reck
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-04-14Fix issue with bitmap uploadingJohn Reck
Bug: 13912749 Change-Id: Ic23fa1d280118dc93dc2716a4a24cc0bbbdca595
2014-04-10Remove sync flushJohn Reck
Bug: 13952590 It was attempting to flush state changes after the canvas was destroyed, which caused layer updates to crash. Due to the removal of SetDisplayListData, the sync mode isn't able to do anything ever, so remove it. Change-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e
2014-04-09Merge hasFunctors & pushStaging into prepareTreeJohn Reck
Bug: 13902607 Fixes synchronous mode for WebView in HardwareLayers Change-Id: I90de1e26dcfd9b75cc2f03bac72705fc23237b68
2014-04-09Switch DisplayListData to a staging modelJohn Reck
Bug: 13912977 Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
2014-04-07Refcount RenderNodeJohn Reck
Change-Id: I7a86db8acc2b78ef33d987a43a119f5933d7d752
2014-03-27Async drawing!John Reck
Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01