summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_tex.c
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2006-09-21 10:07:04 +0000
committerKeith Whitwell <[email protected]>2006-09-21 10:07:04 +0000
commitafd244d4e8dc36895676c1b3bdbdba59f03a6962 (patch)
tree389909f43b0c464556f10af4270d8e5856d7e2b9 /src/mesa/drivers/dri/i965/brw_tex.c
parent76dd385fed7fc9b5303fb0b7707a49c5500d7748 (diff)
use the requested internal texture format where possible
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_tex.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_tex.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_tex.c b/src/mesa/drivers/dri/i965/brw_tex.c
index 78d351407de..47bd875bb06 100644
--- a/src/mesa/drivers/dri/i965/brw_tex.c
+++ b/src/mesa/drivers/dri/i965/brw_tex.c
@@ -59,27 +59,37 @@ brwChooseTextureFormat( GLcontext *ctx, GLint internalFormat,
case GL_RGB10_A2:
case GL_RGBA12:
case GL_RGBA16:
- case GL_RGBA4:
- case GL_RGBA2:
- case GL_RGB5_A1:
return &_mesa_texformat_argb8888;
-/* return &_mesa_texformat_rgba8888_rev; */
- case 3:
- case GL_RGB:
- case GL_COMPRESSED_RGB:
case GL_RGB8:
case GL_RGB10:
case GL_RGB12:
case GL_RGB16:
- case GL_RGB5:
- case GL_RGB4:
- case GL_R3_G3_B2:
- /* Broadwater doesn't support RGB textures, so these must be
+ /* Broadwater doesn't support RGB888 textures, so these must be
* stored as ARGB.
*/
return &_mesa_texformat_argb8888;
+ case 3:
+ case GL_COMPRESSED_RGB:
+ case GL_RGB:
+ if (format == GL_RGB &&
+ type == GL_UNSIGNED_SHORT_5_6_5)
+ return &_mesa_texformat_rgb565;
+ else
+ return &_mesa_texformat_argb8888;
+
+
+ case GL_RGB5:
+ case GL_RGB5_A1:
+ return &_mesa_texformat_argb1555;
+
+ case GL_R3_G3_B2:
+ case GL_RGBA2:
+ case GL_RGBA4:
+ case GL_RGB4:
+ return &_mesa_texformat_argb4444;
+
case GL_ALPHA:
case GL_ALPHA4:
case GL_ALPHA8: