summaryrefslogtreecommitdiffstats
path: root/libs/hwui/OpenGLRenderer.h
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-09-24 11:37:12 -0700
committerRomain Guy <romainguy@google.com>2012-09-24 11:47:52 -0700
commit87e2f757be9b24d369bab354e37c276e851b1fc7 (patch)
treedd8a123cd63666a7f767cb0c38afcc9726d007db /libs/hwui/OpenGLRenderer.h
parent97dc9172b0e58979c63de0dedbab656399a62281 (diff)
downloadframeworks_base-87e2f757be9b24d369bab354e37c276e851b1fc7.zip
frameworks_base-87e2f757be9b24d369bab354e37c276e851b1fc7.tar.gz
frameworks_base-87e2f757be9b24d369bab354e37c276e851b1fc7.tar.bz2
Add a property to disable libhwui's scissor optimization
Bug #7158326 When scissor optimization is enabled, OpenGLRenderer will attempt to minimize the use of scissor by selectively enabling and disabling the GL scissor test. When the optimization is disabled, OpenGLRenderer will keep the GL scissor test enabled and change the scissor rect as needed. Some GPUs (for instance the SGX 540) perform better when changing the scissor rect often than when enabling/disabling the scissor test often. Change-Id: Idb68862e287a23358f9188d577ae0f86161902fd
Diffstat (limited to 'libs/hwui/OpenGLRenderer.h')
-rw-r--r--libs/hwui/OpenGLRenderer.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h
index 46e66cb..c29e3fb 100644
--- a/libs/hwui/OpenGLRenderer.h
+++ b/libs/hwui/OpenGLRenderer.h
@@ -64,6 +64,12 @@ public:
virtual ~OpenGLRenderer();
/**
+ * Read externally defined properties to control the behavior
+ * of the renderer.
+ */
+ ANDROID_API void initProperties();
+
+ /**
* Indicates whether this renderer executes drawing commands immediately.
* If this method returns true, the drawing commands will be executed
* later.
@@ -804,6 +810,10 @@ private:
// Indicate whether we are drawing an opaque frame
bool mOpaqueFrame;
+ // See PROPERTY_DISABLE_SCISSOR_OPTIMIZATION in
+ // Properties.h
+ bool mScissorOptimizationDisabled;
+
friend class DisplayListRenderer;
}; // class OpenGLRenderer