From: Dave Airlie Date: Tue, 17 Aug 2010 09:01:18 +0000 (+1000) Subject: r300g: fix context destroy under hyperz X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1c2a44e445fa4d3bd6f95d9c63041c222268724a;p=mesa.git r300g: fix context destroy under hyperz we were destroying the mm before unrefing all the objects, so segfault. Signed-off-by: Dave Airlie --- diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index a83ad892eaa..852d88af543 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -119,15 +119,15 @@ static void r300_destroy_context(struct pipe_context* context) if (r300->upload_ib) u_upload_destroy(r300->upload_ib); - if (r300->zmask_mm) - r300_hyperz_destroy_mm(r300); - if (r300->tran.translate_cache) translate_cache_destroy(r300->tran.translate_cache); /* XXX: This function assumes r300->query_list was initialized */ r300_release_referenced_objects(r300); + if (r300->zmask_mm) + r300_hyperz_destroy_mm(r300); + if (r300->cs) r300->rws->cs_destroy(r300->cs);