first I want to say thanks for your work on Glide. I have 3 Voodoo3 (2 running, 1 backup) and 1 Voodoo1. So I really like to see your work on Glide :)
I know that the Voodoo3 has a hardware texture size limit from 256x256. The result is getting white textures, when an application is using textures > 256x256 (like d2x title screen, foobillard) (at least with XFree86 4.2).
If the application is opensource, I just rescale the textures down to the maxsize, but this is a little bit annoying (or with d2x I use glScale to downscale the textures but my program is slow - no OpenGL expert).
It seems, that the windows drivers for the Voodoo3 handles this behaviour different from the Linux drivers, because I got no white textures (Lesson 6 from nehe.gamedev.net with a 512x512 texture).
I looked at the source code from fxmesa and dri but I got no clue, where would be the best place to scale down to big textures on the drivers side.
Would Glide be the properly place to handle to big textures ?
My idea (maybe stupid): if (texturesize>256) then scaledown before loading to texture memory.
I think it's a good idea to scale down textures to the max size limit. However, since Glide relies on the application to manage the texture memory, doing it inside the Glide driver will not always work. The best place to scale textures would be inside the application. Lesson 6 from gamedev seems to be using 256*256 textures.
True, lesson 6 from gamedev uses 256x256 texures. But I tried lesson 6 with a 512x512 texture. Under Linux (XFree 4.2) I got a white texture, under Windows I got the correct texure. So I thought, that the Voodoo drivers for Windows handles textures in another way than the Linux drivers.