On Sat, May 25, 2002 at 07:37:33AM +0100, Michael wrote: > On Fri, May 24, 2002 at 06:35:36PM -0700, Linus Torvalds wrote: > > which certainly seems to imply that there are bogus command packets being > > sent to the kernel by tuxracer. > > Nod, this should be relatively easy given the nice way it exits.
Problem is summing the size of buffer needed for dirty state, when we call AllocCmdBuf to allocate it, that can dirty state if the buffer's flushed (via GetLock - the CTX in my previous post was the new page flipping stuff, but it looks like there is other state in that path) and the 2nd loop was outputting more than we'd reserved. (Keith, better fix for this? I assume you did it this way to avoid a per-state call to alloc or to avoid flushing in the middle of state changes?) Doesn't stop the hang in tuxkart, I've not hung tuxracer with or without this patch. Index: radeon_ioctl.c =================================================================== RCS file: /cvsroot/dri/xc/xc/lib/GL/mesa/src/drv/radeon/radeon_ioctl.c,v retrieving revision 1.11.2.21 diff -u -3 -p -r1.11.2.21 radeon_ioctl.c --- radeon_ioctl.c 21 May 2002 17:23:54 -0000 1.11.2.21 +++ radeon_ioctl.c 26 May 2002 05:20:12 -0000 @@ -68,7 +68,6 @@ static void radeon_emit_state_list( rade struct radeon_state_atom *list ) { struct radeon_state_atom *state, *tmp; - GLuint sz = 0; char *dest; if (rmesa->TclFallback & RADEON_TCL_FALLBACK_TCL_DISABLE) @@ -78,16 +77,11 @@ static void radeon_emit_state_list( rade make_empty_list( state ); } - foreach( state, list ) - if (state->check( rmesa->glCtx )) - sz += state->cmd_size; - - dest = radeonAllocCmdBuf( rmesa, sz * 4, __FUNCTION__); foreach_s( state, tmp, list ) { if (state->check( rmesa->glCtx )) { + dest = radeonAllocCmdBuf( rmesa, state->cmd_size * 4, __FUNCTION__); memcpy( dest, state->cmd, state->cmd_size * 4); - dest += state->cmd_size * 4; move_to_head( &(rmesa->hw.clean), state ); if (RADEON_DEBUG & DEBUG_STATE) print_state_atom( state ); -- Michael _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel