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
