diff options
author | Dave Airlie <[email protected]> | 2011-02-10 14:07:06 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2011-02-11 13:47:34 +1000 |
commit | 0d851f6e9c6046052ddce3860e625537832530a0 (patch) | |
tree | c62ce376881b46152b585423885e2275317442f0 /src/gallium/drivers/r600/r600_texture.c | |
parent | 9a1fe76a20c6eca67a8b933aa9e84f7ef0ad9ca2 (diff) |
r600g: handle 16/32 u/s norm formats properly
add support for the 32-bit types, also fixup the
export setting to handle types with channels > 11 bits properly
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index b7bfdd8c166..df8072fc13c 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -990,6 +990,19 @@ uint32_t r600_translate_texformat(enum pipe_format format, result = FMT_16_16_16_16; goto out_word4; } + goto out_unknown; + case 32: + switch (desc->nr_channels) { + case 1: + result = FMT_32; + goto out_word4; + case 2: + result = FMT_32_32; + goto out_word4; + case 4: + result = FMT_32_32_32_32; + goto out_word4; + } } goto out_unknown; |