mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-10 03:28:18 +02:00
zink: reapply zsbuf state after unordered blits
this otherwise creates desync if a renderpass continues after blit reordering cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40366>
This commit is contained in:
parent
8cbb532251
commit
43a6928d62
1 changed files with 4 additions and 0 deletions
|
|
@ -491,6 +491,8 @@ zink_blit(struct pipe_context *pctx,
|
|||
if (whole)
|
||||
pctx->invalidate_resource(pctx, info->dst.resource);
|
||||
|
||||
bool zsbuf_unused = ctx->zsbuf_unused;
|
||||
bool zsbuf_readonly = ctx->zsbuf_readonly;
|
||||
ctx->unordered_blitting = !(info->render_condition_enable && ctx->render_condition_active) &&
|
||||
!needs_present_readback &&
|
||||
zink_get_cmdbuf(ctx, src, dst) == ctx->bs->reordered_cmdbuf;
|
||||
|
|
@ -571,6 +573,8 @@ zink_blit(struct pipe_context *pctx,
|
|||
ctx->gfx_pipeline_state.pipeline = pipeline;
|
||||
ctx->pipeline_changed[ZINK_PIPELINE_GFX] = true;
|
||||
ctx->ds3_states = ds3_states;
|
||||
ctx->zsbuf_readonly = zsbuf_readonly;
|
||||
ctx->zsbuf_unused = zsbuf_unused;
|
||||
zink_select_draw_vbo(ctx);
|
||||
}
|
||||
ctx->unordered_blitting = false;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue