util: is_array/mixed/etc is only meaningful for plain formats.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 8 Apr 2010 16:51:31 +0000 (17:51 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 8 Apr 2010 18:03:40 +0000 (19:03 +0100)
src/gallium/auxiliary/util/u_format_parse.py

index 96e6451d0d259af76ee890e69755d3190609cb6f..7076c676aaf000f50d0362e3865fab397d404d54 100755 (executable)
@@ -138,6 +138,8 @@ class Format:
         return nr_channels
 
     def is_array(self):
+        if self.layout != PLAIN:
+            return False
         ref_channel = self.channels[0]
         for channel in self.channels[1:]:
             if channel.size and (channel.size != ref_channel.size or channel.size % 8):
@@ -145,6 +147,8 @@ class Format:
         return True
 
     def is_mixed(self):
+        if self.layout != PLAIN:
+            return False
         ref_channel = self.channels[0]
         if ref_channel.type == VOID:
            ref_channel = self.channels[1]
@@ -160,18 +164,24 @@ class Format:
         return is_pot(self.block_size())
 
     def is_int(self):
+        if self.layout != PLAIN:
+            return False
         for channel in self.channels:
             if channel.type not in (VOID, UNSIGNED, SIGNED):
                 return False
         return True
 
     def is_float(self):
+        if self.layout != PLAIN:
+            return False
         for channel in self.channels:
             if channel.type not in (VOID, FLOAT):
                 return False
         return True
 
     def is_bitmask(self):
+        if self.layout != PLAIN:
+            return False
         if self.block_size() not in (8, 16, 32):
             return False
         for channel in self.channels: