summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2005-08-19 00:48:25 +0000
committerIan Romanick <[email protected]>2005-08-19 00:48:25 +0000
commitf7eb54a12f65deb46a52e4d15a6e537f49f3287b (patch)
treedb4fd20016928879e72b9c03369b7e7b5b98f8ec
parente0029b33effd299bb6b659ffd4309f8fa5c7afcf (diff)
Enable ARB_texture_compression. The code has been in place for a long time,
but, for whatever reason, the extension wasn't enabled. Add some comments to i810ChooseTextureFormat. There's some strangeness with i810 texture formats.
-rw-r--r--src/mesa/drivers/dri/i810/i810context.c2
-rw-r--r--src/mesa/drivers/dri/i810/i810tex.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i810/i810context.c b/src/mesa/drivers/dri/i810/i810context.c
index 8389321924e..47c41c5db28 100644
--- a/src/mesa/drivers/dri/i810/i810context.c
+++ b/src/mesa/drivers/dri/i810/i810context.c
@@ -63,6 +63,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "utils.h"
#define need_GL_ARB_multisample
+#define need_GL_ARB_texture_compression
#include "extension_helper.h"
#ifndef I810_DEBUG
@@ -122,6 +123,7 @@ const struct dri_extension card_extensions[] =
{
{ "GL_ARB_multisample", GL_ARB_multisample_functions },
{ "GL_ARB_multitexture", NULL },
+ { "GL_ARB_texture_compression", GL_ARB_texture_compression_functions },
{ "GL_ARB_texture_env_add", NULL },
{ "GL_ARB_texture_mirrored_repeat", NULL },
{ "GL_EXT_stencil_wrap", NULL },
diff --git a/src/mesa/drivers/dri/i810/i810tex.c b/src/mesa/drivers/dri/i810/i810tex.c
index 34a299ae744..0aba8e8aa5a 100644
--- a/src/mesa/drivers/dri/i810/i810tex.c
+++ b/src/mesa/drivers/dri/i810/i810tex.c
@@ -434,6 +434,14 @@ static void i810DeleteTexture( GLcontext *ctx, struct gl_texture_object *tObj )
_mesa_delete_texture_object(ctx, tObj);
}
+/**
+ * Choose a Mesa texture format to match the requested format.
+ *
+ * \todo
+ * Determine why \c _mesa_texformat_al88 doesn't work right for
+ * \c GL_LUMINANCE_ALPHA textures. It seems to work fine for \c GL_INTENSITY,
+ * but \c GL_LUMINANCE_ALPHA gets some red bands in progs/demos/texenv.
+ */
static const struct gl_texture_format *
i810ChooseTextureFormat( GLcontext *ctx, GLint internalFormat,
GLenum format, GLenum type )
@@ -504,7 +512,11 @@ i810ChooseTextureFormat( GLcontext *ctx, GLint internalFormat,
case GL_INTENSITY12:
case GL_INTENSITY16:
case GL_COMPRESSED_INTENSITY:
+#if 0
+ return &_mesa_texformat_al88;
+#else
return &_mesa_texformat_argb4444;
+#endif
case GL_YCBCR_MESA:
if (type == GL_UNSIGNED_SHORT_8_8_MESA ||