From d78dee167117cbdeab5807e151cac0e347812497 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Fri, 6 Jul 2012 18:31:15 +0100 Subject: galahad: Use reference counting when destroying the wraped objects. As the wrapped pipe driver may hold internal references. --- src/gallium/drivers/galahad/glhd_objects.c | 5 ++--- 1 file 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); } -- cgit v1.2.3