summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/queryobj.c
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2012-08-10 21:38:21 -0700
committerIan Romanick <ian.d.romanick@intel.com>2013-01-11 10:57:25 -0800
commit886979a097ca260d157c92189be4e4f5d6c35e8a (patch)
treecb84c674ecffbc022d190d77bfd855d242ccda64 /src/mesa/main/queryobj.c
parent8d47fe296025c4324b883ef6b9b08aa755ee52c0 (diff)
downloadexternal_mesa3d-886979a097ca260d157c92189be4e4f5d6c35e8a.zip
external_mesa3d-886979a097ca260d157c92189be4e4f5d6c35e8a.tar.gz
external_mesa3d-886979a097ca260d157c92189be4e4f5d6c35e8a.tar.bz2
mesa/es3: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE query target
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/mesa/main/queryobj.c')
-rw-r--r--src/mesa/main/queryobj.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index b5023e2..aa7c800 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -147,6 +147,12 @@ get_query_binding_point(struct gl_context *ctx, GLenum target)
return &ctx->Query.CurrentOcclusionObject;
else
return NULL;
+ case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:
+ if (ctx->Extensions.ARB_ES3_compatibility
+ || (ctx->API == API_OPENGLES2 && ctx->Version >= 30))
+ return &ctx->Query.CurrentOcclusionObject;
+ else
+ return NULL;
case GL_TIME_ELAPSED_EXT:
if (ctx->Extensions.EXT_timer_query)
return &ctx->Query.CurrentTimerObject;
@@ -577,7 +583,8 @@ _mesa_GetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
if (!q->Ready)
ctx->Driver.WaitQuery(ctx, q);
/* if result is too large for returned type, clamp to max value */
- if (q->Target == GL_ANY_SAMPLES_PASSED) {
+ if (q->Target == GL_ANY_SAMPLES_PASSED
+ || q->Target == GL_ANY_SAMPLES_PASSED_CONSERVATIVE) {
if (q->Result)
*params = GL_TRUE;
else
@@ -628,7 +635,8 @@ _mesa_GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
if (!q->Ready)
ctx->Driver.WaitQuery(ctx, q);
/* if result is too large for returned type, clamp to max value */
- if (q->Target == GL_ANY_SAMPLES_PASSED) {
+ if (q->Target == GL_ANY_SAMPLES_PASSED
+ || q->Target == GL_ANY_SAMPLES_PASSED_CONSERVATIVE) {
if (q->Result)
*params = GL_TRUE;
else