Mesa (master): freedreno: move free() into fdN_context_destroy()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Aug 14 19:47:01 UTC 2018


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

Author: Rob Clark <robdclark at gmail.com>
Date:   Mon Jul 30 08:38:28 2018 -0400

freedreno: move free() into fdN_context_destroy()

Following patches will be doing further cleanup after calling
fd_context_destroy() so it is easier if we move the free() into
the per-gen backend code.

Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/a2xx/fd2_context.c  | 1 +
 src/gallium/drivers/freedreno/a3xx/fd3_context.c  | 2 ++
 src/gallium/drivers/freedreno/a4xx/fd4_context.c  | 2 ++
 src/gallium/drivers/freedreno/a5xx/fd5_context.c  | 2 ++
 src/gallium/drivers/freedreno/freedreno_context.c | 2 --
 5 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_context.c b/src/gallium/drivers/freedreno/a2xx/fd2_context.c
index 4f6e432c96..71fc17bab9 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_context.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_context.c
@@ -41,6 +41,7 @@ static void
 fd2_context_destroy(struct pipe_context *pctx)
 {
 	fd_context_destroy(pctx);
+	free(pctx);
 }
 
 static struct pipe_resource *
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_context.c b/src/gallium/drivers/freedreno/a3xx/fd3_context.c
index 3623b9cf77..bb9dd2893e 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_context.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_context.c
@@ -55,6 +55,8 @@ fd3_context_destroy(struct pipe_context *pctx)
 	fd_hw_query_fini(pctx);
 
 	fd_context_destroy(pctx);
+
+	free(fd3_ctx);
 }
 
 static const uint8_t primtypes[] = {
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_context.c b/src/gallium/drivers/freedreno/a4xx/fd4_context.c
index 1f5546d236..12505e83a6 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_context.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_context.c
@@ -55,6 +55,8 @@ fd4_context_destroy(struct pipe_context *pctx)
 	fd_hw_query_fini(pctx);
 
 	fd_context_destroy(pctx);
+
+	free(fd4_ctx);
 }
 
 static const uint8_t primtypes[] = {
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_context.c b/src/gallium/drivers/freedreno/a5xx/fd5_context.c
index c43a8ad2ec..96e89bc854 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_context.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_context.c
@@ -54,6 +54,8 @@ fd5_context_destroy(struct pipe_context *pctx)
 	u_upload_destroy(fd5_ctx->border_color_uploader);
 
 	fd_context_destroy(pctx);
+
+	free(fd5_ctx);
 }
 
 static const uint8_t primtypes[] = {
diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c
index e1324e8c0a..2eeb85e315 100644
--- a/src/gallium/drivers/freedreno/freedreno_context.c
+++ b/src/gallium/drivers/freedreno/freedreno_context.c
@@ -172,8 +172,6 @@ fd_context_destroy(struct pipe_context *pctx)
 			(uint32_t)ctx->stats.batch_gmem, (uint32_t)ctx->stats.batch_nondraw,
 			(uint32_t)ctx->stats.batch_restore);
 	}
-
-	FREE(ctx);
 }
 
 static void




More information about the mesa-commit mailing list