summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread/RenderThread.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup propertiesChris Craik2015-05-051-0/+1
| | | | | | | | | | | | bug:19967854 Separate properties from Caches, into static, RenderThread-only class. Also rewrites the means for java to set properties to correctly handle threading, and adds an override for profile bars so that SysUi doesn't clutter the screen with them. Change-Id: I6e21a96065f52b9ecc49d1a126244804ba106fa9
* Cleanups & simplificationsJohn Reck2015-03-111-6/+9
| | | | Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
* Initial attempt at jank-tracking stat collectionJohn Reck2015-02-201-0/+6
| | | | | | Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
* Move scissor state to RenderStateChris Craik2015-01-271-5/+5
| | | | Change-Id: I1227a3886fb24e4d9fad79fca469794f06cfb15e
* am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."Yabin Cui2015-01-271-5/+1
|\ | | | | | | | | | | | | automerge: 3a10a67 * commit '3a10a672f05735be46256617b8a61cdb1e589008': kill HAVE_PTHREADS.
| * am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."Yabin Cui2015-01-271-5/+1
| |\ | | | | | | | | | | | | * commit 'f70492898b3efa3c5f480f195062fa6f293bc764': kill HAVE_PTHREADS.
| | * kill HAVE_PTHREADS.Yabin Cui2015-01-261-5/+1
| | | | | | | | | | | | | | | Bug: 19083585 Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
| | * Revert "Frameworks/base: Unused parameters in hwui"John Reck2014-11-221-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507. Change-Id: I3574a936a39a96314db6437d0a1eb58d260d893d
| | * Frameworks/base: Unused parameters in hwuiAndreas Gampe2014-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck2015-01-151-0/+8
|\ \ \ | |/ / | | | | | | | | | * commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5': Vsyncs are hard
| * | Vsyncs are hardJohn Reck2015-01-141-0/+8
| | | | | | | | | | | | | | | Bug: 18866485 Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
* | | Add overrides and switch to nullptr keyword for all filesChris Craik2015-01-051-10/+10
|/ / | | | | | | | | | | | | Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
* | Tweak RT-animator schedulingJohn Reck2014-12-191-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Resume RT-animations after a pauseSurfaceJohn Reck2014-12-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Layer changesJohn Reck2014-10-311-1/+1
|/ | | | | | | | | | | | 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
* Define shadow casting behavior within layersChris Craik2014-08-151-2/+0
| | | | | | | | | | | | 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
* Fix hwuitask & RT prioritiesJohn Reck2014-08-151-0/+6
| | | | | | Bug: 15993695 Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
* Revert "Dump RenderThread stack on unresponsive"Chris Craik2014-07-251-17/+0
| | | | | | | | | | bug:16563871 bug:16565900 bug:16555847 bug:16551643 This reverts commit ca66e06b9db6e6c921662886e4b7ddd02ac92280. Change-Id: I23e8d4eaf828b1b298126ba5f36e4e8e7451706a
* Dump RenderThread stack on unresponsiveJohn Reck2014-07-231-0/+17
| | | | | | Bug: 16408405 Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
* No-fail invokeFunctorJohn Reck2014-06-231-2/+13
| | | | | | | Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
* Bag of scheduling tweaksJohn Reck2014-05-231-13/+50
| | | | | | | | | | | | | 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
* TIME LORD!John Reck2014-05-051-4/+3
| | | | | | Bug: 14444180 Change-Id: I68bec3807c4d1c88d5af1aec2fe6907d60b5f2f3
* RenderThread animator supportJohn Reck2014-04-291-3/+120
| | | | Change-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084
* Fix nano vs. millisJohn Reck2014-01-291-2/+3
| | | | Change-Id: I54f752bb7faab5fa66c36252c9f7cf8f5c9939c9
* Native-side proxyJohn Reck2014-01-271-25/+120
| | | | | | | Remove RemoteGLRenderer Remove reflection-based control Change-Id: If17c2bbb61c7141986d88c4763def77ed1074985
* Track Looper decoupling from ALooperBrian Carlstrom2013-12-191-1/+1
| | | | Change-Id: I83d1f5f6600019268c53706b7bf6d94b84931e18
* RenderThread workJohn Reck2013-12-091-0/+86
Hacky prototype needs a private API to enable Change-Id: I21e0ddf3cdbd38a4036354b5d6012449e1a34849