summaryrefslogtreecommitdiffstats
path: root/libs/hwui/Layer.h
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2013-03-26 15:05:58 -0700
committerRomain Guy <romainguy@google.com>2013-03-26 15:25:07 -0700
commit96885eb480c5e0526fe2f77d30f6e551f3f3ceab (patch)
tree17bee5ff04c63bf1415696b02374c60e584a0542 /libs/hwui/Layer.h
parent7c566bf3e4a10d74588b3e92ea3f6af310930f37 (diff)
downloadframeworks_base-96885eb480c5e0526fe2f77d30f6e551f3f3ceab.zip
frameworks_base-96885eb480c5e0526fe2f77d30f6e551f3f3ceab.tar.gz
frameworks_base-96885eb480c5e0526fe2f77d30f6e551f3f3ceab.tar.bz2
Avoid multiple font cache texture uploads
Bug #8378964 This change defers drawing into layers until after the renderer for FBO0 is ready to draw. At that point, all the precaching is done which means all glyphs can be uploaded at once in the font caches. Change-Id: Ie1f7a7ff30f76f06fb3dbc72c7d05e66207d1ecb
Diffstat (limited to 'libs/hwui/Layer.h')
-rw-r--r--libs/hwui/Layer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h
index ccf1da5..0e00191 100644
--- a/libs/hwui/Layer.h
+++ b/libs/hwui/Layer.h
@@ -42,6 +42,8 @@ namespace uirenderer {
// Forward declarations
class OpenGLRenderer;
class DisplayList;
+class DeferredDisplayList;
+class DeferStateStruct;
/**
* A layer has dimensions and is backed by an OpenGL texture or FBO.
@@ -271,6 +273,9 @@ struct Layer {
return transform;
}
+ void defer();
+ void flush();
+
/**
* Bounds of the layer.
*/
@@ -379,6 +384,12 @@ private:
*/
mat4 transform;
+ /**
+ * Used to defer display lists when the layer is updated with a
+ * display list.
+ */
+ DeferredDisplayList* deferredList;
+
}; // struct Layer
}; // namespace uirenderer