From: Ilia Mirkin Date: Fri, 5 Feb 2016 02:51:58 +0000 (-0500) Subject: st/mesa: make use of the occlusion predicate query X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7aca4bb9b130450574b42fd84667f645a0749226;p=mesa.git st/mesa: make use of the occlusion predicate query Signed-off-by: Ilia Mirkin Reviewed-by: Marek Olšák Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/state_tracker/st_cb_queryobj.c b/src/mesa/state_tracker/st_cb_queryobj.c index fc239bc778c..cdb9efc762b 100644 --- a/src/mesa/state_tracker/st_cb_queryobj.c +++ b/src/mesa/state_tracker/st_cb_queryobj.c @@ -96,7 +96,8 @@ st_BeginQuery(struct gl_context *ctx, struct gl_query_object *q) switch (q->Target) { case GL_ANY_SAMPLES_PASSED: case GL_ANY_SAMPLES_PASSED_CONSERVATIVE: - /* fall-through */ + type = PIPE_QUERY_OCCLUSION_PREDICATE; + break; case GL_SAMPLES_PASSED_ARB: type = PIPE_QUERY_OCCLUSION_COUNTER; break; @@ -240,7 +241,14 @@ get_query_result(struct pipe_context *pipe, stq->base.Result = data.pipeline_statistics.c_primitives; break; default: - stq->base.Result = data.u64; + switch (stq->type) { + case PIPE_QUERY_OCCLUSION_PREDICATE: + stq->base.Result = !!data.b; + break; + default: + stq->base.Result = data.u64; + break; + } break; }