Add interface for controlling single buffer auto refresh
- Adds a boolean to BufferQueue that controls whether or not auto
refresh is enabled in SurfaceFlinger when in single buffer mode.
- Adds plumbing up to ANativeWindow.
- When enabled, it will cache the shared buffer slot in Surface in
order to prevent the Binder transaction with SurfaceFlinger.
Bug 24940410
Change-Id: I83142afdc00e203f198a32288f071d926f8fda95
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp
index c7e2afb..05700f8 100644
--- a/opengl/libs/EGL/eglApi.cpp
+++ b/opengl/libs/EGL/eglApi.cpp
@@ -1197,6 +1197,7 @@
//XXX: temporary hack for the EGL hook-up for single buffer mode
if (attribute == EGL_RENDER_BUFFER && (value == EGL_BACK_BUFFER ||
value == EGL_SINGLE_BUFFER)) {
+ native_window_set_auto_refresh(s->win.get(), true);
return (native_window_set_single_buffer_mode(s->win.get(),
value == EGL_SINGLE_BUFFER)) ? EGL_TRUE : EGL_FALSE;
}