summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderThread.cpp
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-27Move scissor state to RenderStateChris Craik
Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
2015-01-27am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."Yabin Cui
automerge: 3a10a67 * commit '3a10a672f05735be46256617b8a61cdb1e589008': kill HAVE_PTHREADS.
2015-01-27am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."Yabin Cui
* commit 'f70492898b3efa3c5f480f195062fa6f293bc764': kill HAVE_PTHREADS.
2015-01-26kill HAVE_PTHREADS.Yabin Cui
Bug: 19083585 Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
2015-01-15am cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck
* commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5': Vsyncs are hard
2015-01-14Vsyncs are hardJohn Reck
Bug: 18866485 Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
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-19Tweak RT-animator schedulingJohn Reck
Bug: 18226391 The issue occurs as a result of a dispatchFrame itself taking longer than 12ms, the alloted budget. The result is that a vsync request (which occured at the end) would miss the vsync that occured 1ms prior to the end of the frame. As a result it would end up waiting for the following vsync, essentially dropping to 30fps even though 60 could have been sustained. Fix this with a few tweaks. First, adjust the UI thread's delay bias from (now + 4ms) to (vsync + 4ms), this prevents RT animators from slowly drifting if the vsync occurs mid-task. Second, request a vsync preemptively prior to running callbacks. This way if any callbacks needs the next vsync and it takes "too long", we will catch that vsync. Finally, fix an issue where the display event queue was always drained & rejected at the end of a task loop. Instead, drain and reject all stale vsyncs. This still prevents the issue of both UI thread & RT thread trying to drive 2 frames in a single pulse, but also allows RT to notice that it missed a vsync pulse it needed and that it should speed-up a bit in response Change-Id: I9d6be037737e9283297898cac2e3563453e797cd
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-11-22Revert "Frameworks/base: Unused parameters in hwui"John Reck
This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507. Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
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-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-08-15Define shadow casting behavior within layersChris Craik
bug:15860114 Savelayers and HW layers both now support shadow casting. For save layers, the light source should always be correct, for HW layers, the light source position is set when the layer is created, and updated when it is resized. Change-Id: Ie85567dd43c2bb0a0b08fd0bd4db41efa793ac2b
2014-08-15Fix hwuitask & RT prioritiesJohn Reck
Bug: 15993695 Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
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-23No-fail invokeFunctorJohn Reck
Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
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-05TIME LORD!John Reck
Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
2014-04-29RenderThread animator supportJohn Reck
Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
2014-01-29Fix nano vs. millisJohn Reck
Change-Id: I54f752bb7faab5fa66c36252c9f7cf8f5c9939c9
2014-01-27Native-side proxyJohn Reck
Remove RemoteGLRenderer Remove reflection-based control Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
2013-12-19Track Looper decoupling from ALooperBrian Carlstrom
Change-Id: I83d1f5f6600019268c53706b7bf6d94b84931e18
2013-12-09RenderThread workJohn Reck
Hacky prototype needs a private API to enable Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849