summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pm4.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2016-06-11 21:07:14 +0200
committerMarek Olšák <marek.olsak@amd.com>2016-10-04 16:12:05 +0200
commit53d2c8f00f5422a872cedbea4674c004378d9999 (patch)
tree74761bdcf8917f2baaada2e58be567c7f64fe734 /src/gallium/drivers/radeonsi/si_pm4.c
parent6c0168439348e6ea801258e373693d4aaa4ee44e (diff)
downloadexternal_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.c9
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);
}