On Tue, Mar 16, 2010 at 7:13 PM, Roland Scheidegger <srol...@vmware.com> wrote: > On 16.03.2010 18:52, Keith Whitwell wrote: >> On Tue, 2010-03-16 at 08:32 -0700, Ian Romanick wrote: >> >>> I'm also a bit surprised that not detecting GL_EXT_compiled_vertex_array >>> has any impact on our Quake3 performance. After all, our CVA >>> implementation doesn't do anything! Looking at the list, it seems more >>> likely that GL_EXT_texture_env_add is the problem. Not having that will >>> cause Quake3 to use additional rendering passes in quite a few cases. >> >> I think if CVA isn't present, it falls back to glVertex() and friends... > Bad... > > I'm not sure though listing that extension first really solves all > problems. There's a quite famous bug when you bring up the information > with the extension string it'll actually segfault. I think though that > got fixed in later versions (though I don't know how, if by just copying > only the first n bytes of the extension string it obviously wouldn't > solve the problem that it doesn't recognize the CVA extension...). And > against this you can't really do anything other than app detection and > cut the string appropriately... >
As far as I know, quake 3 code was open sourced 5 years ago. Though it sounds like we are talking about an evil proprietary game doing bad things. And not only it is GPL, but there is also a reference project maintaining that code :) http://ioquake3.org/ Now are we talking about q3 or ioq3 ? If it's q3, why do we care ? If it's ioq3, let's figure out the issues and work together with ioq3 people to fix them. The limit for GL_EXTENSION seems to be 8192, both for ioq3 and q3. Is any driver really exceeding that ? Here are the size I get : GL_EXTENSIONS: 2385 GL_RENDERER: Gallium 0.4 on NV84 GL_EXTENSIONS: 2407 GL_RENDERER: Gallium 0.4 on llvmpipe GL_EXTENSIONS: 3250 GL_RENDERER: Software Rasterizer Seems to be far from the limit. And with all 3 drivers, cva is detected and enabled fine : compiled vertex arrays: enabled Any information about the extension string segfault ? I never heard of it before, and never saw it happening either. Finally the only thing I can confirm is the big performance difference : r_ext_compiled_vertex_array=1 : 50 fps r_ext_compiled_vertex_array=0 : 10 fps That last point sounds like something that could be reported and could be easily fixed. I hope we can progress on the other issues too :) cheers Xavier ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev