diff options
author | Dave Airlie <[email protected]> | 2010-08-17 19:01:18 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-08-17 19:01:18 +1000 |
commit | 1c2a44e445fa4d3bd6f95d9c63041c222268724a (patch) | |
tree | 32ee630ec3e23c512c1535efa69c744515f73cc7 /src/gallium/drivers/r300/r300_context.c | |
parent | 462e8a8b0d0836c2c2e3b4bf137ecd17db7292d2 (diff) |
r300g: fix context destroy under hyperz
we were destroying the mm before unrefing all the objects, so segfault.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_context.c | 6 |
1 files 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); |