On 10/8/07, Mrc Gran <mrc.gran@gmail.com> wrote:

I had already tried to use driconf. But, somehow, the i965 driver just seems to ignore the flag in ~/.drirc.
Even when this file contains
    <device screen="0" driver="i965">
        <application name="Default">
            <option name="force_s3tc_enable" value="true" />

glxinfo does not display the GL_EXT_texture_compression_s3tc extension.

This is really a current bug in mesa3d. If you apply my patch below on today's git source (similar to the one at bug https://bugs.freedesktop.org/show_bug.cgi?id=8042 ), then the xorg i965 driver behaves correctly with regard to the s3tc compression and glxinfo displays the GL_EXT_texture_compression_s3tc extension when the force_s3tc_enable attribute=true (see above) is present in your ~/.drirc file.

You still need to download, make and make install the s3tc plugin for mesa at http://homepage.hispeed.ch/rscheidegger/dri_experimental/s3tc_index.html (I used libtxc_dxtn070518.tar.gz), or else you will get garbled images when the s3tc extension is used by the i965 driver.

BUT: even though this solves the s3tc bug in the i965 driver, unfortunately this is not what is responsible for the omnipresent black textures in doom3 (see http://mrc.gran.googlepages.com/shot00001.png and http://mrc.gran.googlepages.com/shot00002.png). I still see the black textures all around floors, npcs, corridors etc, and now I have no idea on what might be the cause :-( I'm accepting suggestions... any mesa3d developer around? doom3 is still complaining about the extensions below, and maybe they are related. I'd appreciate any comments given the screenshots above.
X..GL_EXT_shared_texture_palette not found
X..GL_NV_register_combiners not found
X..GL_EXT_stencil_two_side not found
X..GL_ATI_separate_stencil not found
X..GL_ATI_fragment_shader not found
X..GL_ATI_text_fragment_shader not found
X..EXT_depth_bounds_test not found

diff --git a/src/mesa/drivers/dri/i965/intel_context.c b/src/mesa/drivers/dri/i9
index 2cf311c..7ec316a 100644
--- a/src/mesa/drivers/dri/i965/intel_context.c
+++ b/src/mesa/drivers/dri/i965/intel_context.c
@@ -498,7 +498,7 @@ GLboolean intelInitContext( struct intel_context *intel,
       _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" );
       _mesa_enable_extension( ctx, "GL_S3_s3tc" );
-   else if (driQueryOptionb (&intelScreen->optionCache, "force_s3tc_enable")) {
+   else if (driQueryOptionb (&intel->optionCache, "force_s3tc_enable")) {
       _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" );