aa42c9af6ea2158a685ebf9b338e6d2355712268 |
|
17-Oct-2012 |
Chet Haase <chet@google.com> |
Correctly adjust clip regions that lie offscreen We were clamping the x/y location of the scissor to 0,0, but not adjusting the width/height appropriately. This fix adjusts width/height and also clamps them to 0 to correctly clip out offscreen operations. Issue #7221524 Top left and top right portions of the screen blanks out after some time Change-Id: I47f23336ea612409ed86652b9a68e272819ef00e
/frameworks/base/libs/hwui/Caches.cpp
|
50ae66a554126fadee2054e0d01a9e57150cedb5 |
|
07-Oct-2012 |
Romain Guy <romainguy@google.com> |
Work around a possible driver bug Bug #7296475 When re-enabling the scissor the driver seems to ignore the already existing scissor box. This change resets the scissor box when the test state changes. Change-Id: I3a68433164f99d21fbab769a26c56fe416c1539a
/frameworks/base/libs/hwui/Caches.cpp
|
6a2d17f71342f981c9df1dc5beff33e30eb3ae2b |
|
30-Sep-2012 |
Chet Haase <chet@google.com> |
Fix texture corruption When memory gets low on a device, activities flush everything they can. Hardware-accelerated activites, such as Launcher, flush GL resources and destroy the GL context. However, some resources were still hanging around, due to deferred destruction policies (we don't delete layers until the DisplayLists they are in are finalized, to ensure we don't deref deleted objects). This meant that we were referring to obsolete GL data in these objects. in particular, it meant that we might come around later, after a new GL context was created, and delete a texture object that was incorrect. We use the layer's "texture id" to refer to the texture underlying the layer. But if there's a new GL context, then this texture ID is no longer valid, and we may be deleting the texture that a different object (layer, icon, whatever) is referring to, because the driver may return that same ID under the new GL context. The fix is to more aggressively delete things that we know will not be used again when the GL context is destroyed. In particular, we delete all resources being used by all DisplayLists at GL context destruction time. Issue #7195815 Textures corruption on all devices, in many apps Change-Id: I52d2d208173690dbb794a83402d38f14ea4c6c22
/frameworks/base/libs/hwui/Caches.cpp
|
a852ff3a4b637e8101c2f54e110467586fe604cf |
|
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Merge changes I9873540e,I4f6c38e3 into jb-mr1-dev * changes: Skia's ColorMatrix vector is in the 0..255 range not 0..1 Bug #7248980 Don't use the QCOM_tiled_rendering extension with functors Bug #7247880
|
54c1a64d5441a964890b44280e4457e11f4f924a |
|
28-Sep-2012 |
Romain Guy <romainguy@google.com> |
Don't use the QCOM_tiled_rendering extension with functors Bug #7247880 Change-Id: I4f6c38e37b953c58e6107097c613891a49dac766
/frameworks/base/libs/hwui/Caches.cpp
|
cb4d6009576cf08195dc23f341a3f4939c0878bb |
|
25-Sep-2012 |
Chris Craik <ccraik@google.com> |
Add stroke support to polygonal shape rendering bug:4419017 bug:7230005 - Adds support for stroke/strokeAndFill for shapes without joins - Fixes path-polygonization threshold calculation - Fixes rendering offset (now only used for points) - Several formatting fixes Change-Id: If72473dc881e45752e2ec212d0dcd1e3f97979ea
/frameworks/base/libs/hwui/Caches.cpp
|
17ef62cc1f9d092669af0fed465a9a77e0dc1a4f |
|
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
fix a possible dead-lock when clearing caches Bug: 7195815 Change-Id: I8e226b7ec445f9f4fe46ae216ef7cc41efc5a0fd
/frameworks/base/libs/hwui/Caches.cpp
|
54643d72f86d0ee0b23e3643ac9257d52ddfae6b |
|
26-Sep-2012 |
Mathias Agopian <mathias@google.com> |
make sure to destroy GL objects on the GL thread Bug: 7195815 Change-Id: I5bcac61cd0b903d1ccca0754fdb9cb1023efbe0f
/frameworks/base/libs/hwui/Caches.cpp
|
4285de3c8bc77856a2df98894f74bb7333f1d348 |
|
23-Sep-2012 |
Romain Guy <romainguy@google.com> |
Fix overdraw debug on QCOM Disable the use of the tiling extension when overdraw debug is turned on. Change-Id: Ib0a0b7d1998146aa0c7efef2d3822f9997efb123
/frameworks/base/libs/hwui/Caches.cpp
|
7c450aaa3caac2a05fcb20a177483d0e92378426 |
|
22-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add support for a new developer setting: overdraw debugging Change-Id: I350ba4486577c3289f82c20938f7a35138778727
/frameworks/base/libs/hwui/Caches.cpp
|
57b5268708c3b974296c7d4e58a02a957979224a |
|
21-Sep-2012 |
Romain Guy <romainguy@google.com> |
Optimize tiling management Bug #7186819 Change-Id: Iebc42a6e9c96ad5605fbbe1539aa887695d2e829
/frameworks/base/libs/hwui/Caches.cpp
|
2b7028eabac80cec170572bc0e945a1d4224e595 |
|
20-Sep-2012 |
Romain Guy <romainguy@google.com> |
Add support for QCOM_tiled_rendering Bug #7186819 This optional OpenGL extension can be used by tiled renderers to optimize copies from main memory to tiles memory. Change-Id: Id4a5d64e61ad17f50e773e8104b9bf584bb65077
/frameworks/base/libs/hwui/Caches.cpp
|
35643ddc689913f5b5f80ceed864470d987bd6cd |
|
19-Sep-2012 |
Romain Guy <romainguy@google.com> |
Minimize state changes when updating layers Change-Id: I407fcc80bd3178f9f09a3b379ceb7f7ce0749e08
/frameworks/base/libs/hwui/Caches.cpp
|
85ef80d8902afe8d26cb75fa7837fd9e6d019620 |
|
14-Sep-2012 |
Romain Guy <romainguy@google.com> |
Foundation for tiling optimization Change-Id: I4db32a4749f196472ba0dde7e102439d2ba4a3a7
/frameworks/base/libs/hwui/Caches.cpp
|
4ff0cf4b83605bff630c4e6f1fabe4f72a3f93a1 |
|
06-Aug-2012 |
Romain Guy <romainguy@google.com> |
Add new debug tool to track hardware layers updates You can setprop debug.hwui.show_layers_updates true to flash hw layers in green when they update. This is also a setting in the Dev. section of the settings app. Change-Id: Ibe1d63a4f81567dc1d590c9b088d2e7505df8abf
/frameworks/base/libs/hwui/Caches.cpp
|
211efea7376371ee755edd2ad03e83ef6eea464e |
|
01-Aug-2012 |
Romain Guy <romainguy@google.com> |
Add dithering to gradients Change-Id: Ic1208855bde3a254eca2fd7cef43e0f1318ce419
/frameworks/base/libs/hwui/Caches.cpp
|
8a4ac610e1aaf04931ac1af54b146a7fc8e66114 |
|
18-Jul-2012 |
Romain Guy <romainguy@google.com> |
Don't clear the dirty clip flag if it's not applied Bug #6833979 Change-Id: I0ea78b7f31a557a335de10d910d03b0520029080
/frameworks/base/libs/hwui/Caches.cpp
|
b1d0a4ed21168fefcb82232c8f22cb95d60acb85 |
|
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Refactor GammaFontRenderer This change is the first step to a shader-based text antialias gamma correction. Change-Id: I9eb02d4c56cb95d05219f712290c865b46141954
/frameworks/base/libs/hwui/Caches.cpp
|
586cae3ac69c0c667fbf8a954edbd399f620a717 |
|
14-Jul-2012 |
Romain Guy <romainguy@google.com> |
Improve rendering speed by disabling scissor tests This change improves execution of display lists, particularly on tiled renderers. The goal is to disable the scissor test as often as possible. Drawing commands are rarely clipped by View bounds so most of them can be drawn without doing a scissor test. The speed improvements scale with the number of views and drawing commands. Change-Id: Ibd9b5e051a3e4300562463805acc4fd744ba6266
/frameworks/base/libs/hwui/Caches.cpp
|
dfa1046ecab165eb0daf5caa8475e993350f4a2b |
|
13-May-2012 |
Romain Guy <romainguy@google.com> |
Add call sites for OpenGL's debug label extension Change-Id: I9c689127e8166cbef92c935f8aa07217ab806dda
/frameworks/base/libs/hwui/Caches.cpp
|
bb0acdf9e1d862a7cf0e2533321fc1105c29b5e3 |
|
05-Mar-2012 |
Romain Guy <romainguy@google.com> |
Delete display list objects and resources on the UI thread Bug #6073717 Bug #6065504 Bug #6026515 Bug #5971725 Prior to this patch, the destructor of DisplayList would always run on the finalizer thread. This could cause a race condition if the UI thread was busy rendering display lists at the same time leading to various random native crashes. Change-Id: Ie11108e3b1538d4b358a1a8b4cce1b2d33152d0c
/frameworks/base/libs/hwui/Caches.cpp
|
13631f3da855f200a151e7837ed9f6b079622b58 |
|
31-Jan-2012 |
Romain Guy <romainguy@google.com> |
Add debug markers to OpenGLRenderer These markers will be used to group the GL commands by View in the OpenGL ES debugging tool. This will help correlate individual GL calls to higher level components like Views. Change-Id: I73607ba2e7224a80ac32527968261ee008f049c6
/frameworks/base/libs/hwui/Caches.cpp
|
8564c8da817a845353d213acd8636b76f567b234 |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/base/libs/hwui/Caches.cpp
|
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/Caches.cpp
|
82bc7a772747fcf8a6fe7097f70bf2981429ffe9 |
|
03-Jan-2012 |
Romain Guy <romainguy@google.com> |
Properly restore the GL scissor after a GL draw functor Bug #5781254 Change-Id: I1dc4809563a793b6b579814951d4d73b4c34bf32
/frameworks/base/libs/hwui/Caches.cpp
|
8f85e80b64b89fd38cc23b129f61ec36ddde7f15 |
|
15-Dec-2011 |
Romain Guy <romainguy@google.com> |
Generate even fewer GL commands Change-Id: I0f4dcacb03ef5ee7f6ebd501df98bfead5f0a7f8
/frameworks/base/libs/hwui/Caches.cpp
|
ec31f83bd3af1f900d1ee9116b15f56904c66dcd |
|
14-Dec-2011 |
Romain Guy <romainguy@google.com> |
<Insert something improper about OpenGL> Change-Id: Ib645376093838156771588adc76a718da0ceb0db
/frameworks/base/libs/hwui/Caches.cpp
|
a1d3c91afbd52c7e8b01f4a9060c5459f02ae7a5 |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Further reduce the number of GL commands sent to the driver Change-Id: Id922b2a166ea4573b767c27d3195e11c70320b23
/frameworks/base/libs/hwui/Caches.cpp
|
15bc6437f8b4cf10dba55c7638d349e7b9563f4f |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Reduce the number of GL commands generated by the UI This optimization along with the previous one lets us render an application like Gmail using only 30% of the number of GL commands previously required Change-Id: Ifee63edaf495e04490b5abd5433bb9a07bc327a8
/frameworks/base/libs/hwui/Caches.cpp
|
f3a910b423db7ad79cf61518bdd9278c048ad0d8 |
|
13-Dec-2011 |
Romain Guy <romainguy@google.com> |
Optimize state changes Change-Id: Iae59bc8dfd6427d0967472462cc1994987092827
/frameworks/base/libs/hwui/Caches.cpp
|
8ff6b9ebeeb24a6161ec6098e6bfdf8790ee5695 |
|
10-Nov-2011 |
Romain Guy <romainguy@google.com> |
Terminate EGL when an app goes in the background This does not happen on high end gfx devices. This happens only if only one EGL context is initialized in the current process. Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
/frameworks/base/libs/hwui/Caches.cpp
|
eca0ca2424afc1e98912405906edfc32f7733e16 |
|
04-Nov-2011 |
Romain Guy <romainguy@google.com> |
Memory optimizations for libhwui Bug #5566149 Lazily initialize font renderers Keep 60% of the texture cache when an app goes to the background Delete least used font renderer when going to the background Delete all font renderers on full memory trim Change-Id: I3c2454d46dc1107ec0f0f72a9ce69cbbcc8825e7
/frameworks/base/libs/hwui/Caches.cpp
|
6203f6c8147069976342be8f42add797a50f9557 |
|
02-Aug-2011 |
Romain Guy <romainguy@google.com> |
Reduce the amount of data cached by the gradients cache. Change-Id: I8546f5a5ecf38031c9a40bdcc434d4c7f22da63d
/frameworks/base/libs/hwui/Caches.cpp
|
6d7475d666baefaa3ba9f0dcee25238739454241 |
|
28-Jul-2011 |
Romain Guy <romainguy@google.com> |
Destroy layers and flush layers cache when a window is destroyed. Change-Id: I3fa1bc3ff50fb99e3d2e490925bd6b0a0f809fff
/frameworks/base/libs/hwui/Caches.cpp
|
bdf7609867a3f886455c51dba91623a86cceb6e2 |
|
19-Jul-2011 |
Romain Guy <romainguy@google.com> |
Trim OpenGLRenderer's memory usage whenever possible Change-Id: I9225077184f374b1a43300add15cc1d5b6869d1c
/frameworks/base/libs/hwui/Caches.cpp
|
042f7d64b5ccd7b5b73e7e9814a84576f04fb7d4 |
|
13-Jul-2011 |
Kenny Root <kroot@google.com> |
Fix debugging for hwui caches Debugging code attempted to delete a stack item. Also, the flag fields weren't exactly clear, so rewrite it so it's clear that kDebugMoreCaches is a combined flag. Change-Id: If42b7f0f754919343301da5656aee5943cc9bd4a
/frameworks/base/libs/hwui/Caches.cpp
|
02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd |
|
24-Jun-2011 |
Romain Guy <romainguy@google.com> |
Code cleanup Change-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca
/frameworks/base/libs/hwui/Caches.cpp
|
d2ba50ab861ec0950bda18dd0f463b687e66249f |
|
27-May-2011 |
Romain Guy <romainguy@google.com> |
Prettify memory dump. Change-Id: I071c6a04a144a96955d85f56dffc6162288ee33e
/frameworks/base/libs/hwui/Caches.cpp
|
9c1e23baf5bfbebd1aebbd6d9a18c225325567ce |
|
24-Mar-2011 |
Chet Haase <chet@google.com> |
Add logging of graphics acceleration info to bugreports Change-Id: I9fa4cda6ccf92df9d1c644ccdc0e7274a30106e0
/frameworks/base/libs/hwui/Caches.cpp
|
2fc941e4650d618ff6e122f28b616d9032ffa134 |
|
04-Feb-2011 |
Romain Guy <romainguy@google.com> |
Fixes cache misses and extra allocations. Bug #3421454 Change-Id: If4d5c960a7e4c581a9d213073e658284b4e1c497
/frameworks/base/libs/hwui/Caches.cpp
|
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/Caches.cpp
|
01d58e43ede5ca98cbebdd166f9b0c545032c01b |
|
20-Jan-2011 |
Romain Guy <romainguy@google.com> |
Add rounded rects and circles support to OpenGLRenderer. Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
/frameworks/base/libs/hwui/Caches.cpp
|
ada830f639591b99c3e40de22b07296c7932a33f |
|
13-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup implementation of hardware layers. The new implementation relies on OpenGLRenderer's existing layer code instead of duplicating it. The new code is much cleaner, with simpler and better APIs and allows tracking of drawn regions inside layers. Region tracking is not yet enabled but this will be done in a future CL. Change-Id: Ie826121a2227de8252c77b992a61218defea5143
/frameworks/base/libs/hwui/Caches.cpp
|
57066eb64c9a190d1afc87bb060bbb2d31e5b86c |
|
12-Jan-2011 |
Romain Guy <romainguy@google.com> |
Cleanup GL objects on the correct thread. Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
/frameworks/base/libs/hwui/Caches.cpp
|
7230a74e9a36dfc6c4346c14e325bf07cd05b380 |
|
11-Jan-2011 |
Romain Guy <romainguy@google.com> |
Composite layers as regions. This change detects what area of a layer was drawn into and generates a mesh to match this area exactly. This can be used to avoid blending empty pixels when the layer is composited. This change also adds proper layers support to lines rendering and implements layers composition in a more readable way. Change-Id: I4a5588b98b19bd66891ebdc39631b193c5e31999
/frameworks/base/libs/hwui/Caches.cpp
|
fe48f65922d4a3cc4aefe058cee5acec51504a20 |
|
12-Nov-2010 |
Romain Guy <romainguy@google.com> |
Free resources only from the GL context thread. Bug #3179882 Resources were freed following garbage collections on a worker thread. This worker thread had no EGL context, which would cause the renderer to incorrectly assume that the memory was liberated. Change-Id: Ifdb51f94ddf42641e8654522787bfac532976c7c
/frameworks/base/libs/hwui/Caches.cpp
|
e190aa69756aecfaffabdd4c6d32cb6b3220d842 |
|
11-Nov-2010 |
Romain Guy <romainguy@google.com> |
Add new runtime debug flags. Change-Id: I07955de166a89b5053c6c13f250bb3e2936ca86e
/frameworks/base/libs/hwui/Caches.cpp
|
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/Caches.cpp
|
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/Caches.cpp
|
746b7401ceb86b5f2805f8c0d3b39ac739152015 |
|
27-Oct-2010 |
Romain Guy <romainguy@google.com> |
Remove unnecessary GL calls. This change batches calls to glScissor() and removes extra GL queries and glActiveTexture() calls. Change-Id: I1cd079d314f87cd9c088f95c8d4909c2f860f6aa
/frameworks/base/libs/hwui/Caches.cpp
|
9bca4793a33d2714b306d69ceb870925a588fe71 |
|
26-Oct-2010 |
Romain Guy <romainguy@google.com> |
Small cleanup. Removes unnecessary forward class declaration, make Caches::currentBuffer private instead of public. Change-Id: Idba6325c8c602d89239e667cb8ec87e7943f8e75
/frameworks/base/libs/hwui/Caches.cpp
|
dd78ccacff83f0714ad90be98b58ad85f5d08c66 |
|
23-Oct-2010 |
Chet Haase <chet@google.com> |
Fix Caches singleton to avoid resource leaks The declaration of Singleton objects must be in CPP files (not header files) to avoid creating separate instances of what is supposedly a single object. Change-Id: Ie903384824a458b5572f3ce5b6cfb359c18a9c44
/frameworks/base/libs/hwui/Caches.cpp
|