Mesa (radeon-rewrite): r200: fixup some CS emission sizes

Dave Airlie airlied at kemper.freedesktop.org
Thu Feb 12 07:25:28 UTC 2009


Module: Mesa
Branch: radeon-rewrite
Commit: ade3660942452985afa1bb67bbeab8fed734089d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ade3660942452985afa1bb67bbeab8fed734089d

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Feb 13 01:27:21 2009 +1000

r200: fixup some CS emission sizes

---

 src/mesa/drivers/dri/r200/r200_cmdbuf.c     |    2 +-
 src/mesa/drivers/dri/r200/r200_context.c    |    1 +
 src/mesa/drivers/dri/r200/r200_state_init.c |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_cmdbuf.c b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
index 6317dec..55507be 100644
--- a/src/mesa/drivers/dri/r200/r200_cmdbuf.c
+++ b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
@@ -259,7 +259,7 @@ void r200EmitAOS(r200ContextPtr rmesa, GLuint nr, GLuint offset)
       fprintf(stderr, "%s: nr=%d, ofs=0x%08x\n", __FUNCTION__, nr,
 	      offset);
 
-   BEGIN_BATCH(sz+2);
+   BEGIN_BATCH(sz+2+ (nr*2));
    OUT_BATCH_PACKET3(R200_CP_CMD_3D_LOAD_VBPNTR, sz - 1);
    OUT_BATCH(nr);
 
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index 431bf82..d567bb7 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -555,6 +555,7 @@ void r200DestroyContext( __DRIcontextPrivate *driContextPriv )
       r200ReleaseArrays( rmesa->radeon.glCtx, ~0 );
 
       if (rmesa->radeon.dma.current) {
+	 radeonReleaseDmaRegion( &rmesa->radeon );
 	 rcommonFlushCmdBuf( &rmesa->radeon, __FUNCTION__ );
       }
 
diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
index 3cd2dc7..1a13c9e 100644
--- a/src/mesa/drivers/dri/r200/r200_state_init.c
+++ b/src/mesa/drivers/dri/r200/r200_state_init.c
@@ -417,7 +417,7 @@ static void ctx_emit(GLcontext *ctx, struct radeon_state_atom *atom)
    GLframebuffer *fb = r200->radeon.dri.drawable->driverPrivate;
 
    /* output the first 7 bytes of context */
-   BEGIN_BATCH_NO_AUTOSTATE(dwords);
+   BEGIN_BATCH_NO_AUTOSTATE(dwords+2+2);
    OUT_BATCH_TABLE(atom->cmd, 5);
 
    rrb = r200->radeon.state.depth.rrb;




More information about the mesa-commit mailing list