17035b0211a3c9d45ea46a99217a6acbe76e8fbe |
|
03-Sep-2014 |
John Reck <jreck@google.com> |
Have destroy call freePrefetchedLayers Bug: 17208461 There's a potential race condition between HardwareRenderer.destroy() being called (which calls destroyCanvasAndSurface()) and the renderer being finalized (which is what calls freePrefetchedLayers), during which time it's possible we get a TRIM_MEMORY_COMPLETE and destroy the EGL context. Fix this race condition by moving stopDrawing() and freePrefetchedLayers() into destroyCanvasAndSurface() where they should have been in the first place. Also, if we hit the assertion failure, dump the current state of Caches to try and provide more context for the failure. Change-Id: Ife0ba3562041e8b08e87e3e13640472b3004eed6
/frameworks/base/libs/hwui/LayerCache.h
|
3b20251a355c88193c439f928a84ae69483fb488 |
|
23-Jun-2014 |
John Reck <jreck@google.com> |
No-fail invokeFunctor Bug: 15513308 Bug: 15449247 Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
/frameworks/base/libs/hwui/LayerCache.h
|
8d4aeb7111afac0c3c7e56d4ad5d92f9cfce2ffd |
|
13-Feb-2013 |
Romain Guy <romainguy@google.com> |
Add a render buffer cache to reuse stencil buffers Bug #7146141 This new cache is used in a similar way to LayerCache. It helps reuse already allocated stencil buffers and thus avoid churning memory on every frame. Change-Id: I19551d72da52c40039e65904563600e492c8b193
/frameworks/base/libs/hwui/LayerCache.h
|
2055abaa0a590c35e27e1ae2e7d7cfccdfb98b59 |
|
19-Jan-2013 |
Romain Guy <romainguy@google.com> |
Allow layers with a stencil buffer to be resized on the fly Bug #7146141 This change moves the resizeLayer() from LayerCache (where it should never have been anyway) to Layer. This makes a little more sense. Change-Id: I8b2f9c19c558e738405a58b9e71ec5799fc6be88
/frameworks/base/libs/hwui/LayerCache.h
|
e3a9b24b5e3f9b2058486814a6d27729e51ad466 |
|
08-Jan-2013 |
Romain Guy <romainguy@google.com> |
Add plumbing for better text scaling Fonts are now described by a transform matrix. This lead to switching from a vector to a hashmap. This change therefore adds new comparators and hash computations to Font. Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
/frameworks/base/libs/hwui/LayerCache.h
|
5baa3a62a97544669fba6d65a11c07f252e654dd |
|
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
/frameworks/base/libs/hwui/LayerCache.h
|
28d8ff6dbcc1b137131c70b72b4dbd211db7fbd9 |
|
22-Aug-2011 |
Romain Guy <romainguy@google.com> |
Move constants to the correct header Change-Id: Id4bd14f72487bd7156cd2e1930eaf97b47896273
/frameworks/base/libs/hwui/LayerCache.h
|
e5df231434357424cea8d2b8d0cdf31253a98110 |
|
12-Aug-2011 |
Romain Guy <romainguy@google.com> |
Make sure we correctly copy caches keys. Bug #5136067 Change-Id: I366e840bef44415436dc7b13d89cfb610feed663
/frameworks/base/libs/hwui/LayerCache.h
|
eea60692b060737faeaa02bb30f5b79e2202b482 |
|
27-Jul-2011 |
Romain Guy <romainguy@google.com> |
Improve layers debugging Change-Id: Ia4950dd5f0e0a224ecb69c581d33aa4f32260a7c
/frameworks/base/libs/hwui/LayerCache.h
|
9ace8f5e79e76893fe4ca9e4d10f6c4056330485 |
|
08-Jul-2011 |
Romain Guy <romainguy@google.com> |
Use NEAREST filtering for layers whenever possible. Change-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e
/frameworks/base/libs/hwui/LayerCache.h
|
09b7c91de73b59aa3f679b3ae3ba299f82ec9f8a |
|
03-Feb-2011 |
Romain Guy <romainguy@google.com> |
Allocate layers from the layers pool. Bug #3413433 This change will be beneficial to Launcher to avoid hiccups when swiping pages of icons. When a layer is discarded, it is kept in the layers pool instead of being destroyed right away. This favors memory reuse over allocations. Change-Id: Ifb6944ba83d6ceb67c331527c0827b26ce648eb1
/frameworks/base/libs/hwui/LayerCache.h
|
c15008e72ec00ca20a271c3006dac649fd07533b |
|
10-Nov-2010 |
Romain Guy <romainguy@google.com> |
Move all debug flags in a single place. This change also adds a new memory usage flag. When turned on, the following is printed after every frame: D/OpenGLRenderer( 3723): Current memory usage / total memory usage (bytes): D/OpenGLRenderer( 3723): TextureCache 3766680 / 20971520 D/OpenGLRenderer( 3723): LayerCache 3538944 / 8388608 D/OpenGLRenderer( 3723): GradientCache 135168 / 524288 D/OpenGLRenderer( 3723): PathCache 41180 / 4194304 D/OpenGLRenderer( 3723): TextDropShadowCache 0 / 2097152 D/OpenGLRenderer( 3723): FontRenderer 0 262144 / 262144 D/OpenGLRenderer( 3723): FontRenderer 1 262144 / 262144 D/OpenGLRenderer( 3723): FontRenderer 2 262144 / 262144 D/OpenGLRenderer( 3723): Other: D/OpenGLRenderer( 3723): FboCache 2 / 12 D/OpenGLRenderer( 3723): PatchCache 31 / 512 D/OpenGLRenderer( 3723): Total memory usage: D/OpenGLRenderer( 3723): 8268404 bytes, 7.89 MB This should help tracking possibe memory issues. Change-Id: I83f483ca1d2dbef904829bce368e33fe5503e8d6
/frameworks/base/libs/hwui/LayerCache.h
|
5b3b35296e8b2c8d3f07d32bb645d5414db41a1d |
|
28-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file. Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
/frameworks/base/libs/hwui/LayerCache.h
|
e91080581f467d55913a8c5ab53dedc2dab2e5b6 |
|
13-Oct-2010 |
Romain Guy <romainguy@google.com> |
Tweak layers caching for better performance in Launcher. Change-Id: Ia6e67699d98f69c8a93385b3ecbdd814c7b16921
/frameworks/base/libs/hwui/LayerCache.h
|
8550c4c7b5952b7a4e1e0ede95c9492d03099a13 |
|
09-Oct-2010 |
Romain Guy <romainguy@google.com> |
Better cache for layers, reduce memory usage and increase framerate. Change-Id: I5ff864a361db4791bd5ff6be716f7ce692ef572d
/frameworks/base/libs/hwui/LayerCache.h
|
eb99356a0548684a501766e6a524529ab93304c8 |
|
06-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize saveLayer() when the clip flag is set. This speeds up applications, especially Launcher.
/frameworks/base/libs/hwui/LayerCache.h
|
f607bdc167f66b3e7003acaa4736ae46d78c1492 |
|
11-Sep-2010 |
Romain Guy <romainguy@google.com> |
Correct implementation of saveLayer(). Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
/frameworks/base/libs/hwui/LayerCache.h
|
fb8b763f762ae21923c58d64caa729b012f40e05 |
|
24-Aug-2010 |
Romain Guy <romainguy@google.com> |
Use only one GL context per process, share chaches. Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
/frameworks/base/libs/hwui/LayerCache.h
|
f7f93556c8fcc640ab5adef79d021a80a72a645a |
|
09-Jul-2010 |
Romain Guy <romainguy@google.com> |
Draw n-patches using OpenGL. Currently only tested with title bars and buttons. Change-Id: I8263a9281898dc0e943b1b8412827fe55639b9d6
/frameworks/base/libs/hwui/LayerCache.h
|
f18fd99b5c182329cd8936a9611f0103d8ece44a |
|
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Create FBOs in LayerCache. This moves a bit of code away from OpenGLRenderer and matches what happens with the TextureCache. Change-Id: I3c67f54f83d7240770daa015861c0e75a1dd8c42
/frameworks/base/libs/hwui/LayerCache.h
|
6c81893c626499e58c8eeb20d6c35ec4e1ce808b |
|
08-Jul-2010 |
Romain Guy <romainguy@google.com> |
Simpler way to deal with the FBO multi-cache. This change removes the need for the SortedList and instead just add a generated id to each FBO stored in the cache. This is an artificial way to store several FBOs with the same dimensions. Change-Id: I9638364e9bdc0f2391261937a0c86096f20505bf
/frameworks/base/libs/hwui/LayerCache.h
|
5f0c6a483900f3989f4d2a8f913cf5b6a9777d03 |
|
07-Jul-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO cache. This change introduces a new generational cache called GenerationMultiCache that can store several values with the same key. This can be used to use multiple layers of the same size at the same time, without recreating them over and over again. Change-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac
/frameworks/base/libs/hwui/LayerCache.h
|
dda570201ac851dd85af3861f7e575721d3345da |
|
06-Jul-2010 |
Romain Guy <romainguy@android.com> |
Add a layer (FBO) cache. The cache is used to draw layers so that a new texture does not have to be recreated every time a call to saveLayer() happens. The FBO cache used a KeyedVector, which is a bad idea. The cache should be able to store several FBOs of the same size (this happens a lot during scrolling with fading edges for instance.) This will be changed in a future CL. Change-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726
/frameworks/base/libs/hwui/LayerCache.h
|