diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c index 23cc00ba20..1c6a46384d 100644 --- a/src/video/SDL_egl.c +++ b/src/video/SDL_egl.c @@ -1268,14 +1268,14 @@ EGLSurface SDL_EGL_CreateSurface(SDL_VideoDevice *_this, SDL_Window *window, Nat ANativeWindow_setBuffersGeometry(nw, 0, 0, format_wanted); #endif - if (_this->gl_config.framebuffer_srgb_capable) { + if (_this->gl_config.framebuffer_srgb_capable >= 0) { #ifdef EGL_KHR_gl_colorspace if (SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_KHR_gl_colorspace")) { attribs[attr++] = EGL_GL_COLORSPACE_KHR; - attribs[attr++] = EGL_GL_COLORSPACE_SRGB_KHR; + attribs[attr++] = _this->gl_config.framebuffer_srgb_capable ? EGL_GL_COLORSPACE_SRGB_KHR : EGL_GL_COLORSPACE_LINEAR_KHR; } else #endif - { + if (_this->gl_config.framebuffer_srgb_capable > 0) { SDL_SetError("EGL implementation does not support sRGB system framebuffers"); return EGL_NO_SURFACE; } diff --git a/src/video/uikit/SDL_uikitopenglview.h b/src/video/uikit/SDL_uikitopenglview.h index 3286a16a02..d4c6c58d93 100644 --- a/src/video/uikit/SDL_uikitopenglview.h +++ b/src/video/uikit/SDL_uikitopenglview.h @@ -39,7 +39,7 @@ aBits:(int)aBits depthBits:(int)depthBits stencilBits:(int)stencilBits - sRGB:(BOOL)sRGB + sRGB:(int)sRGB multisamples:(int)multisamples context:(EAGLContext *)glcontext; diff --git a/src/video/uikit/SDL_uikitopenglview.m b/src/video/uikit/SDL_uikitopenglview.m index 71d167fc4d..3ee0bb8f1e 100644 --- a/src/video/uikit/SDL_uikitopenglview.m +++ b/src/video/uikit/SDL_uikitopenglview.m @@ -67,7 +67,7 @@ aBits:(int)aBits depthBits:(int)depthBits stencilBits:(int)stencilBits - sRGB:(BOOL)sRGB + sRGB:(int)sRGB multisamples:(int)multisamples context:(EAGLContext *)glcontext { @@ -93,7 +93,7 @@ samples = SDL_min(samples, maxsamples); } - if (sRGB) { + if (sRGB > 0) { colorFormat = kEAGLColorFormatSRGBA8; colorBufferFormat = GL_SRGB8_ALPHA8; } else if (rBits >= 8 || gBits >= 8 || bBits >= 8 || aBits > 0) {