r600g: support textures with scaled number formats

This commit is contained in:
Christian König 2011-04-11 00:49:28 +02:00
parent bad3085c78
commit 36b322dffd
3 changed files with 3 additions and 1 deletions

View File

@ -373,6 +373,7 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
/* 64-bit buffers. */
case PIPE_FORMAT_R16G16B16A16_UNORM:
case PIPE_FORMAT_R16G16B16A16_SNORM:
case PIPE_FORMAT_R16G16B16A16_SSCALED:
case PIPE_FORMAT_R16G16B16A16_FLOAT:
/* 128-bit buffers. */

View File

@ -368,6 +368,7 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
/* 64-bit buffers. */
case PIPE_FORMAT_R16G16B16A16_UNORM:
case PIPE_FORMAT_R16G16B16A16_SNORM:
case PIPE_FORMAT_R16G16B16A16_SSCALED:
case PIPE_FORMAT_R16G16B16A16_FLOAT:
/* 128-bit buffers. */

View File

@ -996,7 +996,7 @@ uint32_t r600_translate_texformat(struct pipe_screen *screen,
case UTIL_FORMAT_TYPE_SIGNED:
if (!desc->channel[i].normalized &&
desc->colorspace != UTIL_FORMAT_COLORSPACE_SRGB) {
goto out_unknown;
word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_SCALED);
}
switch (desc->channel[i].size) {