It really doesn't do anything there.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
si_pm4_reset_emitted(ctx);
/* The CS initialization should be emitted before everything else. */
- si_pm4_emit(ctx, ctx->queued.named.init);
- ctx->emitted.named.init = ctx->queued.named.init;
+ si_pm4_emit(ctx, ctx->init_config);
ctx->clip_regs.dirty = true;
ctx->framebuffer.atom.dirty = true;
pipe_resource_reference(&sctx->null_const_buf.buffer, NULL);
r600_resource_reference(&sctx->border_color_table, NULL);
+ si_pm4_free_state(sctx, sctx->init_config, ~0);
si_pm4_delete_state(sctx, gs_rings, sctx->gs_rings);
si_pm4_delete_state(sctx, gs_onoff, sctx->gs_on);
si_pm4_delete_state(sctx, gs_onoff, sctx->gs_off);
void *custom_blend_decompress;
void *custom_blend_fastclear;
struct si_screen *screen;
+ struct si_pm4_state *init_config;
union {
struct {
if (!state || sctx->emitted.array[i] == state)
continue;
- assert(state != sctx->queued.named.init);
si_pm4_emit(sctx, state);
sctx->emitted.array[i] = state;
}
si_pm4_set_reg(pm4, R_00B01C_SPI_SHADER_PGM_RSRC3_PS, S_00B01C_CU_EN(0xffff));
}
- si_pm4_set_state(sctx, init, pm4);
+ sctx->init_config = pm4;
}
union si_state {
struct {
- struct si_pm4_state *init;
struct si_state_blend *blend;
struct si_pm4_state *blend_color;
struct si_pm4_state *clip;