zink: use the per-context track_renderpasses flag in more places

this should fix some erroneous zsbuf invalidation

Fixes: 215beee16d ("zink: more explicitly track/check rp optimizing per-context")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23189>
(cherry picked from commit 32b7659fff)
This commit is contained in:
Mike Blumenkrantz 2023-05-23 13:58:09 -04:00 committed by Eric Engestrom
parent c517ab7ce1
commit c54295e993
3 changed files with 4 additions and 4 deletions

View file

@ -814,7 +814,7 @@
"description": "zink: use the per-context track_renderpasses flag in more places",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "215beee16d9e075a63fd1afc62cc00b28aae1086"
},

View file

@ -3659,7 +3659,7 @@ zink_flush(struct pipe_context *pctx,
check_device_lost(ctx);
}
}
if (ctx->tc && !screen->driver_workarounds.track_renderpasses)
if (ctx->tc && !ctx->track_renderpasses)
tc_driver_internal_flush_notify(ctx->tc);
} else {
fence = &batch->state->fence;

View file

@ -522,10 +522,10 @@ zink_bind_depth_stencil_alpha_state(struct pipe_context *pctx, void *cso)
state->dirty |= !zink_screen(pctx->screen)->info.have_EXT_extended_dynamic_state;
ctx->dsa_state_changed = true;
}
if (!zink_screen(ctx->base.screen)->driver_workarounds.track_renderpasses && !ctx->blitting)
if (!ctx->track_renderpasses && !ctx->blitting)
zink_parse_tc_info(ctx);
}
if (!zink_screen(ctx->base.screen)->driver_workarounds.track_renderpasses && !ctx->blitting) {
if (!ctx->track_renderpasses && !ctx->blitting) {
bool zs_write = ctx->dsa_state ? ctx->dsa_state->hw_state.depth_write || ctx->dsa_state->hw_state.stencil_test : false;
if (prev_zswrite != zs_write) {
/* flag renderpass for re-check on next draw */