summaryrefslogtreecommitdiffstats
path: root/include/gui
diff options
context:
space:
mode:
authorEric Penner <epenner@google.com>2014-08-25 20:16:37 -0700
committerEric Penner <epenner@google.com>2014-08-27 03:10:58 +0000
commit2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4 (patch)
tree848da644b514505f608cda3e143ddb3a15e94278 /include/gui
parent7de2bde3c4c3a6ecc7e6f21e3f3322688b718c4a (diff)
downloadframeworks_native-2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4.zip
frameworks_native-2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4.tar.gz
frameworks_native-2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4.tar.bz2
GLConsumer: Fix eglTerminate/eglInit edge case.
If a display is terminated and then initialized, we can't detect this using the display itself (it has the same value), but all EglImages still become invalid for the display. This patch detects this during image binding and forces creation of a new EglImage. Bug: 10430249 Change-Id: I75101c50962f21263dca3ec6e241a2e5a3c23dad
Diffstat (limited to 'include/gui')
-rw-r--r--include/gui/GLConsumer.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/gui/GLConsumer.h b/include/gui/GLConsumer.h
index 37530db..f91fe46 100644
--- a/include/gui/GLConsumer.h
+++ b/include/gui/GLConsumer.h
@@ -287,7 +287,9 @@ private:
// createIfNeeded creates an EGLImage if required (we haven't created
// one yet, or the EGLDisplay or crop-rect has changed).
- status_t createIfNeeded(EGLDisplay display, const Rect& cropRect);
+ status_t createIfNeeded(EGLDisplay display,
+ const Rect& cropRect,
+ bool forceCreate = false);
// This calls glEGLImageTargetTexture2DOES to bind the image to the
// texture in the specified texture target.