freedreno/registers: use macro instead of inline function for array regs
authorJonathan Marek <jonathan@marek.ca>
Mon, 11 Jan 2021 17:49:57 +0000 (12:49 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 19 Feb 2021 04:04:02 +0000 (04:04 +0000)
This is to allow use in places where an inline function isn't allowed,
such as a static initializer.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8423>

src/freedreno/registers/gen_header.py

index 480911a..1d3c857 100644 (file)
@@ -244,7 +244,7 @@ class Array(object):
                self.length = int(attrs["length"], 0)
 
        def dump(self):
-               print("static inline uint32_t REG_%s_%s(uint32_t i0) { return 0x%08x + 0x%x*i0; }\n" % (self.domain, self.name, self.offset, self.stride))
+               print("#define REG_%s_%s(i0) (0x%08x + 0x%x*(i0))\n" % (self.domain, self.name, self.offset, self.stride))
 
        def dump_pack_struct(self):
                pass