This is what we want in practice.
The only change is in PIPE_FORMAT_R8SG8SB8UX8U_NORM, which no longer is
considered an array format.
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
unsigned nr_channels:3;
/**
- * Whether all channels have the same number of (whole) bytes.
+ * Whether all channels have the same number of (whole) bytes and type.
*/
unsigned is_array:1;
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):