summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChet Haase <chet@google.com>2012-05-31 15:21:51 -0700
committerChet Haase <chet@google.com>2012-05-31 17:22:27 -0700
commit486590963e2207d68eebd6944fec70d50d41116a (patch)
tree7a176c6cda01c64980c5c27f9bf495b64d08c84f /include
parent20c15a4271ea3a7fb2210430bfc53f611603cf76 (diff)
downloadframeworks_base-486590963e2207d68eebd6944fec70d50d41116a.zip
frameworks_base-486590963e2207d68eebd6944fec70d50d41116a.tar.gz
frameworks_base-486590963e2207d68eebd6944fec70d50d41116a.tar.bz2
Skip eglSwapBuffers() call when we do not draw to GL
The fix is to track when we issue GL drawing commands, and to skip the call to eglSwapBuffers() when a DisplayList does not result in any actual rendering calls to GL. Issue #6364143 QuickMuni list items and buttons flicker instead of fade Change-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3
Diffstat (limited to 'include')
-rw-r--r--include/private/hwui/DrawGlInfo.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/private/hwui/DrawGlInfo.h b/include/private/hwui/DrawGlInfo.h
index e33823e..fc810be 100644
--- a/include/private/hwui/DrawGlInfo.h
+++ b/include/private/hwui/DrawGlInfo.h
@@ -72,7 +72,14 @@ struct DrawGlInfo {
// The functor needs to be invoked again but will
// not redraw. Only the functor is invoked again
// (unless another functor requests a redraw.)
- kStatusInvoke = 0x2
+ kStatusInvoke = 0x2,
+ // DisplayList actually issued GL drawing commands.
+ // This is used to signal the HardwareRenderer that the
+ // buffers should be flipped - otherwise, there were no
+ // changes to the buffer, so no need to flip. Some hardware
+ // has issues with stale buffer contents when no GL
+ // commands are issued.
+ kStatusDrew = 0x4
};
}; // struct DrawGlInfo