diff --git a/src/asahi/lib/gen_pack.py b/src/asahi/lib/gen_pack.py index 0396672a12d..75419942fe0 100644 --- a/src/asahi/lib/gen_pack.py +++ b/src/asahi/lib/gen_pack.py @@ -129,6 +129,16 @@ __gen_from_groups(uint32_t value, uint32_t group_size, uint32_t length) #define agx_print(fp, T, var, indent) \\ AGX_ ## T ## _print(fp, &(var), indent) +static inline void agx_merge_helper(uint32_t *dst, const uint32_t *src, size_t bytes) +{ + assert((bytes & 3) == 0); + + for (unsigned i = 0; i < (bytes / 4); ++i) + dst[i] |= src[i]; +} + +#define agx_merge(packed1, packed2, type) \ + agx_merge_helper((packed1).opaque, (packed2).opaque, AGX_##type##_LENGTH) """ def to_alphanum(name):