zink: never split a renderpass for a loadop change

not sure if this was possible, but make sure it's not

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22027>
This commit is contained in:
Mike Blumenkrantz 2023-03-20 09:41:56 -04:00 committed by Marge Bot
parent 61c236bc31
commit 7ca5656c49
2 changed files with 2 additions and 2 deletions

View file

@ -2580,7 +2580,7 @@ begin_rendering(struct zink_context *ctx)
bool changed_size = false;
bool zsbuf_used = zink_is_zsbuf_used(ctx);
bool use_tc_info = !ctx->blitting && ctx->tc && zink_screen(ctx->base.screen)->driver_workarounds.track_renderpasses;
if (ctx->rp_changed || ctx->rp_layout_changed || ctx->rp_loadop_changed) {
if (ctx->rp_changed || ctx->rp_layout_changed || (!ctx->batch.in_rp && ctx->rp_loadop_changed)) {
/* init imageviews, base loadOp, formats */
for (int i = 0; i < ctx->fb_state.nr_cbufs; i++) {
struct zink_surface *surf = zink_csurface(ctx->fb_state.cbufs[i]);

View file

@ -571,7 +571,7 @@ setup_framebuffer(struct zink_context *ctx)
zink_update_vk_sample_locations(ctx);
if (ctx->rp_changed || ctx->rp_layout_changed || ctx->rp_loadop_changed) {
if (ctx->rp_changed || ctx->rp_layout_changed || (!ctx->batch.in_rp && ctx->rp_loadop_changed)) {
/* 0. ensure no stale pointers are set */
ctx->gfx_pipeline_state.next_render_pass = NULL;
/* 1. calc new rp */