mesa: don't assert in GetIntegerIndexed, etc

We were getting an assertion upon invalid pname.

NOTE: This is a candidate for the 7.9 and 7.10 branches.
This commit is contained in:
Brian Paul
2011-01-12 18:12:46 -07:00
parent 2fa6012f6a
commit 67722ae403

View File

@@ -2311,8 +2311,10 @@ void GLAPIENTRY
_mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params ) _mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params )
{ {
union value v; union value v;
enum value_type type =
find_value_indexed("glGetBooleanIndexedv", pname, index, &v);
switch (find_value_indexed("glGetBooleanIndexedv", pname, index, &v)) { switch (type) {
case TYPE_INT: case TYPE_INT:
params[0] = INT_TO_BOOLEAN(v.value_int); params[0] = INT_TO_BOOLEAN(v.value_int);
break; break;
@@ -2326,7 +2328,7 @@ _mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params )
params[0] = INT64_TO_BOOLEAN(v.value_int); params[0] = INT64_TO_BOOLEAN(v.value_int);
break; break;
default: default:
assert(0); ; /* nothing - GL error was recorded */
} }
} }
@@ -2334,8 +2336,10 @@ void GLAPIENTRY
_mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params ) _mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params )
{ {
union value v; union value v;
enum value_type type =
find_value_indexed("glGetIntegerIndexedv", pname, index, &v);
switch (find_value_indexed("glGetIntegerIndexedv", pname, index, &v)) { switch (type) {
case TYPE_INT: case TYPE_INT:
params[0] = v.value_int; params[0] = v.value_int;
break; break;
@@ -2349,7 +2353,7 @@ _mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params )
params[0] = INT64_TO_INT(v.value_int); params[0] = INT64_TO_INT(v.value_int);
break; break;
default: default:
assert(0); ; /* nothing - GL error was recorded */
} }
} }
@@ -2358,8 +2362,10 @@ void GLAPIENTRY
_mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params ) _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
{ {
union value v; union value v;
enum value_type type =
find_value_indexed("glGetIntegerIndexedv", pname, index, &v);
switch (find_value_indexed("glGetIntegerIndexedv", pname, index, &v)) { switch (type) {
case TYPE_INT: case TYPE_INT:
params[0] = v.value_int; params[0] = v.value_int;
break; break;
@@ -2373,7 +2379,7 @@ _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
params[0] = v.value_int; params[0] = v.value_int;
break; break;
default: default:
assert(0); ; /* nothing - GL error was recorded */
} }
} }
#endif /* FEATURE_ARB_sync */ #endif /* FEATURE_ARB_sync */