From e89f63b8fba05a57a659efbff69e38f0abbb8cc7 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 29 Dec 2025 16:50:15 -0600 Subject: [PATCH] Skip unnecessary glClear() on X11 --- app/streaming/video/ffmpeg-renderers/eglvid.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/streaming/video/ffmpeg-renderers/eglvid.cpp b/app/streaming/video/ffmpeg-renderers/eglvid.cpp index d896cfb4..a318839f 100644 --- a/app/streaming/video/ffmpeg-renderers/eglvid.cpp +++ b/app/streaming/video/ffmpeg-renderers/eglvid.cpp @@ -803,7 +803,11 @@ void EGLRenderer::renderFrame(AVFrame* frame) m_glEGLImageTargetTexture2DOES(GL_TEXTURE_EXTERNAL_OES, imgs[i]); } - glClear(GL_COLOR_BUFFER_BIT); + // We already called glClear() after last frame's SDL_GL_SwapWindow() + // to synchronize with our fence if swap buffers is blocking + if (!m_BlockingSwapBuffers) { + glClear(GL_COLOR_BUFFER_BIT); + } int drawableWidth, drawableHeight; SDL_GL_GetDrawableSize(m_Window, &drawableWidth, &drawableHeight);