summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_format.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-11-06 19:32:22 +0000
committerDave Airlie <airlied@redhat.com>2011-11-06 22:32:04 +0000
commitf0d1b5f41adf07a1aaeee93ef924b6624e12f9cb (patch)
tree86c4ad96e038b97ca9c4cd97cc6a4b48cd83f13f /src/gallium/auxiliary/util/u_format.c
parent8b64b86a6508a7f4227746ab4c18a54b9e7d8c05 (diff)
u_format: fix RGTC support in fits 8unorm.
Signed RGTC won't fit in a unorm, so don't allow them. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/auxiliary/util/u_format.c')
-rw-r--r--src/gallium/auxiliary/util/u_format.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/util/u_format.c b/src/gallium/auxiliary/util/u_format.c
index e07462a75d0..cfc4a17a062 100644
--- a/src/gallium/auxiliary/util/u_format.c
+++ b/src/gallium/auxiliary/util/u_format.c
@@ -443,11 +443,16 @@ util_format_fits_8unorm(const struct util_format_description *format_desc)
switch (format_desc->layout) {
case UTIL_FORMAT_LAYOUT_S3TC:
- case UTIL_FORMAT_LAYOUT_RGTC:
/*
* These are straight forward.
*/
-
+ return TRUE;
+ case UTIL_FORMAT_LAYOUT_RGTC:
+ if (format_desc->format == PIPE_FORMAT_RGTC1_SNORM ||
+ format_desc->format == PIPE_FORMAT_RGTC2_SNORM ||
+ format_desc->format == PIPE_FORMAT_LATC1_SNORM ||
+ format_desc->format == PIPE_FORMAT_LATC2_SNORM)
+ return FALSE;
return TRUE;
case UTIL_FORMAT_LAYOUT_PLAIN: