summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread
Commit message (Collapse)AuthorAgeFilesLines
* Revert "A bunch more cleanups"John Reck2015-04-172-3/+3
| | | | | | This reverts commit c294d128d03bc9a9982b273a82516c04583438cc. Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
* A bunch more cleanupsJohn Reck2015-04-142-3/+3
| | | | | | | | Switch a few places to using android::canvas instead of SkCanvas as well which eliminated some JNI Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
* Merge "Add GraphicsStatsService"John Reck2015-03-304-12/+23
|\
| * Add GraphicsStatsServiceJohn Reck2015-03-274-12/+23
| | | | | | | | | | | | | | | | | | | | | | 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
* | resolved conflicts for merge of 4142f026 to masterJohn Reck2015-03-241-0/+1
|\ \ | |/ |/| | | Change-Id: Iabe3aa0ac6911a26d2ba7219f18332897276ed6f
| * Don't create unnecessary RenderThread's instance when executing 'dumpsys ↵youngmin0822.lee2015-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfxinfo' To obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer(). In there, 1. RenderTask is created for getting DisplayList Commands in RenderNode. 2. staticPostAndWait() is called 3. RenderThread's instance is created by 'RenderThread::getInstance()' in staticPostAndWait() In case of the service, they don't use HW Acceleration, so don't need RenderThread. But, by the process of No.3, RenderThread is created for all process. As we know, RenderThread never be destroyed while the process is alive. This patch checks RenderThread instance before the creation of RenderTask. And, there is no one, just return to prevent the unnecessay creation of it. Change-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870
* | Cleanups & simplificationsJohn Reck2015-03-118-28/+35
| | | | | | | | Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
* | C++11 style fixupsJohn Reck2015-02-203-4/+6
| | | | | | | | Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
* | Initial attempt at jank-tracking stat collectionJohn Reck2015-02-2010-54/+133
| | | | | | | | | | | | Is a bit naive, perhaps overly aggressive, but sorta works Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
* | Merge "Add a WAIT_FOR_GPU_COMPLETION option"John Reck2015-01-302-0/+20
|\ \
| * | Add a WAIT_FOR_GPU_COMPLETION optionJohn Reck2015-01-302-0/+20
| | | | | | | | | | | | Change-Id: I18d526120651676109200bfd5da87cafcd7e3d13
* | | Refactor blending and texture gl stateChris Craik2015-01-301-3/+0
|/ / | | | | | | Change-Id: Ia6b3c8b2afd3dfcee7f3ce401d846b789612054a
* | 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-273-14/+14
| | | | | | | | 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
* | | Remove DisplayListLogBufferChris Craik2015-01-212-5/+13
| | | | | | | | | | | | Change-Id: I001832fc444b6d532f4a382e0a31cc1d8956dbd8
* | | am cefeb34e: am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck2015-01-151-0/+8
|\ \ \ | |/ / | | | | | | | | | * commit 'cefeb34e4866209e2ccf4c520919fe31a3f1aeb5': Vsyncs are hard
| * | am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck2015-01-151-0/+8
| |\ \ | | | | | | | | | | | | | | | | * commit '2c9f86aa21b8d7ea6a77eaca9a49ccdb31245129': 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-059-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-232-3/+2
| | | | | | | | | | | | | | | | Change-Id: I347904b25e51fcc7de14b1e72f1acd0f6ba26f3f
* | | | CleanupChris Craik2014-12-221-7/+0
| | | | | | | | | | | | | | | | Change-Id: I91ffb9c66697741116fdeaa31abdf6cfd79155df
* | | | am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-devJohn Reck2014-12-194-15/+22
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | automerge: ed3c296 * commit 'ed3c2962be1e2966c3b46f20e81d2902a8302d8b': Tweak RT-animator scheduling
| * | | am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-devJohn Reck2014-12-194-15/+22
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '165fb8f5aa0709a8dc35f99a9b81f6906452a648': Tweak RT-animator scheduling
| | * | Tweak RT-animator schedulingJohn Reck2014-12-194-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Fix styleJohn Reck2014-12-122-3/+3
| | | | | | | | | | | | | | | | Change-Id: I7227b0eac126bf470ed50249a7809b845872983b
* | | | resolved conflicts for merge of d67bb501 to masterYohann Roussel2014-12-111-1/+2
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: I40698ce1e382cb41eec7af5ea49ac0e2f997d555
| * | | am eb2dcc79: Merge "Don\'t preload textures for AssetAtlas" into lmp-mr1-devJohn Reck2014-12-111-1/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | automerge: e4a6ed9 * commit 'e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7': Don't preload textures for AssetAtlas
| | * | Don't preload textures for AssetAtlasJohn Reck2014-12-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18317479 RenderNode::prepareSubTree calls prefetchAndMarkInUse on every bitmapResoruce in the DisplayList. However, this resulted in textures being uploaded for bitmaps that would be drawn from the AssetAtlas instead. To fix this we teach TextureCache about the AssetAtlas so that calls to TextureCache return the Texture from AssetAtlas if it exists. Thus usage of AssetAtlas is now purely to allow for further optimizations via draw merging instead of a requirement to get any benefit at all. Change-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200
* | | | resolved conflicts for merge of a75b0ad3 to masterJohn Reck2014-12-046-12/+13
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: I32a2d129c556407727ada909daa6470309d42499
| * | | resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aospJohn Reck2014-12-046-12/+13
| |\ \ \ | | |/ / | | | | | | | | Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
| | * | Resume RT-animations after a pauseSurfaceJohn Reck2014-12-036-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-223-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
* | | | resolved conflicts for merge of 220c3f4f to masterAndreas Gampe2014-11-213-7/+9
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
| * | | resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-213-7/+9
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
| | * | | Frameworks/base: Unused parameters in hwuiAndreas Gampe2014-11-213-7/+9
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-182-0/+4
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit '842697a3602204036e991cfea8b74da3df6e7f14': Trace some interesting events
| * | | am decc26df: am f0f68117: Merge "Trace some interesting events" into lmp-mr1-devJohn Reck2014-11-182-0/+4
| |\ \ \ | | | |/ | | |/| | | | | | | | | * commit 'decc26df39b734ca1cbaccda1cbe3b355eba6898': Trace some interesting events