Module: Mesa
Branch: master
Commit: 42c64b5f87531367eb554188fd924c885c8cecde
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=42c64b5f87531367eb554188fd924c885c8cecde

Author: Kenneth Graunke <[email protected]>
Date:   Wed Jul 12 19:49:55 2017 -0700

mesa: Return GL_INVALID_ENUM for bogus TEXTURE_SRGB_DECODE_EXT params.

Fixes 
dEQP-GLES31.functional.debug.negative_coverage.get_error.shader.srgb_decode_samplerparameter{f,fv,i,Iiv,Iuiv,iv}.

Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>

---

 src/mesa/main/samplerobj.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
index d78528be2d..26e7725249 100644
--- a/src/mesa/main/samplerobj.c
+++ b/src/mesa/main/samplerobj.c
@@ -780,8 +780,19 @@ set_sampler_srgb_decode(struct gl_context *ctx,
    if (samp->sRGBDecode == param)
       return GL_FALSE;
 
+   /* The EXT_texture_sRGB_decode spec says:
+    *
+    *    "INVALID_ENUM is generated if the <pname> parameter of
+    *     TexParameter[i,f,Ii,Iui][v][EXT],
+    *     MultiTexParameter[i,f,Ii,Iui][v]EXT,
+    *     TextureParameter[i,f,Ii,Iui][v]EXT, SamplerParameter[i,f,Ii,Iui][v]
+    *     is TEXTURE_SRGB_DECODE_EXT when the <param> parameter is not one of
+    *     DECODE_EXT or SKIP_DECODE_EXT.
+    *
+    * Returning INVALID_PARAM makes that happen.
+    */
    if (param != GL_DECODE_EXT && param != GL_SKIP_DECODE_EXT)
-      return INVALID_VALUE;
+      return INVALID_PARAM;
 
    flush(ctx);
    samp->sRGBDecode = param;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to