Ian Romanick wrote:
After Brian reported some problems to me with the fbconfig code in the client-side GLX, I decided to make some GLX updates before leaving for vacation (I'm away 6/10 through 6/22). I wanted to add GLX protocol support for as many of the "enum only" extensions as I could. I especially wanted to add support for some of the texture format extensions (i.e., MESA_ycbcr_texture).

When I started to dig into it, I found code like __glXImage3DSize (programs/Xserver/GL/glx/rensize.c) in *at least* 5 different places. Nearly identical code appears in several places in programs/Xserver/GL/glx/rensize.c, programs/Xserver/GL/glx/singlesize.c, lib/GL/glx/compsize.c, and lib/GL/glx/pixel.c. My current plan is to have one copy of the code on the client-side and one server-side.

Ideally, we should find a way to put as much code that is duplicated between client and server (i.e., most of those four files!) in one place. That would have made this effort *MUCH* easier.

Also, I think we should replace all the __glGet*_size functions with a hash table. Since all of the possible values are known in advance, it should be possible to create a hash table that would be smaller and faster than some of those really large switch-statements. Even if it's not faster or smaller, the maintainence ease that it would bring would more than make up!

In any case, here is the patch as it currently stands. demos/occlude doesn't work right, but I'm working on it. I've also attached a patch to demos/shadowtex.c to change the way cycling compare mode works. It can now cycle with the SGIX version. I'll commit this later. I want to modify it further to select at run-time which extensions to use.

Looks good, Ian.


You might want to add GL_EXT_texture_rectangle. It's identical to GL_NV_texture_rectangle. I just added it in Mesa.

-Brian



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to