summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/format_parser.py
diff options
context:
space:
mode:
authorAnuj Phogat <[email protected]>2016-02-10 16:41:23 -0800
committerAnuj Phogat <[email protected]>2016-05-03 03:43:17 -0700
commit6abb1b4984bba5560baccd53e68237ab86822ec0 (patch)
tree797a62da19ad6f1d9bf4070a55f3d1a68ed33af4 /src/mesa/main/format_parser.py
parentc4a0cd4662efe32e95c3f1e68b2f058b60bdcb52 (diff)
mesa: Add block depth field in struct gl_format_info
This will be later required for 3D ASTC formats. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/format_parser.py')
-rwxr-xr-xsrc/mesa/main/format_parser.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mesa/main/format_parser.py b/src/mesa/main/format_parser.py
index a29f20754a8..6cd2fbca0e8 100755
--- a/src/mesa/main/format_parser.py
+++ b/src/mesa/main/format_parser.py
@@ -227,7 +227,7 @@ class Swizzle:
class Format:
"""Describes a pixel format."""
- def __init__(self, name, layout, block_width, block_height, channels, swizzle, colorspace):
+ def __init__(self, name, layout, block_width, block_height, block_depth, channels, swizzle, colorspace):
"""Constructs a Format from some metadata and a list of channels.
The channel objects must be unique to this Format and should not be
@@ -241,6 +241,7 @@ class Format:
layout -- One of 'array', 'packed' 'other', or a compressed layout
block_width -- The block width if the format is compressed, 1 otherwise
block_height -- The block height if the format is compressed, 1 otherwise
+ block_depth -- The block depth if the format is compressed, 1 otherwise
channels -- A list of Channel objects
swizzle -- A Swizzle from this format to rgba
colorspace -- one of 'rgb', 'srgb', 'yuv', or 'zs'
@@ -249,6 +250,7 @@ class Format:
self.layout = layout
self.block_width = block_width
self.block_height = block_height
+ self.block_depth = block_depth
self.channels = channels
assert isinstance(swizzle, Swizzle)
self.swizzle = swizzle
@@ -361,7 +363,7 @@ class Format:
def is_compressed(self):
"""Returns true if this is a compressed format."""
- return self.block_width != 1 or self.block_height != 1
+ return self.block_width != 1 or self.block_height != 1 or self.block_depth != 1
def is_int(self):
"""Returns true if this format is an integer format.
@@ -555,12 +557,13 @@ def parse(filename):
layout = fields[1]
block_width = int(fields[2])
block_height = int(fields[3])
- colorspace = fields[9]
+ block_depth = int(fields[4])
+ colorspace = fields[10]
try:
- swizzle = Swizzle(fields[8])
+ swizzle = Swizzle(fields[9])
except:
sys.exit("error parsing swizzle for format " + name)
- channels = _parse_channels(fields[4:8], layout, colorspace, swizzle)
+ channels = _parse_channels(fields[5:9], layout, colorspace, swizzle)
- yield Format(name, layout, block_width, block_height, channels, swizzle, colorspace)
+ yield Format(name, layout, block_width, block_height, block_depth, channels, swizzle, colorspace)