From 96885eb480c5e0526fe2f77d30f6e551f3f3ceab Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 26 Mar 2013 15:05:58 -0700 Subject: 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 --- libs/hwui/Layer.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libs/hwui/Layer.h') diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h index ccf1da5539aa..0e00191d8654 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 -- cgit v1.2.3-59-g8ed1b