[Mesa-stable] [Mesa-dev][PATCH 1/2] r600: Cleanup constant buffers on context destruction

Jan Vesely jan.vesely at rutgers.edu
Tue May 8 03:05:09 UTC 2018


CC: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 src/gallium/drivers/r600/r600_pipe.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index 102e75035f..1a293ea698 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -65,7 +65,7 @@ static const struct debug_named_value r600_debug_options[] = {
 static void r600_destroy_context(struct pipe_context *context)
 {
 	struct r600_context *rctx = (struct r600_context *)context;
-	unsigned sh;
+	unsigned sh, i;
 
 	r600_isa_destroy(rctx->isa);
 
@@ -104,6 +104,10 @@ static void r600_destroy_context(struct pipe_context *context)
 	}
 	util_unreference_framebuffer_state(&rctx->framebuffer.state);
 
+	for (sh = 0; sh < PIPE_SHADER_TYPES; ++sh)
+		for (i = 0; i < PIPE_MAX_CONSTANT_BUFFERS; ++i)
+			rctx->b.b.set_constant_buffer(context, sh, i, NULL);
+
 	if (rctx->blitter) {
 		util_blitter_destroy(rctx->blitter);
 	}
-- 
2.17.0



More information about the mesa-stable mailing list