Mesa (master): mesa: Generate more errors from GetSamplerParameter
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Sep 9 18:20:53 UTC 2020
Module: Mesa
Branch: master
Commit: cdc025c9ef67bddf733fccb5b3e78d8d7c8b4880
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdc025c9ef67bddf733fccb5b3e78d8d7c8b4880
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Nov 14 13:09:32 2019 -0500
mesa: Generate more errors from GetSamplerParameter
Not all of the corresponding extensions are enabled unconditionally, and
we should throw INVALID_ENUM in those cases.
Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6653>
---
src/mesa/main/samplerobj.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
index 0bf58859a54..271983e4f10 100644
--- a/src/mesa/main/samplerobj.c
+++ b/src/mesa/main/samplerobj.c
@@ -1445,18 +1445,26 @@ _mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
*params = lroundf(sampObj->LodBias);
break;
case GL_TEXTURE_COMPARE_MODE:
+ if (!ctx->Extensions.ARB_shadow)
+ goto invalid_pname;
*params = sampObj->CompareMode;
break;
case GL_TEXTURE_COMPARE_FUNC:
+ if (!ctx->Extensions.ARB_shadow)
+ goto invalid_pname;
*params = sampObj->CompareFunc;
break;
case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ if (!ctx->Extensions.EXT_texture_filter_anisotropic)
+ goto invalid_pname;
/* GL spec 'Data Conversions' section specifies that floating-point
* value in integer Get function is rounded to nearest integer
*/
*params = lroundf(sampObj->MaxAnisotropy);
break;
case GL_TEXTURE_BORDER_COLOR:
+ if (!ctx->Extensions.ARB_texture_border_clamp)
+ goto invalid_pname;
params[0] = FLOAT_TO_INT(sampObj->BorderColor.f[0]);
params[1] = FLOAT_TO_INT(sampObj->BorderColor.f[1]);
params[2] = FLOAT_TO_INT(sampObj->BorderColor.f[2]);
More information about the mesa-commit
mailing list