mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 04:30:10 +01:00
util: Turn inv_swizzle into a global function
With the big-endian changes, there can be two swizzle orders for each format. This patch turns Format.inv_swizzle() into a global function that takes the swizzle list as a parameter. There is no change to the generated u_format_table.c. Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com> Signed-off-by: José Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
227d7a6a3c
commit
0ee3ac938a
2 changed files with 11 additions and 11 deletions
|
|
@ -40,6 +40,16 @@
|
|||
from u_format_parse import *
|
||||
|
||||
|
||||
def inv_swizzles(swizzles):
|
||||
'''Return an array[4] of inverse swizzle terms'''
|
||||
'''Only pick the first matching value to avoid l8 getting blue and i8 getting alpha'''
|
||||
inv_swizzle = [None]*4
|
||||
for i in range(4):
|
||||
swizzle = swizzles[i]
|
||||
if swizzle < 4 and inv_swizzle[swizzle] == None:
|
||||
inv_swizzle[swizzle] = i
|
||||
return inv_swizzle
|
||||
|
||||
def generate_format_type(format):
|
||||
'''Generate a structure that describes the format.'''
|
||||
|
||||
|
|
@ -489,7 +499,7 @@ def generate_pack_kernel(format, src_channel, src_native_type):
|
|||
|
||||
assert format.layout == PLAIN
|
||||
|
||||
inv_swizzle = format.inv_swizzles()
|
||||
inv_swizzle = inv_swizzles(format.swizzles)
|
||||
|
||||
if format.is_bitmask():
|
||||
depth = format.block_size()
|
||||
|
|
|
|||
|
|
@ -244,16 +244,6 @@ class Format:
|
|||
def has_stencil(self):
|
||||
return self.colorspace == ZS and self.has_channel(1)
|
||||
|
||||
def inv_swizzles(self):
|
||||
'''Return an array[4] of inverse swizzle terms'''
|
||||
'''Only pick the first matching value to avoid l8 getting blue and i8 getting alpha'''
|
||||
inv_swizzle = [None]*4
|
||||
for i in range(4):
|
||||
swizzle = self.swizzles[i]
|
||||
if swizzle < 4 and inv_swizzle[swizzle] == None:
|
||||
inv_swizzle[swizzle] = i
|
||||
return inv_swizzle
|
||||
|
||||
def stride(self):
|
||||
return self.block_size()/8
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue