util/u_format: Tighten the meaning of is_array bit to exclude mixed type formats.
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>
This commit is contained in:
parent
64e9ec634b
commit
a47674ee89
|
@ -156,7 +156,7 @@ struct util_format_description
|
|||
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;
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue