mesa/main: fix validation of GL_ANY_SAMPLES_PASSED_CONSERVATIVE
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 7 Nov 2018 12:22:41 +0000 (13:22 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Fri, 23 Nov 2018 09:48:35 +0000 (10:48 +0100)
ctx->Extensions.ARB_ES3_compatibility is set based on the driver-
capabilities, not based on the context type. We need to check against
_mesa_has_ARB_ES3_compatibility(ctx) instead to figure out if the
extension is really supported.

In addition, EXT_occlusion_query_boolean should also allow this
behavior.

This shouldn't cause any functional change, as all drivers that support
ES3_compatibility should in practice enable either ES3_compatibility or
EXT_occlusion_query_boolean under all APIs that export this symbol.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/mesa/main/queryobj.c

index 25d76a486485494cf22c8fd67580b45adf3638ca..e9bc1a7de40145e829574909258f256234c346e5 100644 (file)
@@ -191,8 +191,8 @@ get_query_binding_point(struct gl_context *ctx, GLenum target, GLuint index)
       else
          return NULL;
    case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:
-      if (ctx->Extensions.ARB_ES3_compatibility
-          || (ctx->API == API_OPENGLES2 && ctx->Version >= 30))
+      if (_mesa_has_ARB_ES3_compatibility(ctx) ||
+          _mesa_has_EXT_occlusion_query_boolean(ctx))
          return &ctx->Query.CurrentOcclusionObject;
       else
          return NULL;