Reduce swiftshader logspam on exit
It might be a legacy swiftshader bug because it does not happen on
SwANGLE or hardware GPU.
So let's not spam errors.
Bug: 284523053
Change-Id: I276686cde2defed2173c0cdd64a649fbe70d7f1d
diff --git a/host/gl/ColorBufferGl.cpp b/host/gl/ColorBufferGl.cpp
index 3faea8b..de7d190 100644
--- a/host/gl/ColorBufferGl.cpp
+++ b/host/gl/ColorBufferGl.cpp
@@ -334,6 +334,13 @@
ColorBufferGl::~ColorBufferGl() {
RecursiveScopedContextBind context(m_helper);
+ // b/284523053
+ // Swiftshader logspam on exit. But it doesn't happen with SwANGLE.
+ if (!context.isOk()) {
+ GL_LOG("Failed to bind context when releasing color buffers\n");
+ return;
+ }
+
if (m_blitEGLImage) {
s_egl.eglDestroyImageKHR(m_display, m_blitEGLImage);
}
diff --git a/host/gl/DisplaySurfaceGl.cpp b/host/gl/DisplaySurfaceGl.cpp
index 77b07da..e3bc133 100644
--- a/host/gl/DisplaySurfaceGl.cpp
+++ b/host/gl/DisplaySurfaceGl.cpp
@@ -57,7 +57,9 @@
currentDrawSurface != mSurface ||
currentReadSurface != mSurface) {
if (!s_egl.eglMakeCurrent(mDisplay, mSurface, mSurface, mContext)) {
- ERR("Failed to make display surface context current: %d", s_egl.eglGetError());
+ // b/284523053
+ // Legacy swiftshader logspam on exit with this line.
+ GL_LOG("Failed to make display surface context current: %d", s_egl.eglGetError());
return false;
}
}
diff --git a/host/gl/ReadbackWorkerGl.cpp b/host/gl/ReadbackWorkerGl.cpp
index 98bc9d4..7b02f6c 100644
--- a/host/gl/ReadbackWorkerGl.cpp
+++ b/host/gl/ReadbackWorkerGl.cpp
@@ -47,13 +47,7 @@
}
ReadbackWorkerGl::~ReadbackWorkerGl() {
- s_gles2.glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
- s_gles2.glBindBuffer(GL_COPY_READ_BUFFER, 0);
- for (auto& r : mTrackedDisplays) {
- s_gles2.glDeleteBuffers(r.second.mBuffers.size(), &r.second.mBuffers[0]);
- }
-
- mFlushSurface->getContextHelper()->teardownContext();
+ // Context not available on exit
}
void ReadbackWorkerGl::initReadbackForDisplay(uint32_t displayId, uint32_t w, uint32_t h) {