[Mesa-dev] [PATCH 1/3] radeonsi: Fix a few more state BO leaks.

Michel Dänzer michel at daenzer.net
Wed Aug 15 09:37:06 PDT 2012


From: Michel Dänzer <michel.daenzer at amd.com>

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/gallium/drivers/radeonsi/si_state.c      |    2 ++
 src/gallium/drivers/radeonsi/si_state_draw.c |    2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 1d6d214..db3ea25 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2003,6 +2003,7 @@ static void si_set_ps_sampler_view(struct pipe_context *ctx, unsigned count,
 	si_pm4_set_reg(pm4, R_00B040_SPI_SHADER_USER_DATA_PS_4, va);
 	si_pm4_set_reg(pm4, R_00B044_SPI_SHADER_USER_DATA_PS_5, va >> 32);
 
+	si_resource_reference(&bo, NULL);
 out:
 	si_pm4_set_state(rctx, ps_sampler_views, pm4);
 	rctx->have_depth_texture = has_depth;
@@ -2046,6 +2047,7 @@ static void si_bind_ps_sampler(struct pipe_context *ctx, unsigned count, void **
 	si_pm4_set_reg(pm4, R_00B038_SPI_SHADER_USER_DATA_PS_2, va);
 	si_pm4_set_reg(pm4, R_00B03C_SPI_SHADER_USER_DATA_PS_3, va >> 32);
 
+	si_resource_reference(&bo, NULL);
 out:
 	si_pm4_set_state(rctx, ps_sampler, pm4);
 	rctx->ps_samplers.n_samplers = count;
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 43644e5..8506933 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -458,6 +458,8 @@ static void si_vertex_buffer_update(struct r600_context *rctx)
 	si_pm4_set_reg(pm4, R_00B148_SPI_SHADER_USER_DATA_VS_6, va);
 	si_pm4_set_reg(pm4, R_00B14C_SPI_SHADER_USER_DATA_VS_7, va >> 32);
 	si_pm4_set_state(rctx, vertex_buffers, pm4);
+
+	si_resource_reference(&t_list_buffer, NULL);
 }
 
 static void si_state_draw(struct r600_context *rctx,
-- 
1.7.10.4



More information about the mesa-dev mailing list