From 1c2a44e445fa4d3bd6f95d9c63041c222268724a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 17 Aug 2010 19:01:18 +1000 Subject: [PATCH] r300g: fix context destroy under hyperz we were destroying the mm before unrefing all the objects, so segfault. Signed-off-by: Dave Airlie --- src/gallium/drivers/r300/r300_context.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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); -- 2.30.2