SWTC trick (disabled for now)
authorDaniel Borca <dborca@users.sourceforge.net>
Tue, 12 Oct 2004 07:32:11 +0000 (07:32 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Tue, 12 Oct 2004 07:32:11 +0000 (07:32 +0000)
src/mesa/drivers/x11/xm_api.c
src/mesa/drivers/x11/xm_dd.c
src/mesa/drivers/x11/xmesaP.h

index 4a8a92a0c8e521d20e7e24269d0dbe3dcce6e7e6..6255c3b79421af9d054c9c24da0f4c384f2a9361 100644 (file)
@@ -1668,6 +1668,13 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
    _mesa_enable_1_4_extensions(mesaCtx);
    _mesa_enable_1_5_extensions(mesaCtx);
    _mesa_enable_2_0_extensions(mesaCtx);
+#if SWTC
+    if (c->Mesa_DXTn) {
+       _mesa_enable_extension(c, "GL_EXT_texture_compression_s3tc");
+       _mesa_enable_extension(c, "GL_S3_s3tc");
+    }
+    _mesa_enable_extension(c, "GL_3DFX_texture_compression_FXT1");
+#endif
 
    /* finish up xmesa context initializations */
    c->swapbytes = CHECK_BYTE_ORDER(v) ? GL_FALSE : GL_TRUE;
index 4a290c84db7fbe6245f2c51966f70c4df58050bc..db94e40c211bf1dc2657c85295372f5fe57005e1 100644 (file)
@@ -1148,6 +1148,24 @@ test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
 }
 
 
+/**
+ * In SW, we don't really compress GL_COMPRESSED_RGB[A] textures!
+ */
+static const struct gl_texture_format *
+choose_tex_format( GLcontext *ctx, GLint internalFormat,
+                   GLenum format, GLenum type )
+{
+   switch (internalFormat) {
+      case GL_COMPRESSED_RGB_ARB:
+         return &_mesa_texformat_rgb;
+      case GL_COMPRESSED_RGBA_ARB:
+         return &_mesa_texformat_rgba;
+      default:
+         return _mesa_choose_tex_format(ctx, internalFormat, format, type);
+   }
+}
+
+
 /**
  * Initialize the device driver function table with the functions
  * we implement in this driver.
@@ -1178,6 +1196,9 @@ void xmesa_init_driver_functions( XMesaVisual xmvisual,
    }
 #endif
    driver->TestProxyTexImage = test_proxy_teximage;
+#if SWTC
+   driver->ChooseTextureFormat = choose_tex_format;
+#endif
 }
 
 
index b6fa3a1e1df4359ec5e29bf783a854fc6afaebdd..085b43401c485fbf93f629638afc989006a25ee4 100644 (file)
@@ -521,4 +521,7 @@ extern GLboolean XMesaLoseCurrent(XMesaContext c);
 extern void XMesaReset( void );
 
 
+#define SWTC 0 /* SW texture compression */
+
+
 #endif