panfrost: gen_pack: Move the group get_length() logic to its own method
So we can re-use it elsewhere.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6797>
diff --git a/src/panfrost/lib/gen_pack.py b/src/panfrost/lib/gen_pack.py
index ffa8e01..1877f27 100644
--- a/src/panfrost/lib/gen_pack.py
+++ b/src/panfrost/lib/gen_pack.py
@@ -290,6 +290,16 @@
self.length = 0
self.fields = []
+ def get_length(self):
+ # Determine number of bytes in this group.
+ calculated = max(field.end // 8 for field in self.fields) + 1
+ if self.length > 0:
+ assert(self.length >= calculated)
+ else:
+ self.length = calculated
+ return self.length
+
+
def emit_template_struct(self, dim, opaque_structs):
if self.count == 0:
print(" /* variable length fields follow */")
@@ -320,13 +330,7 @@
words[b].fields.append(field)
def emit_pack_function(self, opaque_structs):
- # Determine number of bytes in this group.
- calculated = max(field.end // 8 for field in self.fields) + 1
-
- if self.length > 0:
- assert(self.length >= calculated)
- else:
- self.length = calculated
+ self.get_length()
words = {}
self.collect_words(words)