radeonsi: remove init config from states

It really doesn't do anything there.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Marek Olšák 2014-12-31 00:42:22 +01:00
parent 9141d88555
commit 638fa8016a
6 changed files with 4 additions and 5 deletions

View File

@ -142,8 +142,7 @@ void si_begin_new_cs(struct si_context *ctx)
si_pm4_reset_emitted(ctx); si_pm4_reset_emitted(ctx);
/* The CS initialization should be emitted before everything else. */ /* The CS initialization should be emitted before everything else. */
si_pm4_emit(ctx, ctx->queued.named.init); si_pm4_emit(ctx, ctx->init_config);
ctx->emitted.named.init = ctx->queued.named.init;
ctx->clip_regs.dirty = true; ctx->clip_regs.dirty = true;
ctx->framebuffer.atom.dirty = true; ctx->framebuffer.atom.dirty = true;

View File

@ -47,6 +47,7 @@ static void si_destroy_context(struct pipe_context *context)
pipe_resource_reference(&sctx->null_const_buf.buffer, NULL); pipe_resource_reference(&sctx->null_const_buf.buffer, NULL);
r600_resource_reference(&sctx->border_color_table, 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_rings, sctx->gs_rings);
si_pm4_delete_state(sctx, gs_onoff, sctx->gs_on); si_pm4_delete_state(sctx, gs_onoff, sctx->gs_on);
si_pm4_delete_state(sctx, gs_onoff, sctx->gs_off); si_pm4_delete_state(sctx, gs_onoff, sctx->gs_off);

View File

@ -101,6 +101,7 @@ struct si_context {
void *custom_blend_decompress; void *custom_blend_decompress;
void *custom_blend_fastclear; void *custom_blend_fastclear;
struct si_screen *screen; struct si_screen *screen;
struct si_pm4_state *init_config;
union { union {
struct { struct {

View File

@ -169,7 +169,6 @@ void si_pm4_emit_dirty(struct si_context *sctx)
if (!state || sctx->emitted.array[i] == state) if (!state || sctx->emitted.array[i] == state)
continue; continue;
assert(state != sctx->queued.named.init);
si_pm4_emit(sctx, state); si_pm4_emit(sctx, state);
sctx->emitted.array[i] = state; sctx->emitted.array[i] = state;
} }

View File

@ -3085,5 +3085,5 @@ void si_init_config(struct si_context *sctx)
si_pm4_set_reg(pm4, R_00B01C_SPI_SHADER_PGM_RSRC3_PS, S_00B01C_CU_EN(0xffff)); 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;
} }

View File

@ -88,7 +88,6 @@ struct si_vertex_element
union si_state { union si_state {
struct { struct {
struct si_pm4_state *init;
struct si_state_blend *blend; struct si_state_blend *blend;
struct si_pm4_state *blend_color; struct si_pm4_state *blend_color;
struct si_pm4_state *clip; struct si_pm4_state *clip;