zink: restart conditional render when crossing batch boundary
this will only happen when conditional render was being used outside of a renderpass Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15018>
This commit is contained in:
@@ -2440,6 +2440,7 @@ flush_batch(struct zink_context *ctx, bool sync)
|
||||
if (ctx->clears_enabled)
|
||||
/* start rp to do all the clears */
|
||||
zink_begin_render_pass(ctx);
|
||||
bool conditional_render_active = ctx->render_condition.active;
|
||||
zink_stop_conditional_render(ctx);
|
||||
zink_end_render_pass(ctx);
|
||||
zink_end_batch(ctx, batch);
|
||||
@@ -2464,6 +2465,8 @@ flush_batch(struct zink_context *ctx, bool sync)
|
||||
ctx->oom_stall = false;
|
||||
ctx->dd->bindless_bound = false;
|
||||
ctx->di.bindless_refs_dirty = true;
|
||||
if (conditional_render_active)
|
||||
zink_start_conditional_render(ctx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user