summaryrefslogtreecommitdiffstats
path: root/libs/hwui/ProgramCache.h
Commit message (Collapse)AuthorAgeFilesLines
* Move all debug flags in a single place.Romain Guy2010-11-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Optimize FBO drawing with regions.Romain Guy2010-11-021-3/+3
| | | | | | | | | 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
* Color filters were ignored by the program cache fast path.Romain Guy2010-10-131-1/+1
| | | | Change-Id: I08f2f02d356234a674be778d088e0558fd49c849
* Don't draw fully transparent views/primitives.Romain Guy2010-10-111-1/+1
| | | | Change-Id: Icd7d8ef1f57b51a24faf32f7004125e6300d4fdc
* Optimize GLSL shaders.Romain Guy2010-10-111-11/+51
| | | | Change-Id: I9a5e01bced63d8da0c61330a543a2b805388a59d
* Add support for SweepGradient in the GL renderer.Romain Guy2010-09-201-8/+22
| | | | Change-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022
* Correct implementation of saveLayer().Romain Guy2010-09-121-2/+11
| | | | Change-Id: I5375126636913e0a84f2d6bbd0ebe40d2e4f2763
* Add support for advanced blend modes with the framebuffer.Romain Guy2010-09-091-2/+9
| | | | | | | This adds the ability to blend with the framebuffer using Darken, Lighten, Add, Multiply, Overlay and Screen. Change-Id: Iae01a53797d4ad39c373cba6ff2a42293129da1a
* Use only one GL context per process, share chaches.Romain Guy2010-08-241-1/+0
| | | | Change-Id: Ieabaa25338d2f4b8d4fd90e7401ad6e7452eae11
* Delete shaders after a compile error. Also disable extra logging.Romain Guy2010-08-111-1/+1
| | | | Change-Id: I9b1558b0feac3d9b2cca926feeaf73921664cc73
* Add extra blending modes.Romain Guy2010-08-101-5/+5
| | | | | | | | | | | | This change adds the following blending modes for shaders and color filters: Add Multiply Screen Overlay Darken Lighten Change-Id: Iff22f5ce6041b43c71b1857d73013f5010ab3413
* Add support for ColorFilters.Romain Guy2010-08-021-1/+3
| | | | | | Color filters are fully supported and can be used with shaders. Change-Id: Id90ccf1c81cb462f2431f366f3f8f710d7971e04
* Refactor Skia shaders handling.Romain Guy2010-07-301-0/+1
| | | | | | | | With this change, Skia shaders can easily be applied to any mesh. This change also supports ComposeShader. For instance, this can be used to blend a gradient and a bitmap togehter and paint a string of text with the result. Change-Id: I701c2f9cf7f89b2ff58005e8a1d0d80ccf4a4aea
* Moved all the rendering code to the new shader generator.Romain Guy2010-07-291-3/+37
| | | | | | | | | | | The generator supports features that are not yet implement in the renderer: color matrix, lighting, porterduff color blending and composite shaders. This change also adds support for repeated/mirrored non-power of 2 bitmap shaders. Change-Id: I903a11a070c0eb9cc8850a60ef305751e5b47234
* Generate shaders to cover all possible cases.Romain Guy2010-07-271-0/+155
With this change, all the vertex and fragment shaders used by the GL renderer are now generated based on a program description supplied by the caller. This allows the renderer to generate a large number of shaders without having to write all the possible combinations by hand. The generated shaders are stored in a program cache. Change-Id: If54d286e77ae021c724d42090da476df12a18ebb