aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/gallium/auxiliary/util/u_format_parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_format_parse.py')
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_format_parse.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_format_parse.py b/mesalib/src/gallium/auxiliary/util/u_format_parse.py
index 3a39e5ba5..07052b996 100644
--- a/mesalib/src/gallium/auxiliary/util/u_format_parse.py
+++ b/mesalib/src/gallium/auxiliary/util/u_format_parse.py
@@ -144,9 +144,18 @@ class Format:
if self.layout != PLAIN:
return False
ref_channel = self.channels[0]
- for channel in self.channels[1:]:
+ if ref_channel.type == VOID:
+ ref_channel = self.channels[1]
+ for channel in self.channels:
if channel.size and (channel.size != ref_channel.size or channel.size % 8):
return False
+ if channel.type != VOID:
+ if channel.type != ref_channel.type:
+ return False
+ if channel.norm != ref_channel.norm:
+ return False
+ if channel.pure != ref_channel.pure:
+ return False
return True
def is_mixed(self):