From 6a63fffeaa389035902a25171db032bf98c3d801 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 19 Mar 2024 11:07:54 -0400 Subject: [PATCH] asahi: fix _packed USC structs Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/genxml/gen_pack.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/asahi/genxml/gen_pack.py b/src/asahi/genxml/gen_pack.py index 98216453590..0dbc3342c8c 100644 --- a/src/asahi/genxml/gen_pack.py +++ b/src/asahi/genxml/gen_pack.py @@ -702,7 +702,11 @@ class Parser(object): print('#define {} {}'.format (name + "_LENGTH", self.group.length)) if self.group.align != None: print('#define {} {}'.format (name + "_ALIGN", self.group.align)) - print('struct {}_packed {{ uint32_t opaque[{}]; }};'.format(name.lower(), self.group.length // 4)) + + # round up to handle 6 half-word USC structures + words = (self.group.length + 4 - 1) // 4 + print('struct {}_packed {{ uint32_t opaque[{}];}};'.format(name.lower(), + words)) def emit_unpack_function(self, name, group): print("static inline void")