From 3f8ad326276d14f3e38b4b5a58547227911d1ee7 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Tue, 19 Aug 2014 23:23:08 +1200 Subject: [PATCH] mesa: Add support for inverted s/w conditional rendering Signed-off-by: Chris Forbes Reviewed-by: Ilia Mirkin --- src/mesa/main/condrender.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c index 54cd423fa94..75f9d74bc88 100644 --- a/src/mesa/main/condrender.c +++ b/src/mesa/main/condrender.c @@ -162,12 +162,25 @@ _mesa_check_conditional_render(struct gl_context *ctx) ctx->Driver.WaitQuery(ctx, q); } return q->Result > 0; + case GL_QUERY_BY_REGION_WAIT_INVERTED: + /* fall-through */ + case GL_QUERY_WAIT_INVERTED: + if (!q->Ready) { + ctx->Driver.WaitQuery(ctx, q); + } + return q->Result == 0; case GL_QUERY_BY_REGION_NO_WAIT: /* fall-through */ case GL_QUERY_NO_WAIT: if (!q->Ready) ctx->Driver.CheckQuery(ctx, q); return q->Ready ? (q->Result > 0) : GL_TRUE; + case GL_QUERY_BY_REGION_NO_WAIT_INVERTED: + /* fall-through */ + case GL_QUERY_NO_WAIT_INVERTED: + if (!q->Ready) + ctx->Driver.CheckQuery(ctx, q); + return q->Ready ? (q->Result == 0) : GL_TRUE; default: _mesa_problem(ctx, "Bad cond render mode %s in " " _mesa_check_conditional_render()", -- 2.30.2