summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2012-07-06 18:31:15 +0100
committerJosé Fonseca <[email protected]>2012-07-06 18:35:44 +0100
commitd78dee167117cbdeab5807e151cac0e347812497 (patch)
tree7aa9b428b01e3e6873d135fdb3ad422cf2a00827
parentfe602da63f0a65a30d3476c756c4a201ea88b3c5 (diff)
galahad: Use reference counting when destroying the wraped objects.
As the wrapped pipe driver may hold internal references.
-rw-r--r--src/gallium/drivers/galahad/glhd_objects.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/galahad/glhd_objects.c b/src/gallium/drivers/galahad/glhd_objects.c
index badd2e1c1b7..b44adff20c7 100644
--- a/src/gallium/drivers/galahad/glhd_objects.c
+++ b/src/gallium/drivers/galahad/glhd_objects.c
@@ -105,7 +105,7 @@ galahad_surface_destroy(struct galahad_context *glhd_context,
struct galahad_surface *glhd_surface)
{
pipe_resource_reference(&glhd_surface->base.texture, NULL);
- glhd_context->pipe->surface_destroy(glhd_context->pipe, glhd_surface->surface);
+ pipe_surface_reference(&glhd_surface->surface, NULL);
FREE(glhd_surface);
}
@@ -140,9 +140,8 @@ void
galahad_sampler_view_destroy(struct galahad_context *glhd_context,
struct galahad_sampler_view *glhd_view)
{
+ pipe_sampler_view_reference(&glhd_view->sampler_view, NULL);
pipe_resource_reference(&glhd_view->base.texture, NULL);
- glhd_context->pipe->sampler_view_destroy(glhd_context->pipe,
- glhd_view->sampler_view);
FREE(glhd_view);
}