diff options
author | Marek Olšák <marek.olsak@amd.com> | 2016-06-11 21:07:14 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2016-10-04 16:12:05 +0200 |
commit | 53d2c8f00f5422a872cedbea4674c004378d9999 (patch) | |
tree | 74761bdcf8917f2baaada2e58be567c7f64fe734 /src/gallium/drivers/radeonsi/si_pm4.c | |
parent | 6c0168439348e6ea801258e373693d4aaa4ee44e (diff) | |
download | external_mesa3d-53d2c8f00f5422a872cedbea4674c004378d9999.zip external_mesa3d-53d2c8f00f5422a872cedbea4674c004378d9999.tar.gz external_mesa3d-53d2c8f00f5422a872cedbea4674c004378d9999.tar.bz2 |
radeonsi: don't re-create shader PM4 states after scratch buffer update
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pm4.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pm4.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pm4.c b/src/gallium/drivers/radeonsi/si_pm4.c index c3032fc..386d093 100644 --- a/src/gallium/drivers/radeonsi/si_pm4.c +++ b/src/gallium/drivers/radeonsi/si_pm4.c @@ -103,11 +103,18 @@ void si_pm4_add_bo(struct si_pm4_state *state, state->bo_priority[idx] = priority; } -void si_pm4_free_state_simple(struct si_pm4_state *state) +void si_pm4_clear_state(struct si_pm4_state *state) { for (int i = 0; i < state->nbo; ++i) r600_resource_reference(&state->bo[i], NULL); r600_resource_reference(&state->indirect_buffer, NULL); + state->nbo = 0; + state->ndw = 0; +} + +void si_pm4_free_state_simple(struct si_pm4_state *state) +{ + si_pm4_clear_state(state); FREE(state); } |