util: Expose rgba unpack/fetch functions as external functions as well.
authorEric Anholt <eric@anholt.net>
Thu, 13 Aug 2020 20:10:04 +0000 (13:10 -0700)
committerMarge Bot <eric+marge@anholt.net>
Thu, 20 Aug 2020 05:03:16 +0000 (05:03 +0000)
Like we just did for pack functions for freedreno, it will be useful to be
able to pick out a specific rgba unpack function instead of going through
the table.

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

src/util/format/u_format_pack.py

index 7792f44ffde5510acb0956b5fde6f5f4312695cc..d6554bbf973bbf886421fdc674362b0cc7d83eff 100644 (file)
@@ -628,8 +628,11 @@ def generate_format_unpack(format, dst_channel, dst_native_type, dst_suffix):
     else:
         dst_proto_type = 'void'
 
-    print('static inline void')
-    print('util_format_%s_unpack_%s(%s *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height)' % (name, dst_suffix, dst_proto_type))
+    proto = 'util_format_%s_unpack_%s(%s *dst_row, unsigned dst_stride, const uint8_t *src_row, unsigned src_stride, unsigned width, unsigned height)' % (name, dst_suffix, dst_proto_type)
+    print('void %s;' % proto, file=sys.stdout2)
+
+    print('void')
+    print(proto)
     print('{')
 
     if is_format_supported(format):
@@ -688,8 +691,13 @@ def generate_format_fetch(format, dst_channel, dst_native_type):
 
     name = format.short_name()
 
-    print('static inline void')
-    print('util_format_%s_fetch_rgba(void *in_dst, const uint8_t *src, UNUSED unsigned i, UNUSED unsigned j)' % (name))
+    proto = 'util_format_%s_fetch_rgba(void *in_dst, const uint8_t *src, UNUSED unsigned i, UNUSED unsigned j)' % (name)
+
+    print('void %s;' % proto, file=sys.stdout2)
+
+    print('void')
+    print(proto)
+
     print('{')
     print('   %s *dst = in_dst;' % dst_native_type)