mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 22:30:11 +01:00
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@anholt.net> Signed-off-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6653>
This commit is contained in:
parent
06c6920a5b
commit
cdc025c9ef
1 changed files with 8 additions and 0 deletions
|
|
@ -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]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue