In my quest for algorithmic optimizations, I have stumbled onto what I believe must be a bug. Please take a look at the client_state function (the first function) in enable.c. You will find the following code:
if (*var == flag) return; If I am correct this should actually be: if (*var == state) return; This bug is causing all vertices to be flushed even if a client state which is already enabled is being enabled again. I have analyzed the Team Arena Quake 3 Demo and find that it is constantly enabling GL_TEXTURE_COORD_ARRAY and GL_COLOR_ARRAY, even when they are already enabled. This, coupled with the above bug, may be caused some pretty bad performance penalties. I would be interested in seeing some benchmarks from before and after. -Raystonn _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel