ctx->Extensions.EXT_timer_query is set based on the driver-
capabilities, not based on the context type. We need to check against
_mesa_has_EXT_timer_query(ctx) instead to figure out if the extension
is really supported. We also need to check for
EXT_disjoint_timer_query, which enables the same functionality for ES.

This turns usage of GL_TIME_ELAPSED into an error on ES 3, as is
required by the spec.

Signed-off-by: Erik Faye-Lund <erik.faye-l...@collabora.com>
---
 src/mesa/main/queryobj.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index e9bc1a7de40..9b3671f90a0 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -197,7 +197,8 @@ get_query_binding_point(struct gl_context *ctx, GLenum 
target, GLuint index)
       else
          return NULL;
    case GL_TIME_ELAPSED:
-      if (ctx->Extensions.EXT_timer_query)
+      if (_mesa_has_EXT_timer_query(ctx) ||
+          _mesa_has_EXT_disjoint_timer_query(ctx))
          return &ctx->Query.CurrentTimerObject;
       else
          return NULL;
-- 
2.19.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to