X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fstate_tracker%2Fst_cb_condrender.c;h=64c6c117fca4efa71bff4a7720b2bda4f111c848;hb=c1477f6ffe6a3d032dbcc76a5f506a7293e2fece;hp=7766ead48b59af3884dab662d5d31c044fbd8562;hpb=0072acd447dc6be652e63752e50215c3105322c8;p=mesa.git diff --git a/src/mesa/state_tracker/st_cb_condrender.c b/src/mesa/state_tracker/st_cb_condrender.c index 7766ead48b5..64c6c117fca 100644 --- a/src/mesa/state_tracker/st_cb_condrender.c +++ b/src/mesa/state_tracker/st_cb_condrender.c @@ -51,7 +51,8 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, GLenum mode) { struct st_query_object *stq = st_query_object(q); - struct pipe_context *pipe = st_context(ctx)->pipe; + struct st_context *st = st_context(ctx); + struct pipe_context *pipe = st->pipe; uint m; switch (mode) { @@ -72,6 +73,9 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, m = PIPE_RENDER_COND_WAIT; } + st->render_condition = stq->pq; + st->condition_mode = m; + pipe->render_condition(pipe, stq->pq, m); } @@ -82,9 +86,12 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, static void st_EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q) { - struct pipe_context *pipe = st_context(ctx)->pipe; + struct st_context *st = st_context(ctx); + struct pipe_context *pipe = st->pipe; (void) q; + pipe->render_condition(pipe, NULL, 0); + st->render_condition = NULL; }