r600g: attempt to turn on DXTn formats

Seems to sort-of work for non-mipmapped textures.  Better than just
black anyway.
This commit is contained in:
Keith Whitwell 2010-11-03 14:23:45 +00:00
parent e3ea4aec03
commit c2c55547dc
3 changed files with 17 additions and 4 deletions

View file

@ -473,7 +473,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
case PIPE_FORMAT_UYVY:
case PIPE_FORMAT_YUYV:
default:
R600_ERR("unsupported color format %d\n", format);
//R600_ERR("unsupported color format %d\n", format);
return ~0; /* Unsupported. */
}
}

View file

@ -472,7 +472,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
case PIPE_FORMAT_UYVY:
case PIPE_FORMAT_YUYV:
default:
R600_ERR("unsupported color format %d %s\n", format, util_format_name(format));
//R600_ERR("unsupported color format %d %s\n", format, util_format_name(format));
return ~0; /* Unsupported. */
}
}

View file

@ -806,7 +806,7 @@ uint32_t r600_translate_texformat(enum pipe_format format,
result = FMT_24_8;
goto out_word4;
case PIPE_FORMAT_S8_USCALED:
result = V_0280A0_COLOR_8;
result = FMT_8;
word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_INT);
goto out_word4;
default:
@ -835,7 +835,20 @@ uint32_t r600_translate_texformat(enum pipe_format format,
/* S3TC formats. TODO */
if (desc->layout == UTIL_FORMAT_LAYOUT_S3TC) {
goto out_unknown;
switch (format) {
case PIPE_FORMAT_DXT1_RGB:
case PIPE_FORMAT_DXT1_RGBA:
result = FMT_BC1;
goto out_word4;
case PIPE_FORMAT_DXT3_RGBA:
result = FMT_BC2;
goto out_word4;
case PIPE_FORMAT_DXT5_RGBA:
result = FMT_BC3;
goto out_word4;
default:
goto out_unknown;
}
}