diff options
| author | 2013-06-13 00:37:02 +0000 | |
|---|---|---|
| committer | 2013-06-13 00:37:02 +0000 | |
| commit | 149b015db9a478c6345cf0528fe4df3c7c2b5110 (patch) | |
| tree | 249c56eec7775891208a1c3ed0dc23ada71146c7 /libs/hwui/OpenGLRenderer.h | |
| parent | af0fa4fd739aae14733615b6ee9a6b9ca025c628 (diff) | |
| parent | 28ce94a4ffc7576f40776d212f1ada79fafaa061 (diff) | |
Merge "Overdraw avoidance and merging of clipped ops"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.h')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index ce4ce42bb8f8..78469c45860f 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -80,6 +80,15 @@ enum DrawOpMode { kDrawOpMode_Flush }; +enum ClipSideFlags { + kClipSide_Unclipped = 0x0, + kClipSide_Left = 0x1, + kClipSide_Top = 0x2, + kClipSide_Right = 0x4, + kClipSide_Bottom = 0x8, + kClipSide_Full = 0xF +}; + struct DeferredDisplayState { // global op bounds, mapped by mMatrix to be in screen space coordinates, clipped Rect mBounds; @@ -87,6 +96,7 @@ struct DeferredDisplayState { // the below are set and used by the OpenGLRenderer at record and deferred playback bool mClipValid; Rect mClip; + int mClipSideFlags; // specifies which sides of the bounds are clipped, unclipped if cleared bool mClipped; mat4 mMatrix; DrawModifiers mDrawModifiers; @@ -307,7 +317,7 @@ public: bool storeDisplayState(DeferredDisplayState& state, int stateDeferFlags); void restoreDisplayState(const DeferredDisplayState& state, bool skipClipRestore = false); - void setFullScreenClip(); + void setupMergedMultiDraw(const Rect* clipRect); const DrawModifiers& getDrawModifiers() { return mDrawModifiers; } void setDrawModifiers(const DrawModifiers& drawModifiers) { mDrawModifiers = drawModifiers; } |