mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-02-28 14:24:57 +00:00
render: opengl and opengles2 renderers try to disable GL_FRAMEBUFFER_SRGB.
Reference Issue #14898.
(cherry picked from commit fc570a1a1c)
This commit is contained in:
@@ -43,6 +43,11 @@
|
||||
#define RENDERER_CONTEXT_MAJOR 2
|
||||
#define RENDERER_CONTEXT_MINOR 1
|
||||
|
||||
// This is always the same number between the various EXT/ARB/GLES extensions.
|
||||
#ifndef GL_FRAMEBUFFER_SRGB
|
||||
#define GL_FRAMEBUFFER_SRGB 0x8DB9
|
||||
#endif
|
||||
|
||||
// OpenGL renderer implementation
|
||||
|
||||
/* Details on optimizing the texture path on macOS:
|
||||
@@ -2009,6 +2014,10 @@ static bool GL_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Pr
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ((real_major >= 3) || SDL_GL_ExtensionSupported("GL_EXT_framebuffer_sRGB") || SDL_GL_ExtensionSupported("GL_ARB_framebuffer_sRGB")) {
|
||||
data->glDisable(GL_FRAMEBUFFER_SRGB);
|
||||
}
|
||||
|
||||
// Set up parameters for rendering
|
||||
data->glMatrixMode(GL_MODELVIEW);
|
||||
data->glLoadIdentity();
|
||||
|
||||
@@ -45,6 +45,11 @@
|
||||
#define RENDERER_CONTEXT_MAJOR 2
|
||||
#define RENDERER_CONTEXT_MINOR 0
|
||||
|
||||
// This is always the same number between the various EXT/ARB/GLES extensions.
|
||||
#ifndef GL_FRAMEBUFFER_SRGB
|
||||
#define GL_FRAMEBUFFER_SRGB 0x8DB9
|
||||
#endif
|
||||
|
||||
/*************************************************************************************************
|
||||
* Context structures *
|
||||
*************************************************************************************************/
|
||||
@@ -2463,6 +2468,10 @@ static bool GLES2_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL
|
||||
renderer->npot_texture_wrap_unsupported = true;
|
||||
}
|
||||
|
||||
if (SDL_GL_ExtensionSupported("GL_EXT_sRGB_write_control")) {
|
||||
data->glDisable(GL_FRAMEBUFFER_SRGB);
|
||||
}
|
||||
|
||||
// Set up parameters for rendering
|
||||
data->glDisable(GL_DEPTH_TEST);
|
||||
data->glDisable(GL_CULL_FACE);
|
||||
|
||||
Reference in New Issue
Block a user