From: José Fonseca Date: Fri, 6 Jul 2012 17:31:15 +0000 (+0100) Subject: galahad: Use reference counting when destroying the wraped objects. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d78dee167117cbdeab5807e151cac0e347812497;p=mesa.git galahad: Use reference counting when destroying the wraped objects. As the wrapped pipe driver may hold internal references. --- 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); }