summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/r200/r200_cmdbuf.c7
-rw-r--r--src/mesa/drivers/dri/r200/r200_ioctl.c6
2 files changed, 9 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_cmdbuf.c b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
index 5cdb3657f9..531ec8933a 100644
--- a/src/mesa/drivers/dri/r200/r200_cmdbuf.c
+++ b/src/mesa/drivers/dri/r200/r200_cmdbuf.c
@@ -112,6 +112,9 @@ static void r200SaveHwState( r200ContextPtr rmesa )
struct r200_state_atom *atom;
char * dest = rmesa->backup_store.cmd_buf;
+ if (R200_DEBUG & DEBUG_STATE)
+ fprintf(stderr, "%s\n", __FUNCTION__);
+
rmesa->backup_store.cmd_used = 0;
foreach( atom, &rmesa->hw.atomlist ) {
@@ -120,10 +123,14 @@ static void r200SaveHwState( r200ContextPtr rmesa )
memcpy( dest, atom->cmd, size);
dest += size;
rmesa->backup_store.cmd_used += size;
+ if (R200_DEBUG & DEBUG_STATE)
+ print_state_atom( atom );
}
}
assert( rmesa->backup_store.cmd_used <= R200_CMD_BUF_SZ );
+ if (R200_DEBUG & DEBUG_STATE)
+ fprintf(stderr, "Returning to r200EmitState\n");
}
void r200EmitState( r200ContextPtr rmesa )
diff --git a/src/mesa/drivers/dri/r200/r200_ioctl.c b/src/mesa/drivers/dri/r200/r200_ioctl.c
index 74cc40adcd..077afd81e8 100644
--- a/src/mesa/drivers/dri/r200/r200_ioctl.c
+++ b/src/mesa/drivers/dri/r200/r200_ioctl.c
@@ -66,7 +66,7 @@ static void r200WaitForIdle( r200ContextPtr rmesa );
*/
static void r200BackUpAndEmitLostStateLocked( r200ContextPtr rmesa )
{
- GLuint nr_released_bufs, saved_cmd_used;
+ GLuint nr_released_bufs;
struct r200_store saved_store;
if (rmesa->backup_store.cmd_used == 0)
@@ -81,9 +81,7 @@ static void r200BackUpAndEmitLostStateLocked( r200ContextPtr rmesa )
saved_store = rmesa->store;
rmesa->dma.nr_released_bufs = 0;
rmesa->store = rmesa->backup_store;
- saved_cmd_used = rmesa->backup_store.cmd_used;
r200FlushCmdBufLocked( rmesa, __FUNCTION__ );
- rmesa->backup_store.cmd_used = saved_cmd_used;
rmesa->dma.nr_released_bufs = nr_released_bufs;
rmesa->store = saved_store;
}
@@ -597,7 +595,7 @@ static void r200Clear( GLcontext *ctx, GLbitfield mask, GLboolean all,
return;
}
- R200_FIREVERTICES( rmesa );
+ r200Flush( ctx );
if ( mask & DD_FRONT_LEFT_BIT ) {
flags |= RADEON_FRONT;