From 7a4d74c35abec0f8c9c2b8c0d810035582db2dc8 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 7 Nov 2018 13:45:17 +0100 Subject: [PATCH] mesa/main: fix validation of ARB_query_buffer_object MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit ctx->Extensions.ARB_query_buffer_object is set based on the driver- capabilities, not based on the context type. We need to check against _mesa_has_ARB_query_buffer_object(ctx) instead to figure out if the extension is really supported. This turns attempts to read queries into buffer objects on ES 3 into errors, as required by the spec. Signed-off-by: Erik Faye-Lund Reviewed-by: Tapani Pälli --- src/mesa/main/queryobj.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index 45db43139a4..c86b9ec065b 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -825,7 +825,7 @@ get_query_object(struct gl_context *ctx, const char *func, if (buf && buf != ctx->Shared->NullBufferObj) { bool is_64bit = ptype == GL_INT64_ARB || ptype == GL_UNSIGNED_INT64_ARB; - if (!ctx->Extensions.ARB_query_buffer_object) { + if (!_mesa_has_ARB_query_buffer_object(ctx)) { _mesa_error(ctx, GL_INVALID_OPERATION, "%s(not supported)", func); return; } @@ -858,7 +858,7 @@ get_query_object(struct gl_context *ctx, const char *func, value = q->Result; break; case GL_QUERY_RESULT_NO_WAIT: - if (!ctx->Extensions.ARB_query_buffer_object) + if (!_mesa_has_ARB_query_buffer_object(ctx)) goto invalid_enum; ctx->Driver.CheckQuery(ctx, q); if (!q->Ready) -- 2.30.2