Strange, than this doesn't seems to work. I get valgrind warning that
this is still allocated.
Christian.
Am 08.03.2014 13:52, schrieb Marek Olšák:
si_release_all_descriptors does this already.
Marek
On Sat, Mar 8, 2014 at 1:21 PM, Christian König <deathsim...@vodafone.de> wrote:
From: Christian König <christian.koe...@amd.com>
Signed-off-by: Christian König <christian.koe...@amd.com>
---
src/gallium/drivers/radeonsi/si_pipe.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c
b/src/gallium/drivers/radeonsi/si_pipe.c
index 5bc86bb..7e8e09b 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -80,6 +80,13 @@ static void si_destroy_context(struct pipe_context *context)
si_release_all_descriptors(sctx);
+ for (int shader = 0; shader < SI_NUM_SHADERS; shader++) {
+ struct si_buffer_resources *buffers =
&sctx->const_buffers[shader];
+ for (int i = 0; i < NUM_CONST_BUFFERS; i++) {
+ pipe_resource_reference(&buffers->buffers[i], NULL);
+ }
+ }
+
pipe_resource_reference(&sctx->null_const_buf.buffer, NULL);
r600_resource_reference(&sctx->border_color_table, NULL);
@@ -190,8 +197,7 @@ static struct pipe_context *si_create_context(struct
pipe_screen *screen, void *
for (shader = 0; shader < SI_NUM_SHADERS; shader++) {
for (i = 0; i < NUM_CONST_BUFFERS; i++) {
- sctx->b.b.set_constant_buffer(&sctx->b.b,
shader, i,
-
&sctx->null_const_buf);
+ sctx->b.b.set_constant_buffer(&sctx->b.b,
shader, i, NULL);
}
}
--
1.8.3.2
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev