Re: [R300] rotating_gears snapshot
Hi, I played with it yesterday. I have x11perf lockups too. And X sometimes crash (simply exits) to login screen. I use FC3 and then when I do ctrl+alt+F1 (to get to console) system freezes (few uppers rows are redrawn (maybe by console text)), but no switch to text mode. When I uncomment these rows - then x11perf works (and no more X crash), but 3D locks as expexted: In radeon_cp.c in function radeon_do_cp_idle if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 4 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ ADVANCE_RING(); } and in radeon_stat.c in function radeon_cp_dispatch_swap: if (IS_FAMILY_R300(dev_priv)) { /* Make sure the new caches are flushed */ radeon_do_cp_idle(dev_priv); } else { BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); } changed to BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
On Fri, 31 Dec 2004, Peter Zubaj wrote: Hi, I played with it yesterday. I have x11perf lockups too. And X sometimes crash (simply exits) to login screen. I use FC3 and then when I do ctrl+alt+F1 (to get to console) system freezes (few uppers rows are redrawn (maybe by console text)), but no switch to text mode. Hi Peter, thank you very much for letting me know :) Could you tell me whether r300_demo locks up when your changes are applied ? thank you ! Vladimir Dergachev When I uncomment these rows - then x11perf works (and no more X crash), but 3D locks as expexted: In radeon_cp.c in function radeon_do_cp_idle if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 4 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ ADVANCE_RING(); } and in radeon_stat.c in function radeon_cp_dispatch_swap: if (IS_FAMILY_R300(dev_priv)) { /* Make sure the new caches are flushed */ radeon_do_cp_idle(dev_priv); } else { BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); } changed to BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
One more thing: try this code instead: if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 6 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ /* It seems a delay is needed */ OUT_RING( CP_PACKET3( RADEON_CP_NOP, 0 ) ); OUT_RING( 0x0 ); ADVANCE_RING(); } I think the extra NOP packet will produce the necessary delay.. thank you Vladimir Dergachev On Fri, 31 Dec 2004, Peter Zubaj wrote: Hi, I played with it yesterday. I have x11perf lockups too. And X sometimes crash (simply exits) to login screen. I use FC3 and then when I do ctrl+alt+F1 (to get to console) system freezes (few uppers rows are redrawn (maybe by console text)), but no switch to text mode. When I uncomment these rows - then x11perf works (and no more X crash), but 3D locks as expexted: In radeon_cp.c in function radeon_do_cp_idle if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 4 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ ADVANCE_RING(); } and in radeon_stat.c in function radeon_cp_dispatch_swap: if (IS_FAMILY_R300(dev_priv)) { /* Make sure the new caches are flushed */ radeon_do_cp_idle(dev_priv); } else { BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); } changed to BEGIN_RING(2); RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
r300_demo runs with or without this code (and without code in radeon_state.c too) One more thing: try this code instead: if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 6 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ /* It seems a delay is needed */ OUT_RING( CP_PACKET3( RADEON_CP_NOP, 0 ) ); OUT_RING( 0x0 ); ADVANCE_RING(); } With this code I was able run glxgears on full screen (with glxgears 2/dev/null - produced lock). Maybe I have only luck :-) Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
The gears seem to look normal now. Without drm debugging I was able to resize the glxgears window without lockups, but only while the r300_dri debug output wasn't redirected. With glxgears 2/dev/null, resizing the window caused a lockup. The interesting thing is that the artifacts still appear outside of the glxgears window. Is anyone else testing with an RV350 that can confirm this? Perhaps there's a small difference to the R300. Ben Skeggs. Vladimir Dergachev wrote: Cool, could you try the new version of rotating_gears ? I am curious to see whether it works any better for you. thank you Vladimir Dergachev On Fri, 31 Dec 2004, Peter Zubaj wrote: r300_demo runs with or without this code (and without code in radeon_state.c too) One more thing: try this code instead: if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 6 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ /* It seems a delay is needed */ OUT_RING( CP_PACKET3( RADEON_CP_NOP, 0 ) ); OUT_RING( 0x0 ); ADVANCE_RING(); } With this code I was able run glxgears on full screen (with glxgears 2/dev/null - produced lock). Maybe I have only luck :-) Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
On Sat, 1 Jan 2005, Ben Skeggs wrote: The gears seem to look normal now. Without drm debugging I was able to resize the glxgears window without lockups, but only while the r300_dri debug output wasn't redirected. With glxgears 2/dev/null, resizing the window caused a lockup. The interesting thing is that the artifacts still appear outside of the glxgears window. Is anyone else testing with an RV350 that can confirm this? Perhaps there's a small difference to the R300. I have RV350 and I don't seem them - at all. This is with a 3200x1200 24bit framebuffer (virtual screen shared between a panel and a monitor). Do you still see the artifacts with debugging and non-redirected output ? If not it must be that R300 and later hardware requires delays in command stream. This would be new - and difficult to debug without specifications. I'll add another command to drm to do delays, perhaps some of the problems will go away. best Vladimir Dergachev Ben Skeggs. Vladimir Dergachev wrote: Cool, could you try the new version of rotating_gears ? I am curious to see whether it works any better for you. thank you Vladimir Dergachev On Fri, 31 Dec 2004, Peter Zubaj wrote: r300_demo runs with or without this code (and without code in radeon_state.c too) One more thing: try this code instead: if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 6 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x0002); OUT_RING_REG(0x4F18, 0x0001); /* Z cache? */ /* It seems a delay is needed */ OUT_RING( CP_PACKET3( RADEON_CP_NOP, 0 ) ); OUT_RING( 0x0 ); ADVANCE_RING(); } With this code I was able run glxgears on full screen (with glxgears 2/dev/null - produced lock). Maybe I have only luck :-) Peter Zubaj RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
Hello, Well, this has progressed nicely since last time I checked in on it. Well done. I've tested the latest CVS on RV350 AP(0x4150) and it works without lockups. Although, while glxgears is running I seem to have artifacts around the rest of my screen. Also, vertex_shader.h and pixel_shader.h seem to be missing from the r300_driver module, I needed to copy them over from r300_demo. Good work! Ben Skeggs. Vladimir Dergachev wrote: Hi all, New snapshot of r300_driver is available. Get it from CVS, tag rotating_gears Changes: * code cleanup, do not clobber hardware state as much as before * hook up projection matrix - displays actually rotating gears * vertex buffer mode (not used by defaul) Problems: * I don't seem to get gears to display properly in vertex buffer mode, probably having problems synchronizing vertex buffers to command stream * the gears don't display quite right, although there was a single (apparently random) occurence of proper picture. Looks like a problem with culling and/or depth buffer settings. Enjoy ! Vladimir Dergachev --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
On Fri, 31 Dec 2004, Ben Skeggs wrote: Hello, Well, this has progressed nicely since last time I checked in on it. Well done. I've tested the latest CVS on RV350 AP(0x4150) and it works without lockups. Cool ! Can you resize the window without lockups as well ? Although, while glxgears is running I seem to have artifacts around the rest of my screen. This is very interesting - I see no artifacts on my computer. Could you tell what resolution/colordepth are you running at ? How much memory does your card have ? Also, vertex_shader.h and pixel_shader.h seem to be missing from the r300_driver module, I needed to copy them over from r300_demo. Fixed. Thank you ! best Vladimir Dergachev --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
Cool ! Can you resize the window without lockups as well ? No, I can't. I didn't think to test that until after my last email. This is very interesting - I see no artifacts on my computer. Could you tell what resolution/colordepth are you running at ? How much memory does your card have ? Perhaps artifacts is the wrong word to use. But it seemed that parts of the gears were being rendered outside of the glxgears window, just short horizontal lines in the colours of the gears. Anyway, I was running in 1400x1050 24-bit, my card has 256MB of memory. I'd been meaning to study the DRI architecture a fair while ago, in hopes that I'd be able to contribute, but never got around to it. I'm starting to get a general idea of how things fit together with Mesa now. Watching this driver come together has been the perfect opportunity to learn! Regards, Ben Skeggs. --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
Cool ! Can you resize the window without lockups as well ? No, I can't. I didn't think to test that until after my last email. Okay, that wasn't quite true. I was just attempting to get the drm log of what happened on the lockup and it was quite hard to produce with drm debugging on. I'm guessing there's some kind of synchronisation problem which doesn't show up as easily when the system is busy doing something else. I believe this is the part of my log related to the lockup. The cp_idle's continue until I reboot. Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_emit_packet3] R300_CMD_PACKET3_RAW Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] END Dec 31 03:52:34 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 Dec 31 03:52:34 disoft-dc [drm:drm_lock] 1 (pid 5554) requests lock (0x8003), flags = 0x Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5606, cmd=0x4008642b, nr=0x2b, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:drm_lock] 1 has lock Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [R300] rotating_gears snapshot
On Fri, 31 Dec 2004, Ben Skeggs wrote: Cool ! Can you resize the window without lockups as well ? No, I can't. I didn't think to test that until after my last email. Okay, that wasn't quite true. I was just attempting to get the drm log of what happened on the lockup and it was quite hard to produce with drm debugging on. I'm guessing there's some kind of synchronisation problem which doesn't show up as easily when the system is busy doing something else. I believe this is the part of my log related to the lockup. The cp_idle's continue until I reboot. Do you also get a lockup if you do x11perf --shmput500 for a while ? Might have something to do with 2d driver. I'll try to see whether putting end_3d() sequence in it helps. best Vladimir Dergachev Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_emit_packet3] R300_CMD_PACKET3_RAW Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] R300_CMD_UNCHECKED_STATE Dec 31 03:52:34 disoft-dc [drm:r300_do_cp_cmdbuf] END Dec 31 03:52:34 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 Dec 31 03:52:34 disoft-dc [drm:drm_lock] 1 (pid 5554) requests lock (0x8003), flags = 0x Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5606, cmd=0x4008642b, nr=0x2b, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:drm_lock] 1 has lock Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Dec 31 03:52:35 disoft-dc [drm:radeon_cp_idle] Dec 31 03:52:35 disoft-dc [drm:radeon_do_cp_idle] Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] ret = fff0 Dec 31 03:52:35 disoft-dc [drm:drm_ioctl] pid=5554, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 --- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel