Browse Source

renderer_opengl: respect the sRGB colorspace for the screenshot feature

Previously, we were completely ignoring for screenshots whether the game uses RGB or sRGB.
This resulted in screenshot colors that looked off for some titles.
fearlessTobi 7 năm trước cách đây
mục cha
commit
9a56b99fa4
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      src/video_core/renderer_opengl/renderer_opengl.cpp

+ 2 - 1
src/video_core/renderer_opengl/renderer_opengl.cpp

@@ -380,7 +380,8 @@ void RendererOpenGL::CaptureScreenshot() {
     GLuint renderbuffer;
     glGenRenderbuffers(1, &renderbuffer);
     glBindRenderbuffer(GL_RENDERBUFFER, renderbuffer);
-    glRenderbufferStorage(GL_RENDERBUFFER, GL_RGB8, layout.width, layout.height);
+    glRenderbufferStorage(GL_RENDERBUFFER, state.GetsRGBUsed() ? GL_SRGB8 : GL_RGB8, layout.width,
+                          layout.height);
     glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, renderbuffer);
 
     DrawScreen(layout);