aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/queryobj.c18
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) {