summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2020-08-01 03:13:55 +0200
committerEric Engestrom <eric@engestrom.ch>2020-08-05 22:23:21 +0200
commit440275b3e25c3a4e9e3c4b70196c46941a72eba5 (patch)
treef40ed3d43f29ae233194bda97532855e2a080995 /src
parent4fb918f45606a947c3414faca75ab4632622da03 (diff)
mesa/st: Actually free the driver part of memory objects on destruction.
_mesa_delete_memory_object(ctx, obj) == free(obj) but doesn't free the part of the gallium driver. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1206 Fixes: 49f4ecc6777 "mesa/st: start adding memory object support" Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6148> (cherry picked from commit 99cf9108340c2ccf7c1b05ec6f951e2e91b9c76c)
Diffstat (limited to 'src')
-rw-r--r--src/mesa/state_tracker/st_cb_memoryobjects.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_memoryobjects.c b/src/mesa/state_tracker/st_cb_memoryobjects.c
index d81c7692c1f..f695e9b10a0 100644
--- a/src/mesa/state_tracker/st_cb_memoryobjects.c
+++ b/src/mesa/state_tracker/st_cb_memoryobjects.c
@@ -54,6 +54,12 @@ static void
st_memoryobj_free(struct gl_context *ctx,
struct gl_memory_object *obj)
{
+ struct st_memory_object *st_obj = st_memory_object(obj);
+ struct st_context *st = st_context(ctx);
+ struct pipe_context *pipe = st->pipe;
+ struct pipe_screen *screen = pipe->screen;
+
+ screen->memobj_destroy(screen, st_obj->memory);
_mesa_delete_memory_object(ctx, obj);
}