From 0c37ff89c6dedb5606769e2878bd1dff1a9041f8 Mon Sep 17 00:00:00 2001 From: slipher Date: Fri, 2 Jan 2026 06:23:56 -0600 Subject: [PATCH] Fix screenshots with read-only depth buffer When the read-only depth buffer is used (if r_readonlyDepthBuffer is 2, or if it's 1 but the driver lacks certain extensions), the screenshots were done from the 3d rendering buffer instead of the final framebuffer. This caused screenshots to lack tonemapping, color grading and 2D rendering. Fix it by resetting GL_READ_FRAMEBUFFER when taking a screenshot. --- src/engine/renderer/tr_init.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/engine/renderer/tr_init.cpp b/src/engine/renderer/tr_init.cpp index e2db9fe8f9..7d4b90a3a5 100644 --- a/src/engine/renderer/tr_init.cpp +++ b/src/engine/renderer/tr_init.cpp @@ -654,6 +654,8 @@ Cvar::Cvar r_rendererAPI( "r_rendererAPI", "Renderer API: 0: OpenGL, 1: Vul */ const RenderCommand *ScreenshotCommand::ExecuteSelf( ) const { + R_BindFBO( GL_READ_FRAMEBUFFER, nullptr ); + switch ( format ) { case ssFormat_t::SSF_TGA: