[Mesa-dev] [PATCH 43/65] mesa/formatquery: Added SRGB_DECODE_ARB <pname> query

Eduardo Lima Mitev elima at igalia.com
Wed Feb 3 15:45:28 UTC 2016


From: Antia Puentes <apuentes at igalia.com>

>From the ARB_internalformat_query2 specification:

   "- SRGB_DECODE_ARB: The support for toggling whether sRGB decode happens at
      sampling time (see EXT/ARB_texture_sRGB_decode) for the resource is
      returned in <params>.
      Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE.
      If the resource or operation is not supported, NONE is returned."
---
 src/mesa/main/formatquery.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/formatquery.c b/src/mesa/main/formatquery.c
index 467b436..cea36c5 100644
--- a/src/mesa/main/formatquery.c
+++ b/src/mesa/main/formatquery.c
@@ -595,6 +595,7 @@ _mesa_query_internal_format_default(struct gl_context *ctx, GLenum target,
    case GL_AUTO_GENERATE_MIPMAP:
    case GL_SRGB_READ:
    case GL_SRGB_WRITE:
+   case GL_SRGB_DECODE_ARB:
       params[0] = GL_FULL_SUPPORT;
       break;
 
@@ -1110,7 +1111,15 @@ _mesa_GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname,
       break;
 
    case GL_SRGB_DECODE_ARB:
-      /* @TODO */
+      /* Presence of EXT_texture_sRGB_decode was already verified */
+      if (!_mesa_has_EXT_texture_sRGB(ctx) ||
+          target == GL_RENDERBUFFER ||
+          !_mesa_is_srgb_format(internalformat)) {
+         goto end;
+      }
+
+      ctx->Driver.QueryInternalFormat(ctx, target, internalformat, pname,
+                                      buffer);
       break;
 
    case GL_FILTER:
-- 
2.5.3



More information about the mesa-dev mailing list