zink: don't force a renderpass start when setting framebuffer state

this breaks compute and isn't strictly necessary since we'll be starting
a renderpass during draw anyway; we just need to flush here to update the
state

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8662>
This commit is contained in:
Mike Blumenkrantz
2020-08-11 18:36:52 -04:00
committed by Marge Bot
parent 2bc24c7e46
commit 3c3764f7df
+4 -2
View File
@@ -903,9 +903,11 @@ zink_set_framebuffer_state(struct pipe_context *pctx,
ctx->gfx_pipeline_state.num_attachments = state->nr_cbufs;
ctx->gfx_pipeline_state.dirty = true;
struct zink_batch *batch = zink_batch_no_rp(ctx);
/* need to start a new renderpass */
if (zink_curr_batch(ctx)->in_rp)
flush_batch(ctx);
framebuffer_state_buffer_barriers_setup(ctx, state, batch);
framebuffer_state_buffer_barriers_setup(ctx, &ctx->fb_state, zink_curr_batch(ctx));
}
static void