Mesa (master): main: return error if asking for GL_TEXTURE_BORDER_COLOR in TEXTURE_2D_MULTISAMPLE{_ARRAY} through TexParameter{i ,Ii,Iui}v()
Samuel Iglesias Gonsálvez
samuelig at kemper.freedesktop.org
Tue Nov 15 06:50:52 UTC 2016
Module: Mesa
Branch: master
Commit: 308b06d471ba41177659d438632053cdce702b39
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=308b06d471ba41177659d438632053cdce702b39
Author: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Date: Mon Nov 7 11:49:13 2016 +0100
main: return error if asking for GL_TEXTURE_BORDER_COLOR in TEXTURE_2D_MULTISAMPLE{_ARRAY} through TexParameter{i,Ii,Iui}v()
OpenGL ES 3.2 says in section 8.10. "TEXTURE PARAMETERS", at the end of
the section:
"An INVALID_ENUM error is generated if target is TEXTURE_2D_-
MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY , and pname is any
sampler state from table 21.12."
GL_TEXTURE_BORDER_COLOR is present in that table.
v2:
- Add check to _mesa_texture_parameteriv() (Kenneth)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98250
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/main/texparam.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 29eed07..4db406f 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -934,6 +934,10 @@ _mesa_texture_parameteriv(struct gl_context *ctx,
switch (pname) {
case GL_TEXTURE_BORDER_COLOR:
{
+ if (!_mesa_target_allows_setting_sampler_parameters(texObj->Target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glTextureParameteriv(texture)");
+ return;
+ }
/* convert int params to float */
GLfloat fparams[4];
fparams[0] = INT_TO_FLOAT(params[0]);
@@ -974,6 +978,10 @@ _mesa_texture_parameterIiv(struct gl_context *ctx,
{
switch (pname) {
case GL_TEXTURE_BORDER_COLOR:
+ if (!_mesa_target_allows_setting_sampler_parameters(texObj->Target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glTextureParameterIiv(texture)");
+ return;
+ }
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
/* set the integer-valued border color */
COPY_4V(texObj->Sampler.BorderColor.i, params);
@@ -992,6 +1000,10 @@ _mesa_texture_parameterIuiv(struct gl_context *ctx,
{
switch (pname) {
case GL_TEXTURE_BORDER_COLOR:
+ if (!_mesa_target_allows_setting_sampler_parameters(texObj->Target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glTextureParameterIuiv(texture)");
+ return;
+ }
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
/* set the unsigned integer-valued border color */
COPY_4V(texObj->Sampler.BorderColor.ui, params);
More information about the mesa-commit
mailing list