offtopic: r200 lockups and context switches
Hello All,Sorry for possible offtopic, but I have a question related to Radeon 9250 card lockups. I am doing an experimental research project on graphics engine resource management based on the r200 driver. I have modified the drm implementation so that all the commands sent to the ring on behalf of a process are being queued in the kernel (xxx_RING macros redefinition), and when a user-level process emits state it marks it in the command buffer so that DRM side can distinguish it from other commands. Then, I have a kernel thread which takes commands from client queues and dispatches them to the GPU. When it detects a radeon_cp_cmdbuf coming from a different client than before, it emits the necessary state the corresponding client relies upon (just like in r200_dri.so does, but in kernel). I tried to optimize context switches by 'remembering' what has been sent last to the GPU for every hardware state 'atom' in the scheduler thread, and when it comes to context switch, sending only the atoms that actually differ. However, it resulted in quite frequent lockups (4 windows with an app drawing 1 spinning triangles lock it up after ten seconds) compared to the version which emits full state every time which is quite more robust. Which 'atoms' are necessary to emit every time even if exactly the same command sequence was emitted for this atom by the previous client? The lockups I am experiencing are real hardware lockups, because I debugged ring head tail position and it does not change. Is it possible to detect hardware lockup and reset hardware automatically, by the way? I've read that Longhorn display drivers for existing hardware are capable of something like that. Once again, sorry for offtopic.Thank you.Mikhail Bautin
Re: offtopic: r200 lockups and context switches
On 1/26/06, Michael Bautin [EMAIL PROTECTED] wrote: Hello All, Sorry for possible offtopic, but I have a question related to Radeon 9250 card lockups. I am doing an experimental research project on graphics engine resource management based on the r200 driver. I have modified the drm implementation so that all the commands sent to the ring on behalf of a process are being queued in the kernel (xxx_RING macros redefinition), and when a user-level process emits state it marks it in the command buffer so that DRM side can distinguish it from other commands. Then, I have a kernel thread which takes commands from client queues and dispatches them to the GPU. When it detects a radeon_cp_cmdbuf coming from a different client than before, it emits the necessary state the corresponding client relies upon (just like in r200_dri.so does, but in kernel). I tried to optimize context switches by 'remembering' what has been sent last to the GPU for every hardware state 'atom' in the scheduler thread, and when it comes to context switch, sending only the atoms that actually differ. However, it resulted in quite frequent lockups (4 windows with an app drawing 1 spinning triangles lock it up after ten seconds) compared to the version which emits full state every time which is quite more robust. Which 'atoms' are necessary to emit every time even if exactly the same command sequence was emitted for this atom by the previous client? this sounds like the state atom ordering bug. Apparently radeon hardware is particular about the ordering of atoms in some cases. Unfortunately there doesn't seem to be a general rule for what this is. Alex The lockups I am experiencing are real hardware lockups, because I debugged ring head tail position and it does not change. Is it possible to detect hardware lockup and reset hardware automatically, by the way? I've read that Longhorn display drivers for existing hardware are capable of something like that. Once again, sorry for offtopic. Thank you. Mikhail Bautin --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnkkid3432bid#0486dat1642 -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: offtopic: r200 lockups and context switches
Michael Bautin wrote: The lockups I am experiencing are real hardware lockups, because I debugged ring head tail position and it does not change. Is it possible to detect hardware lockup and reset hardware automatically, by the way? I've read that Longhorn display drivers for existing hardware are capable of something like that. Yes, this is possible. Catalyst driver does that since some time. As you've noted, if the ring doesn't advance the chip has locked up. You can then reset it, though you will lose pretty much all state (?). This would actually be a nice thing to have. There once was a similar patch floating around, though it wasn't actually for that problem, instead intended to kill apps which never release the lock (and it just happens that the lock is often held when the chip has locked up and the app is waiting for buffers). Roland --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642 -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Thu, 17 Mar 2005, Michel [ISO-8859-1] Dnzer wrote: On Wed, 2005-03-16 at 17:46 -0500, Vladimir Dergachev wrote: So can we be sure that one can do arbitrary INREG() on Radeons without fear of lockup ? I think so, in general. Great - thank you ! Vladimir Dergachev -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Wed, 16 Mar 2005, Michel [ISO-8859-1] Dänzer wrote: Disclaimer: I don't pretend to understand 100% how all this stuff works either, but I think my understanding has improved a little recently. :) Michel, I think we are misunderstanding each other. I am not talking about synchronization of drawing operations, I am talking about hardware limitations. I am quite certain, that, at least on mach64 hardware, an attempt to access framebuffer by CPU while the GUI engine is active will result in a hard lockup. The same goes for other rules I quoted. These rules were never spelled out in any Radeon documentation I had, so I assumed they carried over, as that documentation had sections removed. The lockup when GUI is active and your read GUI MMIO register is not due to synchonization alone. However, some registers can be accessed at any time - most obviously the STATUS registers which tell us when the GUI is active. If you (as a priveleged person) could make certain whether this limitation exists or not, it would be really great :) The issue of hard lockups with CPU reads from card apertures is one of the few features of ATI hardware I am truly unhappy about, (the other, of course, is a relatively closed documentation, albeit the situation is clearly better than some other manufacturers) best Vladimir Dergachev On Tue, 2005-03-15 at 20:07 -0500, Vladimir Dergachev wrote: On Tue, 15 Mar 2005, Vladimir Dergachev wrote: My understanding was that for MMIO-only access: * Check that FIFO is not full before writing This one is obvious (for FIFO'd registers). :) * Check that GUI engine is idle before accessing framebuffer Technically you'd only have to make sure that the engine isn't operating on the same 'area' as the CPU I think, but waiting for idle is usually a good way to be on the safe side here. * Check that FIFO is empty before reading a register Forgot the forth one: some registers bypass the FIFO, so WaitForIdle for them is not necessary. The FIFO doesn't apply to reads. It only applies to some register writes, basically the ones where queueing makes sense, i.e. mostly to acceleration related registers. I have yet to see a 'wait for idle' rule for register access anywhere. -- Earthling Michel Dänzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer
Re: [r200] Lockups...
On Wed, 2005-03-16 at 15:35 -0500, Vladimir Dergachev wrote: On Wed, 16 Mar 2005, Michel [ISO-8859-1] Dnzer wrote: Disclaimer: I don't pretend to understand 100% how all this stuff works either, but I think my understanding has improved a little recently. :) Michel, I think we are misunderstanding each other. I am not talking about synchronization of drawing operations, I am talking about hardware limitations. So am I. I am quite certain, that, at least on mach64 hardware, an attempt to access framebuffer by CPU while the GUI engine is active will result in a hard lockup. If this was true with Radeons, you'd get a lockup every time the hardware cursor shape changes. I guess the memory controller has improved... -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Vladimir Dergachev wrote: Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? I played almost a full game of neverputt... That hasn't happened with the r300 driver in a very long time :-) Almost - did you quit early or it locked up ? best Vladimir Dergachev I spent quite a bit of time today in front of my computer. Played NeverwinterNights, UT, UT2004, Marbleblast, orbz, neverputt, and q3a. No lockups to speak of. neverputt looked good :-) The others had texture problems, some (orbz) more severe than others (UT). Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
I am quite certain, that, at least on mach64 hardware, an attempt to access framebuffer by CPU while the GUI engine is active will result in a hard lockup. If this was true with Radeons, you'd get a lockup every time the hardware cursor shape changes. I guess the memory controller has improved... I did wonder about that and concluded that it is possible that there is another WaitForIdle call sometime earlier in the code flow, or an effective one at that. Moving the mouse rarely results in large repaints, so when the cursor changes shape Xserver has acquired lock and executed a few simple drawing commands, which would finish faster than a PCI access to MMIO registers, thus keeping FIFO empty. This was, of course, pure speculation. So can we be sure that one can do arbitrary INREG() on Radeons without fear of lockup ? (with the exception of registers that initiate transactions, for example on VIP bus). thank you ! Vladimir Dergachev -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
I backed out the RadeonWaitForIdleMMIO() out of radeon_mergedfb.c. Also, I am no longer able to observe the lockup on my hardware that I saw earlier, perhaps something else got fixed. I am still curious to know what are the rules for accessing Radeon registers, perhaps, when I have more spare time, I'll write a small test problem to test what can cause them. best Vladimir Dergachev --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Wed, 2005-03-16 at 17:46 -0500, Vladimir Dergachev wrote: So can we be sure that one can do arbitrary INREG() on Radeons without fear of lockup ? I think so, in general. -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Vladimir Dergachev wrote: On Mon, 14 Mar 2005, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? I played almost a full game of neverputt... That hasn't happened with the r300 driver in a very long time :-) Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? I played almost a full game of neverputt... That hasn't happened with the r300 driver in a very long time :-) Almost - did you quit early or it locked up ? best Vladimir Dergachev Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Vladimir Dergachev wrote: Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? I played almost a full game of neverputt... That hasn't happened with the r300 driver in a very long time :-) Almost - did you quit early or it locked up ? best Vladimir Dergachev Sorry, should have made that clearer :-) I got called away to an emergency at work, so I had to quit. Hopefully I'll get a chance to do more testing this evening, assuming the crisis is taken care of by then. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 14 Mar 2005 22:14:25 -0500 (EST), Vladimir Dergachev [EMAIL PROTECTED] wrote: On Mon, 14 Mar 2005, Adam K Kirchhoff wrote: Michel Dänzer wrote: On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? This would mean that on r300 this fix is not needed, but rv350 locks up without it. In that case perhaps it makes sense to only wait for idle on rv3xx. I don't know if it makes sense to break one setup to fix another. Alex best Vladimir Dergachev Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Tue, 2005-03-15 at 09:53 -0500, Alex Deucher wrote: On Mon, 14 Mar 2005 22:14:25 -0500 (EST), Vladimir Dergachev [EMAIL PROTECTED] wrote: This would mean that on r300 this fix is not needed, but rv350 locks up without it. In that case perhaps it makes sense to only wait for idle on rv3xx. I don't know if it makes sense to break one setup to fix another. Certainly not, but I don't think the wait for idle makes sense in the first place. There is no rule that you have to wait for idle before reading a register, and the fglrx driver doesn't do anything like that. -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Tue, 15 Mar 2005, Michel [ISO-8859-1] Dnzer wrote: On Tue, 2005-03-15 at 09:53 -0500, Alex Deucher wrote: On Mon, 14 Mar 2005 22:14:25 -0500 (EST), Vladimir Dergachev [EMAIL PROTECTED] wrote: This would mean that on r300 this fix is not needed, but rv350 locks up without it. In that case perhaps it makes sense to only wait for idle on rv3xx. I don't know if it makes sense to break one setup to fix another. Certainly not, but I don't think the wait for idle makes sense in the first place. There is no rule that you have to wait for idle before reading a register, and the fglrx driver doesn't do anything like that. Wait a minute.. My understanding was that for MMIO-only access: * Check that FIFO is not full before writing * Check that GUI engine is idle before accessing framebuffer * Check that FIFO is empty before reading a register Are you saying that that last one is not necessary ? thank you Vladimir Dergachev -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer
Re: [r200] Lockups...
On Tue, 15 Mar 2005, Vladimir Dergachev wrote: On Tue, 15 Mar 2005, Michel [ISO-8859-1] Dänzer wrote: On Tue, 2005-03-15 at 09:53 -0500, Alex Deucher wrote: On Mon, 14 Mar 2005 22:14:25 -0500 (EST), Vladimir Dergachev [EMAIL PROTECTED] wrote: This would mean that on r300 this fix is not needed, but rv350 locks up without it. In that case perhaps it makes sense to only wait for idle on rv3xx. I don't know if it makes sense to break one setup to fix another. Certainly not, but I don't think the wait for idle makes sense in the first place. There is no rule that you have to wait for idle before reading a register, and the fglrx driver doesn't do anything like that. Wait a minute.. My understanding was that for MMIO-only access: * Check that FIFO is not full before writing * Check that GUI engine is idle before accessing framebuffer * Check that FIFO is empty before reading a register Forgot the forth one: some registers bypass the FIFO, so WaitForIdle for them is not necessary. Are you saying that that last one is not necessary ? thank you Vladimir Dergachev -- Earthling Michel Dänzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer
Re: [r200] Lockups...
Disclaimer: I don't pretend to understand 100% how all this stuff works either, but I think my understanding has improved a little recently. :) On Tue, 2005-03-15 at 20:07 -0500, Vladimir Dergachev wrote: On Tue, 15 Mar 2005, Vladimir Dergachev wrote: My understanding was that for MMIO-only access: * Check that FIFO is not full before writing This one is obvious (for FIFO'd registers). :) * Check that GUI engine is idle before accessing framebuffer Technically you'd only have to make sure that the engine isn't operating on the same 'area' as the CPU I think, but waiting for idle is usually a good way to be on the safe side here. * Check that FIFO is empty before reading a register Forgot the forth one: some registers bypass the FIFO, so WaitForIdle for them is not necessary. The FIFO doesn't apply to reads. It only applies to some register writes, basically the ones where queueing makes sense, i.e. mostly to acceleration related registers. I have yet to see a 'wait for idle' rule for register access anywhere. -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sunday 13 March 2005 23:46, Adam K Kirchhoff wrote: Adam K Kirchhoff wrote: I really am confused. This was all working (with my 9200) prior to reinstalling Debian on my system on Friday. Thankfully it still works (with drm 1.15.0) on my FreeBSD installation. Not really sure if that tells you anything. Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. If rolling back the dri driver doesn't help, what about the DDX or even the kernel? cu, Nicolai Adam pgpIA7614xZrz.pgp Description: PGP signature
Re: [r200] Lockups...
Vladimir Dergachev wrote: Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. One more piece - I have framebuffer (radeon) enabled in my kernel, do you ? Enabled in the kernel, but disabled on the kernel command line. Here's the results of my testing: 2.6.11 with both the kernel drm and the cvs drm trees from January 1st, February 14th, and this weekend: lockups. 2.6.11.3 with both the kernel drm and this weekends drm: lockups. 2.6.10 with both the kernel drm and this weekends drm: lockups. This one really confuses me as I used 2.6.10 for months without problems. Some lockups come with kernel panics (about IRQ 16 getting disabled) that get logged to the serial port. Some just get the radeon_cp_reset and radeon_cp_start errors. Some lockups are just X locking up (and I can still login on at the serial console or over ssh), others are the entire machine. If I try to reboot my machine after X locks up, my machine will lockup before the reboot is complete. neverputt will consistently lockup (I'd say about 50/50 just X/the whole machine), almost immediately. glxgears will sometimes lockup. glxgears usually runs fine till I move the mouse... The mouse will stutter. If I'm fast enough, and the glxgears window hasn't lost focus, I can quit it and everything returns to normal... I still get the radeon_cp_reset and _start errors, but the machine and X won't lockup. With 2.6.11 and the most recent drm, I was able to play q3a for about 10 minutes... I was getting 30-40 fps, and never experienced a lockup. IRQ 16 is shared with the usb controller. However, even disabling the usb controller in the BIOS doesn't solve the problem. The kernel panic (when it happens/gets logged) is different if the controller is disabled, but the lockups still happen. The *only* lead that I currently have is that building a UP kernel (in both 2.6.11.3 and 2.6.10) gets it working again (with this weekends cvs drm). I haven't had a whole lot of time to test, but neverputt played for about 10 minutes, and moving the mouse when running glxgears doesn't cause any problems. Of course, I'd rather not lose a processor just to get this working :-) Does anyone have any ideas? I have no explanation for why an SMP kernel worked on 2.6.10 for months and has suddenly stopped working upon reinstallation of Debian Unless... In the process of reinstalling, I upgraded Xorg to the latest in CVS. When I get home tonight, I'll revert to 6.8.1 and see how that goes. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 14 Mar 2005, Adam K Kirchhoff wrote: Vladimir Dergachev wrote: Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. One more piece - I have framebuffer (radeon) enabled in my kernel, do you ? Enabled in the kernel, but disabled on the kernel command line. What happens when you enable it ? best Vladimir Dergachev --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Vladimir Dergachev wrote: On Mon, 14 Mar 2005, Adam K Kirchhoff wrote: Vladimir Dergachev wrote: Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. One more piece - I have framebuffer (radeon) enabled in my kernel, do you ? Enabled in the kernel, but disabled on the kernel command line. What happens when you enable it ? I don't know, but I'll give it a shot... Things I want to try when I get home: Xorg CVS + framebuffer + SMP Xorg 6.8.1 + SMP (both with and without the framebuffer) Let me know if there's anything else I should add to the list. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Michel Dnzer wrote: On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) Woohoo. We have a likely culprit. Vladimir, does that make sense to you? Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 2005-03-14 at 11:45 -0500, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) Woohoo. We have a likely culprit. Vladimir, does that make sense to you? Well, have you tried removing the call? Does it fix your problems? -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Michel Dnzer wrote: On Mon, 2005-03-14 at 11:45 -0500, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) Woohoo. We have a likely culprit. Vladimir, does that make sense to you? Well, have you tried removing the call? Does it fix your problems? I can't actually try anything till I get home :-) Give me a few hours, and I'll let you know. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 14 Mar 2005, Michel [ISO-8859-1] Dnzer wrote: On Mon, 2005-03-14 at 11:45 -0500, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) Woohoo. We have a likely culprit. Vladimir, does that make sense to you? Well, have you tried removing the call? Does it fix your problems? It does make sense to me, an easy way to check is to disable merged framebuffer mode in X. If it works fine without merged framebuffer than this is an issue. I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. best Vladimir Dergachev -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer
Re: [r200] Lockups...
Vladimir Dergachev wrote: On Mon, 14 Mar 2005, Michel [ISO-8859-1] Dnzer wrote: On Mon, 2005-03-14 at 11:45 -0500, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 07:34 -0500, Adam K Kirchhoff wrote: glxgears usually runs fine till I move the mouse... The mouse will stutter. I suspect this is caused by the RADEONWaitForIdleMMIO() call Vladimir added to RADEONChooseCursorCRTC() on February 18th. I think this function will be called asynchronously, so the hardware lock isn't held, and another client can keep the engine busy long enough for RADEONWaitForIdleMMIO() to time out, in which case it will try to reset the chip, still without the lock, which would explain the kernel messages about radeon_cp_reset. This is also more likely to happen with SMP, so I think it matches your observations pretty well. :) Woohoo. We have a likely culprit. Vladimir, does that make sense to you? Well, have you tried removing the call? Does it fix your problems? It does make sense to me, an easy way to check is to disable merged framebuffer mode in X. If it works fine without merged framebuffer than this is an issue. I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Well, I gave it a shot by commenting out that call, per Michel's instructions. SMP + USB + MergedFB + framebuffer, and everything is working fine. I realize that the call is needed, but maybe we should leave it out till it does less damage than it fixes :-) Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Michel Dnzer wrote: On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
[[[ I am also cross posting to xorg mailing list. The e-mail below discusses a RADEONWaitForIdleMMIO() call I put in radeon_mergedfb.c before OUTREGP() calls in cursor functions. The call was needed as OUTREGP() calls INREG() implicitly. However, it turns out that this call breaks on SMP systems with DRI enabled. ]]] On Mon, 14 Mar 2005, Michel [ISO-8859-1] Dänzer wrote: On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. This is probably the easiest. I am unlikely to find time to work on this until the following weekend (have a conference during this one), so I am proposing to comment out the WaitForIdle call in X.org CVS, with appropriate comment and put the fix in later. Of course, if someone beats me to it, I would not complain :) Adam - thank you for patient testing :)) best Vladimir Dergachev * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. -- Earthling Michel Dänzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer
Re: [r200] Lockups...
On Mon, 14 Mar 2005, Adam K Kirchhoff wrote: Michel Dnzer wrote: On Mon, 2005-03-14 at 18:05 -0500, Vladimir Dergachev wrote: I am unsure of how to fix it though, as the call *is* needed, we should not be reading from registers with engine busy. Something may be needed, but probably not a wait for idle (which may never succeed on an SMP system). Other things you could try: * Keep track of the hardware state in the driver, so you don't have to read the registers all the time. * Read/write the registers via MM_INDEX/MM_DATA instead of directly. I'm curious if either of this helps. Well, I thought I'd also point out that this solves the lockups I was experiecing with the r300 driver, too :-) Really ? And you can move cursor freely on r300 without lockups ? This would mean that on r300 this fix is not needed, but rv350 locks up without it. best Vladimir Dergachev Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sunday 13 March 2005 03:10, Adam K Kirchhoff wrote: Was it always shared with the USB controller? Can you try changing that? Some more info for both of you... I remarked, in an earlier e-mail, that glxgears wouldn't cause the lockups. That's not true. For whatever reason, it doesn't seem to cause the lockups if I load the drm module with debug=1... At least not immediately. However, if I don't load drm that way, glxgears will lockup my machine rather quickly. Some lockups are hard lockups, unable to even get the serial console to respond. With others, I can even ssh in still. In all cases, iirc, my machine will lockup hard if I actually try and 'reboot' the box after logging in. Wait a minute... isn't that a very similar lockup to the one you got with R300? I don't understand what's going on with radeon_cp_reset though. cu, Nicolai pgpINuZkMkuKs.pgp Description: PGP signature
Re: [r200] Lockups...
Nicolai Haehnle wrote: On Sunday 13 March 2005 03:10, Adam K Kirchhoff wrote: Was it always shared with the USB controller? Can you try changing that? Some more info for both of you... I remarked, in an earlier e-mail, that glxgears wouldn't cause the lockups. That's not true. For whatever reason, it doesn't seem to cause the lockups if I load the drm module with debug=1... At least not immediately. However, if I don't load drm that way, glxgears will lockup my machine rather quickly. Some lockups are hard lockups, unable to even get the serial console to respond. With others, I can even ssh in still. In all cases, iirc, my machine will lockup hard if I actually try and 'reboot' the box after logging in. Wait a minute... isn't that a very similar lockup to the one you got with R300? I don't understand what's going on with radeon_cp_reset though. cu, Nicolai It is similar. I haven't really tested enough to know if there's some connection to framerate, as there appears to be with the 9800. I also don't recall ever seeing message from the kernel about nobody caring about irq 16, or about radeon_cp_reset... With my 9800, I was getting radeon_cp_dispatch_swap errors. I do know, however, that my 9200 was working just last week or the week before. Hmmm... I think my laptop still has the same copy of the drm and Mesa trees I was using back when it worked on my workstation. I might try copying them over and seeing if I can get them to work. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sun, 2005-03-13 at 07:43 -0500, Adam K Kirchhoff wrote: Nicolai Haehnle wrote: On Sunday 13 March 2005 03:10, Adam K Kirchhoff wrote: Was it always shared with the USB controller? Can you try changing that? Some more info for both of you... I remarked, in an earlier e-mail, that glxgears wouldn't cause the lockups. That's not true. For whatever reason, it doesn't seem to cause the lockups if I load the drm module with debug=1... At least not immediately. However, if I don't load drm that way, glxgears will lockup my machine rather quickly. Some lockups are hard lockups, unable to even get the serial console to respond. With others, I can even ssh in still. In all cases, iirc, my machine will lockup hard if I actually try and 'reboot' the box after logging in. Wait a minute... isn't that a very similar lockup to the one you got with R300? I don't understand what's going on with radeon_cp_reset though. cu, Nicolai It is similar. I haven't really tested enough to know if there's some connection to framerate, as there appears to be with the 9800. I also don't recall ever seeing message from the kernel about nobody caring about irq 16, or about radeon_cp_reset... With my 9800, I was getting radeon_cp_dispatch_swap errors. I do know, however, that my 9200 was working just last week or the week before. Hmmm... I think my laptop still has the same copy of the drm and Mesa trees I was using back when it worked on my workstation. I might try copying them over and seeing if I can get them to work. Adam Damn... I'm getting the lockups, even with the drm tree on my laptop... But what's even more telling is that I just played about five minutes of quake3arena without any problems... And I got really crappy framerates (30-40 fps)... Maybe this problem is related to the one I was seeing on my 9800? Have any changes happened recently to both the r300 and regular DRM tree? Maybe around 3 weeks ago? Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sat, 2005-03-12 at 21:10 -0500, Adam K Kirchhoff wrote: [snip] [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner ec8fce80 f7669180 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held -2147483648 owner ec8fce80 f7669180 irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [snip] FWIW, this irq 16: nobody cared! / Disabling IRQ #16 stuff occurred to me some months ago on a development system with DirectFBGL (mga) + XFree86 running in parallel on two different graphics cards. We managed to work around Disabling IRQ by putting 'noirqdebug' into the kernel command line. Maybe totally irrelevant, so feel free to ignore me, but I thought I'll let you know just in case... Regards, Jan --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Jan Gukelberger wrote: On Sat, 2005-03-12 at 21:10 -0500, Adam K Kirchhoff wrote: [snip] [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner ec8fce80 f7669180 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held -2147483648 owner ec8fce80 f7669180 irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [snip] FWIW, this irq 16: nobody cared! / Disabling IRQ #16 stuff occurred to me some months ago on a development system with DirectFBGL (mga) + XFree86 running in parallel on two different graphics cards. We managed to work around Disabling IRQ by putting 'noirqdebug' into the kernel command line. Maybe totally irrelevant, so feel free to ignore me, but I thought I'll let you know just in case... Regards, Jan Well it was certainly worth a shot, but it didn't mae a difference. Thanks anyway! Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Vladimir Dergachev wrote: don't recall ever seeing message from the kernel about nobody caring about irq 16, or about radeon_cp_reset... With my 9800, I was getting radeon_cp_dispatch_swap errors. I do know, however, that my 9200 was working just last week or the week before. Hmmm... I think my laptop still has the same copy of the drm and Mesa trees I was using back when it worked on my workstation. I might try copying them over and seeing if I can get them to work. Adam Damn... I'm getting the lockups, even with the drm tree on my laptop... But what's even more telling is that I just played about five minutes of quake3arena without any problems... And I got really crappy framerates (30-40 fps)... Maybe this problem is related to the one I was seeing on my 9800? Have any changes happened recently to both the r300 and regular DRM tree? Maybe around 3 weeks ago? Not that I am aware off, the trees are separate. Maybe the problem is some other software ? Let's cross check compiler versions, just in case: My system (RV350 Mobility M10): (works fine) gcc (GCC) 3.3.5 GNU ld version 2.15.92.0.2 20040927 Linux silver 2.6.11 #2 Thu Mar 3 20:33:58 EST 2005 i686 unknown unknown GNU/Linux [ [EMAIL PROTECTED] - ~ ]: gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.5 (Debian 1:3.3.5-10) [ [EMAIL PROTECTED] - ~ ]: ld -v GNU ld version 2.15 [ [EMAIL PROTECTED] - ~ ]: uname -a Linux sorrow 2.6.11 #13 SMP Sat Mar 12 15:08:04 EST 2005 i686 GNU/Linux I really am confused. This was all working (with my 9200) prior to reinstalling Debian on my system on Friday. Thankfully it still works (with drm 1.15.0) on my FreeBSD installation. Not really sure if that tells you anything. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Adam K Kirchhoff wrote: Vladimir Dergachev wrote: don't recall ever seeing message from the kernel about nobody caring about irq 16, or about radeon_cp_reset... With my 9800, I was getting radeon_cp_dispatch_swap errors. I do know, however, that my 9200 was working just last week or the week before. Hmmm... I think my laptop still has the same copy of the drm and Mesa trees I was using back when it worked on my workstation. I might try copying them over and seeing if I can get them to work. Adam Damn... I'm getting the lockups, even with the drm tree on my laptop... But what's even more telling is that I just played about five minutes of quake3arena without any problems... And I got really crappy framerates (30-40 fps)... Maybe this problem is related to the one I was seeing on my 9800? Have any changes happened recently to both the r300 and regular DRM tree? Maybe around 3 weeks ago? Not that I am aware off, the trees are separate. Maybe the problem is some other software ? Let's cross check compiler versions, just in case: My system (RV350 Mobility M10): (works fine) gcc (GCC) 3.3.5 GNU ld version 2.15.92.0.2 20040927 Linux silver 2.6.11 #2 Thu Mar 3 20:33:58 EST 2005 i686 unknown unknown GNU/Linux [ [EMAIL PROTECTED] - ~ ]: gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.5 (Debian 1:3.3.5-10) [ [EMAIL PROTECTED] - ~ ]: ld -v GNU ld version 2.15 [ [EMAIL PROTECTED] - ~ ]: uname -a Linux sorrow 2.6.11 #13 SMP Sat Mar 12 15:08:04 EST 2005 i686 GNU/Linux I really am confused. This was all working (with my 9200) prior to reinstalling Debian on my system on Friday. Thankfully it still works (with drm 1.15.0) on my FreeBSD installation. Not really sure if that tells you anything. Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Alright... So drm from both February 14th and January 1st are locking up as well... Which is odd since I never had any of these problem till this weekend. I'll start rolling back changes to the Mesa dri driver... Perhaps this isn't directly related to the drm. Oh, I've also flashed my BIOS to the latest from the motherboard manufacturer.. Thought it was worth a shot, but it didn't help. One more piece - I have framebuffer (radeon) enabled in my kernel, do you ? best Vladimir Dergachev Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[r200] Lockups...
On Friday I finally decided to reinstall debian on my box.. I started with a fresh install, and then upgraded to Xorg cvs... I grabbed the latest Mesa from cvs, as well as the latest drm. [drm] Initialized drm 1.0.0 20040925 [drm] Initialized radeon 1.15.0 20050208 on minor 0: ATI Technologies Inc RV280 [Radeon 9200] For the moment, I'm back to using my 9200 instead of my 9800. Unfortunately, I'm getting lockups with the r200 driver now, as well. When trying neverputt: [drm] Loading R200 Microcode [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held 0 owner da0fcd80 d2809b80 irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [c01006d3] default_idle+0x23/0x30 [c010077f] cpu_idle+0x5f/0x70 [c03e89b8] start_kernel+0x188/0x1d0 [c03e8390] unknown_bootoption+0x0/0x1e0 handlers: [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8bcd220] (radeon_driver_irq_handler+0x0/0xc0 [radeon]) Disabling IRQ #16 IRQ 16 happens to be the irq being used by the radeon driver, of course :-) [ [EMAIL PROTECTED] - ~ ]: cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 824904 0 0 0IO-APIC-edge timer 1: 1872 0 0 0IO-APIC-edge i8042 2: 0 0 0 0 XT-PIC cascade 4: 7 0 0 0IO-APIC-edge serial 8: 1 0 0 0IO-APIC-edge rtc 12: 10838 0 0 0IO-APIC-edge i8042 14: 41040 0 0 0IO-APIC-edge ide0 15: 3207 0 0 0IO-APIC-edge ide1 16: 28908 0 0 0 IO-APIC-level uhci_hcd, uhci_hcd, [EMAIL PROTECTED]::01:00.0 18: 0 0 0 0 IO-APIC-level uhci_hcd 19: 0 0 0 0 IO-APIC-level uhci_hcd 20: 0 0 0 0 IO-APIC-level Ensoniq AudioPCI 21: 4778 0 0 0 IO-APIC-level bttv0, eth0 23: 12448 0 0 0 IO-APIC-level ehci_hcd, YMFPCI Mind you, the hardware hasn't changed from before, when I had the 9200 in this machine... In fact, even after reinstalling debian, I did have the 9200 working, but (stupidly) with the drm source from the r300_driver tree. It worked, no lockups, but huge texture problems... That's when I realized I was using the wrong drm, and pulled a fresh copy from the freedesktop cvs. Any ideas? Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Odd. This is now happening, as well, with the drm from the 2.6.11 kernel. The card works fine with the drivers from XiG, however, so it doesn't appear to be a hardware problem. Adam Adam K Kirchhoff wrote: On Friday I finally decided to reinstall debian on my box.. I started with a fresh install, and then upgraded to Xorg cvs... I grabbed the latest Mesa from cvs, as well as the latest drm. [drm] Initialized drm 1.0.0 20040925 [drm] Initialized radeon 1.15.0 20050208 on minor 0: ATI Technologies Inc RV280 [Radeon 9200] For the moment, I'm back to using my 9200 instead of my 9800. Unfortunately, I'm getting lockups with the r200 driver now, as well. When trying neverputt: [drm] Loading R200 Microcode [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held 0 owner da0fcd80 d2809b80 irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [c01006d3] default_idle+0x23/0x30 [c010077f] cpu_idle+0x5f/0x70 [c03e89b8] start_kernel+0x188/0x1d0 [c03e8390] unknown_bootoption+0x0/0x1e0 handlers: [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8bcd220] (radeon_driver_irq_handler+0x0/0xc0 [radeon]) Disabling IRQ #16 IRQ 16 happens to be the irq being used by the radeon driver, of course :-) [ [EMAIL PROTECTED] - ~ ]: cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 824904 0 0 0IO-APIC-edge timer 1: 1872 0 0 0IO-APIC-edge i8042 2: 0 0 0 0 XT-PIC cascade 4: 7 0 0 0IO-APIC-edge serial 8: 1 0 0 0IO-APIC-edge rtc 12: 10838 0 0 0IO-APIC-edge i8042 14: 41040 0 0 0IO-APIC-edge ide0 15: 3207 0 0 0IO-APIC-edge ide1 16: 28908 0 0 0 IO-APIC-level uhci_hcd, uhci_hcd, [EMAIL PROTECTED]::01:00.0 18: 0 0 0 0 IO-APIC-level uhci_hcd 19: 0 0 0 0 IO-APIC-level uhci_hcd 20: 0 0 0 0 IO-APIC-level Ensoniq AudioPCI 21: 4778 0 0 0 IO-APIC-level bttv0, eth0 23: 12448 0 0 0 IO-APIC-level ehci_hcd, YMFPCI Mind you, the hardware hasn't changed from before, when I had the 9200 in this machine... In fact, even after reinstalling debian, I did have the 9200 working, but (stupidly) with the drm source from the r300_driver tree. It worked, no lockups, but huge texture problems... That's when I realized I was using the wrong drm, and pulled a fresh copy from the freedesktop cvs. Any ideas? Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sat, 2005-03-12 at 14:30 -0500, Adam K Kirchhoff wrote: When trying neverputt: [drm] Loading R200 Microcode [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 Weird, does this only happen when running a 3D client, or also without? irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [c01006d3] default_idle+0x23/0x30 [c010077f] cpu_idle+0x5f/0x70 [c03e89b8] start_kernel+0x188/0x1d0 [c03e8390] unknown_bootoption+0x0/0x1e0 handlers: [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8bcd220] (radeon_driver_irq_handler+0x0/0xc0 [radeon]) Disabling IRQ #16 IRQ 16 happens to be the irq being used by the radeon driver, of course :-) [ [EMAIL PROTECTED] - ~ ]: cat /proc/interrupts [...] 16: 28908 0 0 0 IO-APIC-level uhci_hcd, uhci_hcd, [EMAIL PROTECTED]::01:00.0 Was it always shared with the USB controller? Can you try changing that? Mind you, the hardware hasn't changed from before, when I had the 9200 in this machine... In fact, even after reinstalling debian, I did have the 9200 working, but (stupidly) with the drm source from the r300_driver tree. It worked, no lockups, but huge texture problems... Sounds like there could be problems with Paul's texture upload changes. -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Sounds like there could be problems with Paul's texture upload changes. Paul patch doesn't make its way to 2.6.11 ? Because Adam says he gots the same prob with 2.6.11 right ? Jerome Glisse --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Odd. This is now happening, as well, with the drm from the 2.6.11 kernel. The card works fine with the drivers from XiG, however, so it doesn't appear to be a hardware problem. wierd.. can you boot without X, and modprobe drm debug=1 then modprobe radeon then start X? and send me on the dmesg... I'm going to be travelling the next while but I'll try and get to it.. also maybe try the fix that Egbert posted for setversion.. btw XiG may not use interrupts... Dave. -- David Airlie, Software Engineer http://www.skynet.ie/~airlied / airlied at skynet.ie Linux kernel - DRI, VAX / pam_smb / ILUG --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
On Sat, 2005-03-12 at 23:52 +0100, Jerome Glisse wrote: Sounds like there could be problems with Paul's texture upload changes. Paul patch doesn't make its way to 2.6.11 ? Because Adam says he gots the same prob with 2.6.11 right ? You removed the context this was referring to: [...] I did have the 9200 working, but (stupidly) with the drm source from the r300_driver tree. It worked, no lockups, but huge texture problems... -- Earthling Michel Dnzer | Debian (powerpc), X and DRI developer Libre software enthusiast| http://svcs.affero.net/rm.php?r=daenzer --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Michel Dnzer wrote: On Sat, 2005-03-12 at 14:30 -0500, Adam K Kirchhoff wrote: When trying neverputt: [drm] Loading R200 Microcode [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner da0fcd80 d2809b80 Weird, does this only happen when running a 3D client, or also without? Sorry, I should have said it only happens when running a 3D client. And it apparently needs to be more than just glxgears, which ran fine for a little while. neverputt would lock it up almost immediately. irq 16: nobody cared! [c0135a1a] __report_bad_irq+0x2a/0xa0 [c0135380] handle_IRQ_event+0x30/0x70 [c0135b20] note_interrupt+0x70/0xb0 [c01354f3] __do_IRQ+0x133/0x140 [c0104d09] do_IRQ+0x19/0x30 [c010320e] common_interrupt+0x1a/0x20 [c01006d3] default_idle+0x23/0x30 [c010077f] cpu_idle+0x5f/0x70 [c03e89b8] start_kernel+0x188/0x1d0 [c03e8390] unknown_bootoption+0x0/0x1e0 handlers: [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8966c00] (usb_hcd_irq+0x0/0x70 [usbcore]) [f8bcd220] (radeon_driver_irq_handler+0x0/0xc0 [radeon]) Disabling IRQ #16 IRQ 16 happens to be the irq being used by the radeon driver, of course :-) [ [EMAIL PROTECTED] - ~ ]: cat /proc/interrupts [...] 16: 28908 0 0 0 IO-APIC-level uhci_hcd, uhci_hcd, [EMAIL PROTECTED]::01:00.0 Was it always shared with the USB controller? Can you try changing that? The BIOS doesn't give me an option to change that. I can just disable the on-board USB controller, but I've always had it enabled, so I'm going to assume that they've always been at IRQ 16. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95alloc_id396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [r200] Lockups...
Dave Airlie wrote: Odd. This is now happening, as well, with the drm from the 2.6.11 kernel. The card works fine with the drivers from XiG, however, so it doesn't appear to be a hardware problem. wierd.. can you boot without X, and modprobe drm debug=1 then modprobe radeon then start X? and send me on the dmesg... I'm going to be travelling the next while but I'll try and get to it.. also maybe try the fix that Egbert posted for setversion.. btw XiG may not use interrupts... Dave. Alright... I launch neverputt, and the kernel writes the following to my serial console: [drm:radeon_cp_reset] *ERROR* radeon_cp_reset called without lock held, held 0 owner dc1fae80 dcfc3180 [drm:radeon_cp_start] *ERROR* radeon_cp_start called without lock held, held 0 owner dc1fae80 dcfc3180 dmesg goes wild: http://68.44.156.246/dmesg.txt.gz Unfortunately, the start of the debug info is cut off since dmesg is getting so much data. Let me know if there's anything I can do to help. Adam --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[R200] Lockups after few time in America's Army
Hi all, I'm using a 3D prophet Radeon 8500LE and the lastest DRI drivers from CVS + S3TC patch . I've noticed that I can't play to ArmyOps , because after few time I've started the game the game image simply freeze . I can hear the sound of the game, but I can't do anything. CTRL + ALT + BACKSPACE doesn't work , CTRL + ALT + CANC neither , the system is locked up . I've already tried with AGP 4x and 1x , with and without PageFlip , but no luck. Here is my driver version: Bye Marcello [EMAIL PROTECTED]:~$ glxinfo name of display: :0.0 Mesa: software DXTn compression/decompression available display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig client glx vendor string: SGI client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig OpenGL vendor string: Tungsten Graphics, Inc. OpenGL renderer string: Mesa DRI R200 20040906 AGP 1x x86/MMX+/3DNow!+/SSE TCL OpenGL version string: 1.3 Mesa 6.2 OpenGL extensions: GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_S3_s3tc glu version: 1.3 glu extensions: GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat -- 0x23 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x24 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x27 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x28 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x2a 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2b 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x2d 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow 0x2e 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow 0x2f 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x30 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x31 24 dc 0 32 0 r