summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_common_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/radeon/radeon_common_context.c')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common_context.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
index 35622099bf..13711963e2 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c
@@ -264,6 +264,7 @@ GLboolean radeonInitContext(radeonContextPtr radeon,
}
make_empty_list(&radeon->query.not_flushed_head);
+ radeon_init_dma(radeon);
return GL_TRUE;
}
@@ -309,10 +310,11 @@ void radeonDestroyContext(__DRIcontextPrivate *driContextPriv )
assert(radeon);
if (radeon) {
- if (radeon->dma.current) {
+ if (!is_empty_list(&radeon->dma.reserved)) {
rcommonFlushCmdBuf( radeon, __FUNCTION__ );
}
+ radeonFreeDmaRegions(radeon);
radeonReleaseArrays(radeon->glCtx, ~0);
meta_destroy_metaops(&radeon->meta);
if (radeon->vtbl.free_context)