Pārlūkot izejas kodu

Set framebuffer_srgb_capable to the actual value obtained (#8634)

Jake S. Del Mastro 1 gadu atpakaļ
vecāks
revīzija
594a79c2f9
1 mainītis faili ar 7 papildinājumiem un 0 dzēšanām
  1. 7 0
      src/video/windows/SDL_windowsopengl.c

+ 7 - 0
src/video/windows/SDL_windowsopengl.c

@@ -527,6 +527,9 @@ static int WIN_GL_ChoosePixelFormatARB(_THIS, int *iAttribs, float *fAttribs)
     int pixel_format = 0;
     unsigned int matching;
 
+    int qAttrib = WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB;
+    int srgb = 0;
+
     hwnd =
         CreateWindow(SDL_Appname, SDL_Appname, (WS_POPUP | WS_DISABLED), 0, 0,
                      10, 10, NULL, NULL, SDL_Instance, NULL);
@@ -548,6 +551,10 @@ static int WIN_GL_ChoosePixelFormatARB(_THIS, int *iAttribs, float *fAttribs)
                                                     &matching);
         }
 
+        /* Check whether we actually got an SRGB capable buffer */
+        _this->gl_data->wglGetPixelFormatAttribivARB(hdc, pixel_format, 0, 1, &qAttrib, &srgb);
+        _this->gl_config.framebuffer_srgb_capable = srgb;
+
         _this->gl_data->wglMakeCurrent(hdc, NULL);
         _this->gl_data->wglDeleteContext(hglrc);
     }