Nicolai Haehnle wrote:
On Saturday 19 February 2005 01:05, Adam K Kirchhoff wrote:Yeah, if I had actually taken the time to look at and understand the code, I would have just done that :-)
Nicolai Haehnle wrote:occured
Please, everybody, get the latest CVS (anonymous will take some time to catch up...) and test vertex buffer mode with it (go to r300_run_render() in r300_render.c and change the #if so that r300_vb_run_render() is called). I want to be really sure that this fixes it for other people as well (after all, there may be other causes for lockups that haven't
alreadyon my machine yet), and that there are no regressions for those who
Correct me if I'm wrong, but to get the driver to automatically use vb mode, all you have to do is to change:had working VB mode.
#if 1 return r300_run_immediate_render(ctx, stage); #else return r300_run_vb_render(ctx, stage); #endif
to
#if 1 return r300_run_vb_render(ctx, stage); #else return r300_run_vb_render(ctx, stage); #endif
Correct?
That's correct, although it would be easier to just change the 1 into a 0 ;)
If that's the case, I'm experiencing lockups with neverputt in both immediate and vb modes, though the symptoms are slightly different. In both cases, I have to ssh in and reboot. Simply killing neverputt doesn't bring back the machine. With immediate mode, the lockup seems to happen quicker. I can't get past the first hole. The mouse still responds.. I can move it around though, of course, it does no good. In vb mode, the mouse locks up, too.
Any ideas?
Interesting, I didn't have lockups that hard for quite some time. Then again, I'm only trying to get glxgears to run without lockups...
So this could really be anything.
The first rule of thumb is to run with the environment variable RADEON_DEBUG=all set and pipe stderr into a file (beware that this will reduce performance a lot), make sure you capture the entire file and examine that. The last line should be something like "R200 timed out... exiting" in "normal" lockups.
So I updated my Xorg cvs, as per Vladimir's recent suggestion, and gave neverputt another shot. It locked up, including the mouse... It dies with:
r300BindTexture( 0x831d050 ) unit=0 r300ResetHwState r300Flush r300FlushCmdBufLocked from r300Flush - 1 cliprects Syncing in r300FlushCmdBufLocked (from r300Flush)
Error: R200 timed out... exiting
I can upload the full debug log to a server at work, but it's about 62 megs and it's gonna take a while to upload.
I'm attaching the last 200 lines or so.
Adam
TX_ENABLE: 00000001 max_texture_unit=0 r300_check_render r300_run_render r300_run_vb_render r300ReleaseDmaRegion from r300ReleaseArrays r300ReleaseDmaRegion from r300ReleaseArrays r300ReleaseDmaRegion from r300ReleaseArrays Enabling VB->ObjPtr emit_vector count 78 size 3 stride 32 r300AllocDmaRegion 936 emit_vec12 count 78 stride 32 out 0xaec58968 data 0x8665dc0 Enabling VB->ColorPtr[0] emit_vector count 78 size 4 stride 16 r300AllocDmaRegion 1248 emit_vec16 count 78 stride 16 Enabling VB->TexCoordPtr[i] emit_vector count 78 size 2 stride 32 r300AllocDmaRegion 624 emit_vec8 count 78 stride 32 RR[0] - sz=3, reg=0, fmt=1 -- st=3, of=0x08149968 RR[1] - sz=4, reg=1, fmt=3 -- st=4, of=0x08149d10 RR[2] - sz=2, reg=2, fmt=1 -- st=2, of=0x0814a1f0 Reemit state after flush (from r300_run_vb_render) r300EmitState Begin reemit state Begin dirty state r300EmitState r300EmitAOS: nr=3, ofs=0x00000000 r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300BindTexture( 0x841f240 ) unit=0 r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300TexParameter( GL_TEXTURE_PRIORITY_EXT ) r300TexParameter( GL_TEXTURE_BORDER_COLOR ) r300TexParameter( GL_TEXTURE_BASE_LEVEL ) r300TexParameter( GL_TEXTURE_MAX_LEVEL ) r300BindTexture( 0x831d050 ) unit=0 r300ResetHwState r300Flush r300FlushCmdBufLocked from r300Flush - 1 cliprects Syncing in r300FlushCmdBufLocked (from r300Flush)
Error: R200 timed out... exiting