surfaceflinger: pass RenderEngine into BufferLayerConsumer
Add RenderEngine::isCurrent to replace
BufferLayerConsumer::checkAndUpdateEglStateLocked. Remove a
duplicated check in updateAndReleaseLocked. Use
RenderEngine::checkErrors.
Test: SurfaceFlinger_test
Change-Id: I6b97534a41a855d101965b498cb1afa72404227e
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp
index f1415c9..314333f 100644
--- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp
+++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp
@@ -157,6 +157,10 @@
return GLExtensions::getInstance().hasImageCrop();
}
+bool RenderEngine::isCurrent() const {
+ return mEGLDisplay == eglGetCurrentDisplay() && mEGLContext == eglGetCurrentContext();
+}
+
bool RenderEngine::setCurrentSurface(const RE::Surface& surface) {
bool success = true;
EGLSurface eglSurface = surface.getEGLSurface();