surfaceflinger: add more sync operations to RenderEngine
Add RenderEngine::finish and RenderEngine::waitFence. Rework flush
not to fall back to finish.
Test: SurfaceFlinger_test
Change-Id: I2e5738f72b4aa1186d45d23cab9055f96d90ff23
diff --git a/services/surfaceflinger/RenderEngine/GLExtensions.cpp b/services/surfaceflinger/RenderEngine/GLExtensions.cpp
index b7f8664..81af21f 100644
--- a/services/surfaceflinger/RenderEngine/GLExtensions.cpp
+++ b/services/surfaceflinger/RenderEngine/GLExtensions.cpp
@@ -89,6 +89,16 @@
hasEGLExtension("EGL_KHR_no_config_context")) {
mHasNoConfigContext = true;
}
+
+ if (hasEGLExtension("EGL_ANDROID_native_fence_sync")) {
+ mHasNativeFenceSync = true;
+ }
+ if (hasEGLExtension("EGL_KHR_fence_sync")) {
+ mHasFenceSync = true;
+ }
+ if (hasEGLExtension("EGL_KHR_wait_sync")) {
+ mHasWaitSync = true;
+ }
}
char const* GLExtensions::getEGLVersion() const {