Mesa (master): r600: Cleanup constant buffers on context destruction

Jan Vesely jvesely at kemper.freedesktop.org
Tue May 8 13:05:00 UTC 2018


Module: Mesa
Branch: master
Commit: a1e8fcce3eafa59228bb9bb50179c04f150ca9ca
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1e8fcce3eafa59228bb9bb50179c04f150ca9ca

Author: Jan Vesely <jan.vesely at rutgers.edu>
Date:   Mon May  7 22:52:19 2018 -0400

r600: Cleanup constant buffers on context destruction

CC: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 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);
 	}




More information about the mesa-commit mailing list