summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | * | Trace some interesting eventsJohn Reck2014-11-172-0/+4
| | | | | | | | | | | | | | | | | | | | Bug: 18337099 Change-Id: Ie2e60da2b9f06e0368061c944d8123ab6903355c
| * | | resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-102-0/+8
| |\ \ \ | | |/ / | |/| / | | |/ Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
| | * Frameworks/base: Wall Werror in libs/hwuiAndreas Gampe2014-11-102-0/+8
| | | | | | | | | | | | | | | | | | Turn on -Wall -Werror in libs/hwui. Fix errors. Change-Id: I74962d08c889712dacbd0d86d6760fc10802b6bd
* | | resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-102-0/+8
| | | | | | | | | | | | | | | | | | (cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b) Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
* | | am f1923c36: am 8dda03a0: am ca93f69c: Merge "Have an actual fallback if the ↵John Reck2014-11-074-0/+14
|\ \ \ | |/ / | | | | | | | | | | | | | | | surface is lost" into lmp-mr1-dev * commit 'f1923c368c5c08a477b9f94dea6a499798d91d4f': Have an actual fallback if the surface is lost
| * | Have an actual fallback if the surface is lostJohn Reck2014-11-074-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Remove status return from all uirenderer::Renderer functionsTom Hudson2014-11-041-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the interface closer to android::Canvas. The only use of return values was in the OpenGLRenderer subclass; that is replaced with an internal dirty flag: returned from finish(), checked by CanvasContext. This is part of a series of CLs to refactor the Graphics JNI bindings. BUG:15672762 R=djsollen@google.com,ccraik@google.com Change-Id: Ifd533eb8839a254b0d3a5d04fc5a2905afdfc89e
* | | am e05575e9: am a8d83d63: Merge "Layer changes" into lmp-mr1-dev automerge: ↵John Reck2014-10-316-24/+52
|\ \ \ | |/ / | | | | | | | | | | | | | | | a51fba0 * commit 'e05575e9c36850d8cfe49396ac9a1372511b12bf': Layer changes
| * | Layer changesJohn Reck2014-10-316-24/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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