diff --git a/.pick_status.json b/.pick_status.json index 2592c7990a7..4c9b5e52777 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -931,7 +931,7 @@ "description": "mesa/st: Actually free the driver part of memory objects on destruction.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "49f4ecc67773c082d93708bdf111acc4248678da" }, 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); }