summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfearlessTobi <thm.frey@gmail.com>2019-02-15 21:27:29 +0100
committerfearlessTobi <thm.frey@gmail.com>2019-02-15 21:27:29 +0100
commit9a56b99fa46b6a8d13537f1660557e7a91545dee (patch)
tree83883ea083db681ee919445c7b88a19018cf8ae7
parent4327f430f1a4bb33024c13592f229db27bc884b0 (diff)
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.
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index cca2ed708..f23aad2c5 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/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);