From 11293d71f25eb03ee790958b566d82d834a3efff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 27 Jan 2021 18:06:57 -0500 Subject: [PATCH] radeonsi: delete si_pm4_delete_state Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_pipe.c | 2 +- src/gallium/drivers/radeonsi/si_state.c | 6 ++--- src/gallium/drivers/radeonsi/si_state.h | 3 --- .../drivers/radeonsi/si_state_shaders.c | 22 +++++++++---------- 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index b508a4baeec..2297834afa4 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -213,7 +213,7 @@ static void si_destroy_context(struct pipe_context *context) if (sctx->cs_preamble_gs_rings) si_pm4_free_state(sctx, sctx->cs_preamble_gs_rings, ~0); for (i = 0; i < ARRAY_SIZE(sctx->vgt_shader_config); i++) - si_pm4_delete_state(sctx, vgt_shader_config, sctx->vgt_shader_config[i]); + si_pm4_free_state(sctx, sctx->vgt_shader_config[i], SI_STATE_IDX(vgt_shader_config)); if (sctx->fixed_func_tcs_shader.cso) sctx->b.delete_tcs_state(&sctx->b, sctx->fixed_func_tcs_shader.cso); diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index c36bb17ad27..8b0ed04881f 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -673,7 +673,7 @@ static void si_delete_blend_state(struct pipe_context *ctx, void *state) if (sctx->queued.named.blend == state) si_bind_blend_state(ctx, sctx->noop_blend); - si_pm4_delete_state(sctx, blend, (struct si_state_blend *)state); + si_pm4_free_state(sctx, (struct si_pm4_state*)state, SI_STATE_IDX(blend)); } static void si_set_blend_color(struct pipe_context *ctx, const struct pipe_blend_color *state) @@ -1040,7 +1040,7 @@ static void si_delete_rs_state(struct pipe_context *ctx, void *state) si_bind_rs_state(ctx, sctx->discard_rasterizer_state); FREE(rs->pm4_poly_offset); - si_pm4_delete_state(sctx, rasterizer, rs); + si_pm4_free_state(sctx, &rs->pm4, SI_STATE_IDX(rasterizer)); } /* @@ -1265,7 +1265,7 @@ static void si_delete_dsa_state(struct pipe_context *ctx, void *state) if (sctx->queued.named.dsa == state) si_bind_dsa_state(ctx, sctx->noop_dsa); - si_pm4_delete_state(sctx, dsa, (struct si_state_dsa *)state); + si_pm4_free_state(sctx, (struct si_pm4_state*)state, SI_STATE_IDX(dsa)); } static void *si_create_db_flush_dsa(struct si_context *sctx) diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index f9d1bcdd407..68e97399596 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -484,9 +484,6 @@ struct si_buffer_resources { (sctx)->dirty_states &= ~SI_STATE_BIT(member); \ } while (0) -#define si_pm4_delete_state(sctx, member, value) \ - si_pm4_free_state(sctx, (struct si_pm4_state *)(value), SI_STATE_IDX(member)) - /* si_descriptors.c */ void si_set_mutable_tex_desc_fields(struct si_screen *sscreen, struct si_texture *tex, const struct legacy_surf_level *base_level_info, diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 7d6e51473d7..3809dced079 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -3169,37 +3169,37 @@ static void si_delete_shader(struct si_context *sctx, struct si_shader *shader) case MESA_SHADER_VERTEX: if (shader->key.as_ls) { assert(sctx->chip_class <= GFX8); - si_pm4_delete_state(sctx, ls, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(ls)); } else if (shader->key.as_es) { assert(sctx->chip_class <= GFX8); - si_pm4_delete_state(sctx, es, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(es)); } else if (shader->key.as_ngg) { - si_pm4_delete_state(sctx, gs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(gs)); } else { - si_pm4_delete_state(sctx, vs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(vs)); } break; case MESA_SHADER_TESS_CTRL: - si_pm4_delete_state(sctx, hs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(hs)); break; case MESA_SHADER_TESS_EVAL: if (shader->key.as_es) { assert(sctx->chip_class <= GFX8); - si_pm4_delete_state(sctx, es, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(es)); } else if (shader->key.as_ngg) { - si_pm4_delete_state(sctx, gs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(gs)); } else { - si_pm4_delete_state(sctx, vs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(vs)); } break; case MESA_SHADER_GEOMETRY: if (shader->is_gs_copy_shader) - si_pm4_delete_state(sctx, vs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(vs)); else - si_pm4_delete_state(sctx, gs, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(gs)); break; case MESA_SHADER_FRAGMENT: - si_pm4_delete_state(sctx, ps, shader->pm4); + si_pm4_free_state(sctx, shader->pm4, SI_STATE_IDX(ps)); break; default:; }