summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-02-11 16:52:56 +1000
committerDave Airlie <airlied@redhat.com>2009-02-11 16:52:56 +1000
commit7e98907eb8da936d72902fa0bb456962fe6ac551 (patch)
treeede6ae56710225af64c286ac48a18183543f3fd9 /src/mesa/drivers/dri/r300
parent832446c892caa0656f9d903c42c4e05fae44ef3d (diff)
radeon: cleanup cmdbuffer
Diffstat (limited to 'src/mesa/drivers/dri/r300')
-rw-r--r--src/mesa/drivers/dri/r300/r300_cmdbuf.c5
-rw-r--r--src/mesa/drivers/dri/r300/r300_context.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
index bbc7157595..ec702f6eb3 100644
--- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c
+++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
@@ -97,12 +97,12 @@ static INLINE void r300EmitAtoms(r300ContextPtr r300, GLboolean dirty)
struct radeon_state_atom *atom;
int dwords;
- cp_wait(r300, R300_WAIT_3D | R300_WAIT_3D_CLEAN);
+ cp_wait(r300, R300_WAIT_3D | R300_WAIT_3D_CLEAN);
BEGIN_BATCH_NO_AUTOSTATE(2);
OUT_BATCH(cmdpacket0(r300->radeon.radeonScreen, R300_TX_INVALTAGS, 1));
OUT_BATCH(R300_TX_FLUSH);
END_BATCH();
- end_3d(r300);
+ end_3d(r300);
/* Emit actual atoms */
foreach(atom, &r300->hw.atomlist) {
@@ -724,6 +724,5 @@ void r300DestroyCmdBuf(r300ContextPtr r300)
foreach(atom, &r300->hw.atomlist) {
FREE(atom->cmd);
}
- rcommonDestroyCmdBuf(&r300->radeon);
}
diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c
index 9ab7e3ae88..3e47888e45 100644
--- a/src/mesa/drivers/dri/r300/r300_context.c
+++ b/src/mesa/drivers/dri/r300/r300_context.c
@@ -487,15 +487,17 @@ void r300DestroyContext(__DRIcontextPrivate * driContextPriv)
_swrast_DestroyContext(r300->radeon.glCtx);
rcommonFlushCmdBuf(&r300->radeon, __FUNCTION__);
- r300DestroyCmdBuf(r300);
if (radeon->state.scissor.pClipRects) {
FREE(radeon->state.scissor.pClipRects);
radeon->state.scissor.pClipRects = NULL;
}
+ r300DestroyCmdBuf(r300);
+
radeonCleanupContext(&r300->radeon);
+
/* the memory manager might be accessed when Mesa frees the shared
* state, so don't destroy it earlier
*/