From: Gert Wollny Date: Wed, 14 Nov 2018 09:58:40 +0000 (+0100) Subject: mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB where possible X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=76c3f6fb3ff21e9cbe40345b6215ead1771b449b;p=mesa.git mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB where possible All drivers that support EXT_framebuffer_sRGB also support EXT_sRGB, but in order to keep this commit minial, and not to break any drivers both flags are checked. v2: - Use only EXT_sRGB (Ilia Mirkin) - Move adding the flag EXT_sRGB to gl_extensions to a separate patch v3: use _mesa_has_EXT_framebuffer_sRGB instead of extension flag The _mesa_has function also checks for the correct versions and should be preferred over using the flags directly (Erik) Signed-off-by: Gert Wollny Reviewed-by: Marek Olšák --- diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 4ff00f273b5..f7597b83995 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -4274,7 +4274,7 @@ get_framebuffer_attachment_parameter(struct gl_context *ctx, } } else { - if (ctx->Extensions.EXT_framebuffer_sRGB) { + if (ctx->Extensions.EXT_sRGB) { *params = _mesa_get_format_color_encoding(att->Renderbuffer->Format); } diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c index 84b5f512ba5..3b0f6dafad7 100644 --- a/src/mesa/main/formatquery.c +++ b/src/mesa/main/formatquery.c @@ -1241,7 +1241,7 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, break; case GL_SRGB_WRITE: - if (!_mesa_has_EXT_framebuffer_sRGB(ctx) || + if (!ctx->Extensions.EXT_sRGB || !_mesa_is_color_format(internalformat)) { goto end; } diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 10dd2fde446..0abfdd83902 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -459,7 +459,7 @@ _mesa_update_framebuffer_visual(struct gl_context *ctx, fb->Visual.rgbBits = fb->Visual.redBits + fb->Visual.greenBits + fb->Visual.blueBits; if (_mesa_get_format_color_encoding(fmt) == GL_SRGB) - fb->Visual.sRGBCapable = ctx->Extensions.EXT_framebuffer_sRGB; + fb->Visual.sRGBCapable = ctx->Extensions.EXT_sRGB; break; } } diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 21415b48490..a43915e18d9 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2438,7 +2438,7 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, bool rb_is_srgb = false; bool dst_is_srgb = false; - if (ctx->Extensions.EXT_framebuffer_sRGB && + if (ctx->Extensions.EXT_sRGB && _mesa_get_format_color_encoding(rb->Format) == GL_SRGB) { rb_is_srgb = true; } diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index caf8799a7b1..5efbd1fa1d2 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -476,7 +476,7 @@ st_framebuffer_create(struct st_context *st, * brings GLES on par with desktop GLs EXT_framebuffer_sRGB, in mesa this * is also expressed by using the same extension flag */ - if (st->ctx->Extensions.EXT_framebuffer_sRGB) { + if (_mesa_has_EXT_framebuffer_sRGB(st->ctx)) { struct pipe_screen *screen = st->pipe->screen; const enum pipe_format srgb_format = util_format_srgb(stfbi->visual->color_format);