diff options
-rw-r--r-- | src/mesa/main/queryobj.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index b2740c5ea75..981ccf8f9c0 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -663,11 +663,21 @@ _mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname, * <pname> is not CURRENT_QUERY_EXT." * * Same rule is present also in ES 3.2 spec. + * + * EXT_disjoint_timer_query extends this with GL_QUERY_COUNTER_BITS. */ - if (_mesa_is_gles(ctx) && pname != GL_CURRENT_QUERY) { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryivEXT(%s)", - _mesa_enum_to_string(pname)); - return; + if (_mesa_is_gles(ctx)) { + switch (pname) { + case GL_CURRENT_QUERY: + break; + case GL_QUERY_COUNTER_BITS: + if (_mesa_has_EXT_disjoint_timer_query(ctx)) + break; + /* fallthrough */ + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryivEXT(%s)", + _mesa_enum_to_string(pname)); + } } if (target == GL_TIMESTAMP) { |