From: Chris Forbes Date: Tue, 19 Aug 2014 11:23:08 +0000 (+1200) Subject: mesa: Add support for inverted s/w conditional rendering X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3f8ad326276d14f3e38b4b5a58547227911d1ee7;p=mesa.git mesa: Add support for inverted s/w conditional rendering Signed-off-by: Chris Forbes Reviewed-by: Ilia Mirkin --- 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()",