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 )
{
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:
params[0] = INT_TO_BOOLEAN(v.value_int);
break;
@@ -2326,7 +2328,7 @@ _mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params )
params[0] = INT64_TO_BOOLEAN(v.value_int);
break;
default:
assert(0);
; /* nothing - GL error was recorded */
}
}
@@ -2334,8 +2336,10 @@ void GLAPIENTRY
_mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params )
{
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:
params[0] = v.value_int;
break;
@@ -2349,7 +2353,7 @@ _mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params )
params[0] = INT64_TO_INT(v.value_int);
break;
default:
assert(0);
; /* nothing - GL error was recorded */
}
}
@@ -2358,8 +2362,10 @@ void GLAPIENTRY
_mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
{
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:
params[0] = v.value_int;
break;
@@ -2373,7 +2379,7 @@ _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params )
params[0] = v.value_int;
break;
default:
assert(0);
; /* nothing - GL error was recorded */
}
}
#endif /* FEATURE_ARB_sync */