diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index dec535c..7b115c6 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1813,6 +1813,7 @@ static void si_set_framebuffer_state(struct pipe_context *ctx, struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state); uint32_t shader_mask, tl, br; int tl_x, tl_y, br_x, br_y; + int i; if (pm4 == NULL) return; @@ -1826,9 +1827,13 @@ static void si_set_framebuffer_state(struct pipe_context *ctx, /* build states */ rctx->export_16bpc = 0; - for (int i = 0; i < state->nr_cbufs; i++) { + for (i = 0; i < state->nr_cbufs; i++) { si_cb(rctx, pm4, state, i); } + for (; i < 8; i++) { + si_pm4_set_reg(pm4, R_028C70_CB_COLOR0_INFO + i * 0x3C, + S_028C70_FORMAT(V_028C70_COLOR_INVALID)); + } assert(!(rctx->export_16bpc & ~0xff)); si_db(rctx, pm4, state);