summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/va/buffer.c1
-rw-r--r--src/gallium/state_trackers/va/context.c1
-rw-r--r--src/gallium/state_trackers/va/image.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/buffer.c b/src/gallium/state_trackers/va/buffer.c
index 4023c327629..8f9ba440a75 100644
--- a/src/gallium/state_trackers/va/buffer.c
+++ b/src/gallium/state_trackers/va/buffer.c
@@ -131,6 +131,7 @@ vlVaDestroyBuffer(VADriverContextP ctx, VABufferID buf_id)
FREE(buf->data);
FREE(buf);
+ handle_table_remove(VL_VA_DRIVER(ctx)->htab, buf_id);
return VA_STATUS_SUCCESS;
}
diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c
index ae87d3b2b15..a7a55f96139 100644
--- a/src/gallium/state_trackers/va/context.c
+++ b/src/gallium/state_trackers/va/context.c
@@ -212,6 +212,7 @@ vlVaDestroyContext(VADriverContextP ctx, VAContextID context_id)
}
context->decoder->destroy(context->decoder);
FREE(context);
+ handle_table_remove(drv->htab, context_id);
return VA_STATUS_SUCCESS;
}
diff --git a/src/gallium/state_trackers/va/image.c b/src/gallium/state_trackers/va/image.c
index cd4044a1a76..a30155e26c9 100644
--- a/src/gallium/state_trackers/va/image.c
+++ b/src/gallium/state_trackers/va/image.c
@@ -171,6 +171,7 @@ vlVaDestroyImage(VADriverContextP ctx, VAImageID image)
if (!vaimage)
return VA_STATUS_ERROR_INVALID_IMAGE;
+ handle_table_remove(VL_VA_DRIVER(ctx)->htab, image);
return vlVaDestroyBuffer(ctx, vaimage->buf);
}