Ian Romanick wrote:

Log message:
  Add client-side GLX protocol support for GL_ARB_texture_compression.  The
  extensions are *not* currently enabled.  This is for several reaons.  First,
  the server-side does not support texture compression, so there's no
  advantage to supporting it (yet) on the client-side.  Second, I tried
  testing it with an IHV's closed-source driver (that advertises GL 1.3), but
  their server-side driver doesn't support the protocol.  That means this code
  is largely untested.

I tested this on Nvidia, but their driver doesn't fully support the texture compression GLX protocol. Could someone try this with ATI's close-source driver? Apply the attached patch to the DRI tree and rebuild. Then, with ATI's drivers installed, cd to progs/tests in the Mesa tree and run with 'LD_PRELOAD=<path to DRI tree>/build/xc/exports/lib/libGL.so.1.2 LIBGL_ALWAYS_INDIRECT=y ./texcmp'.


You should get one of four results:

1. It fails because neither GL_ARB_texture_compression or GL 1.3 are supported.

2. It fails with 'X Error of failed request: BadRequest'. This will mean ATI's driver has the same problem as Nvidia's. Note that, until a few months ago, the open-source server-side GLX had the same problem.

3. It works the same as with direct-rendering.

4. It fails in some other way.

If someone can get #3, then I'll enable the extensions in our libGL.

On a side note, it might be worth enabling FXT1 in on the server-side. For those rare apps that use it (ha!), it will reduce the bandwidth required to transfer textures.

? foo
Index: glxextensions.c
===================================================================
RCS file: /cvs/dri/xc/xc/lib/GL/glx/glxextensions.c,v
retrieving revision 1.21
diff -u -d -r1.21 glxextensions.c
--- glxextensions.c     17 Jun 2004 21:23:05 -0000      1.21
+++ glxextensions.c     17 Jun 2004 21:23:48 -0000
@@ -123,7 +123,7 @@
    { GL(ARB_shadow),                     VER(1,4), Y, N, N, N },
    { GL(ARB_shadow_ambient),             VER(0,0), Y, N, N, N },
    { GL(ARB_texture_border_clamp),       VER(1,3), Y, N, N, N },
-   { GL(ARB_texture_compression),        VER(1,3), N, N, N, N },
+   { GL(ARB_texture_compression),        VER(1,3), Y, N, N, N },
    { GL(ARB_texture_cube_map),           VER(1,3), Y, N, N, N },
    { GL(ARB_texture_env_add),            VER(1,3), Y, N, N, N },
    { GL(ARB_texture_env_combine),        VER(1,3), Y, N, N, N },
@@ -166,7 +166,7 @@
    { GL(EXT_subtexture),                 VER(1,1), Y, N, N, N },
    { GL(EXT_texture),                    VER(1,1), Y, N, N, N },
    { GL(EXT_texture3D),                  VER(1,2), Y, N, N, N },
-   { GL(EXT_texture_compression_s3tc),   VER(0,0), N, N, N, N },
+   { GL(EXT_texture_compression_s3tc),   VER(0,0), Y, N, N, N },
    { GL(EXT_texture_edge_clamp),         VER(1,2), Y, N, N, N },
    { GL(EXT_texture_env_add),            VER(1,3), Y, N, N, N },
    { GL(EXT_texture_env_combine),        VER(1,3), Y, N, N, N },
@@ -178,7 +178,7 @@
    { GL(EXT_texture_object),             VER(1,1), Y, N, N, N },
    { GL(EXT_texture_rectangle),          VER(0,0), Y, N, N, N },
    { GL(EXT_vertex_array),               VER(0,0), Y, N, N, N },
-   { GL(3DFX_texture_compression_FXT1),  VER(0,0), N, N, N, N },
+   { GL(3DFX_texture_compression_FXT1),  VER(0,0), Y, N, N, N },
    { GL(APPLE_packed_pixels),            VER(1,2), Y, N, N, N },
    { GL(APPLE_ycbcr_422),                VER(0,0), Y, N, N, N },
    { GL(ATI_texture_env_combine3),       VER(0,0), Y, N, N, N },
@@ -210,7 +210,7 @@
    { GL(NV_multisample_filter_hint),     VER(0,0), Y, N, N, N },
    { GL(NV_point_sprite),                VER(0,0), Y, N, N, N },
    { GL(NV_texgen_reflection),           VER(0,0), Y, N, N, N },
-   { GL(NV_texture_compression_vtc),     VER(0,0), N, N, N, N },
+   { GL(NV_texture_compression_vtc),     VER(0,0), Y, N, N, N },
    { GL(NV_texture_env_combine4),        VER(0,0), Y, N, N, N },
    { GL(NV_texture_rectangle),           VER(0,0), Y, N, N, N },
    { GL(SGIS_generate_mipmap),           VER(1,4), Y, N, N, N },

Reply via email to