On Mon, 29 Oct 2007 22:50:06 +0100 Roland Scheidegger <[EMAIL PROTECTED]> wrote:
> Jose Rodriguez wrote: > > Hi > > > > I can't run Gtkradiant > > (http://www.qeradiant.com/cgi-bin/trac.cgi) with the radeon > > driver and the following hardware/software: > > > > 01:00.0 VGA compatible controller: ATI Technologies Inc RV350 > > [Mobility Radeon 9600 M10] > > > > Libraries and driver from Debian testing (6.6.193-3 driver's > > version) > > Libraries and driver from Debian unstable (6.7.195-2 > > driver's version) > > > > The program crashes as soon as I try to use it, and the > > following is read in its console: > > > > > > Lighting mode requires OpenGL features not supported by your > > graphics drivers: GL_ARB_shader_objects > > GL_ARB_vertex_shader > > GL_ARB_fragment_shader > > GL_ARB_shading_language_100 > > > > > > After it crashes the following appears in the terminal: > > > > > > radiant.x86: vbo/vbo_split_inplace.c:97: flush_vertex: > > Assertion `max_index >= min_index' failed. Aborted > > > > > > I've been told in the Gtkradiant mailing list that it's a > > driver issue, specifically: > > > > "[...]older Radeon cards have only the ability to address up to > > 4096 vertices at a time [...] > strictly speaking, that's not a chip limitation, but a driver > limitation. Even oldest radeon could address 65536 vertices at a > time. You have a much newer radeon though which could address 4 > billion vertices in theory... > > > GTKRadiant is > > issuing more than this many vertices in one call. > > > > The hardware however has configurable base address for vertex > > arrays, and configurable index bias, this allows it to issue > > the large draw operation as several smaller ones that do not > > violate the limits of the hardware. > > > > That error indicates the code for splitting the operations into > > smaller ones, is broken. > > > > (All other drivers have to deal with this sort of hardware > > limitation transparently as well, it's not an application > > error)" > > > > And been encouraged to report this here. I would like to ask > > for confirmation that there's no workaround possible short of > > fixing code (which I have no idea about). > Yes, that certainly looks like a driver error, possibly in the > vbo code but could be r300 specific. > You could try a newer r300 dri driver (note the radeon ddx > version is irrelevant here). Thanks for replying. I´m not sure what do you mean by "ddx" but I guess it's the version number I provided for the Debian drivers. If that is not relevant, what is? Actually, there was a typo in my original mail, I should've said "experimental" instead of "unstable". That driver was released on 09/10/07 to the experimental branch. I don't know if that's the date the snapshot was taken, but it should be pretty recent though. If still there was something to be gained by compiling the drivers from git let me know--I assume this is what you have in mind when saying "newer" ones. > Also, could you provide a backtrace > from gdb? What are the max_index and min_index values? > > Roland Right, after googling a good while I came up with the following thing, although it looks like it's rubbish. I installed the xserver-xorg-video-ati-dbg and libc6-dbg packages and upgraded the driver to its 6.6.1.193-3 version (released on 07/09/07) since it was a dependency. I don't know how to tell the system to look for the debug libraries where they get installed. I trid to put symlinks to /usr/lib/debug where the regular driver is but X wouldn't start. Please let me know how can I obtain more useful information than what follows: This GDB was configured as "i486-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) set pagination 0 (gdb) run Starting program: /home/jcarlos/software/other/GtkRadiant_old/ins tall/radiant.x86 Failed to read a valid object file image from memory. [Thread debugging using libthread_db enabled] [New Thread 0xb71ee6c0 (LWP 10633)] radiant.x86: vbo/vbo_split_inplace.c:97: flush_vertex: Assertion `max_index >= min_index' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 0xb71ee6c0 (LWP 10633)] 0xb747d7d6 in raise () from /lib/libc.so.6 (gdb) thread apply all bt full Thread 1 (Thread 0xb71ee6c0 (LWP 10633)): #0 0xb747d7d6 in raise () from /lib/libc.so.6 No symbol table info available. #1 0xb747f0f1 in abort () from /lib/libc.so.6 No symbol table info available. #2 0xb7476b50 in __assert_fail () from /lib/libc.so.6 No symbol table info available. #3 0xb6ad65b1 in ?? () from /usr/lib/dri/r300_dri.so No symbol table info available. #4 0xb6b46bc1 in ?? () from /usr/lib/dri/r300_dri.so No symbol table info available. #5 0xb6b46ba9 in ?? () from /usr/lib/dri/r300_dri.so No symbol table info available. #6 0x00000061 in ?? () No symbol table info available. #7 0xb6ad6a3e in vbo_split_inplace () from /usr/lib/dri/r300_dri .so No symbol table info available. #8 0xb6a2bad9 in _tnl_draw_prims () from /usr/lib/dri/r300_dri.s o No symbol table info available. #9 0xb6a24ce5 in ?? () from /usr/lib/dri/r300_dri.so No symbol table info available. #10 0x0914ee48 in ?? () No symbol table info available. #11 0x091982f0 in ?? () No symbol table info available. #12 0xbfb0c5e0 in ?? () No symbol table info available. #13 0x00000001 in ?? () No symbol table info available. #14 0x00000000 in ?? () No symbol table info available. (gdb) As an exercise, I fired up Gtkradiant (a map editor for a number of 3D games) and draw a cube, duplicated it, duplicated those two afterwards, then again until I had 2e13 cubes. (I guess this is 2e15 vertices). I don't know by heart how many vertices a normal project usually has, but I have the feeling that much less (I can't check for obvious reasons). The program didn't crashed but I didn't continue for it was sucking my cpu quite badly. While doing this I monitored what happened with gdb and found that from start Gtkradiant was falling back to software rendering. If anything of this is of any help I'll happily post whatever information. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel