mesa/es3: Add support for GL_ANY_SAMPLES_PASSED_CONSERVATIVE query target
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -94,6 +94,7 @@ st_BeginQuery(struct gl_context *ctx, struct gl_query_object *q)
|
||||
/* convert GL query type to Gallium query type */
|
||||
switch (q->Target) {
|
||||
case GL_ANY_SAMPLES_PASSED:
|
||||
case GL_ANY_SAMPLES_PASSED_CONSERVATIVE:
|
||||
/* fall-through */
|
||||
case GL_SAMPLES_PASSED_ARB:
|
||||
type = PIPE_QUERY_OCCLUSION_COUNTER;
|
||||
|
||||
Reference in New Issue
Block a user