From ae8907f27019f89a6305f13e36ed839c3bc9e428 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 14 Jul 2025 14:02:03 -0700 Subject: [PATCH] freedreno/registers: Add a way to disable deprecated warnings Intended for temporarily disabling the warnings when bringing up a new gen. Signed-off-by: Rob Clark Part-of: --- src/freedreno/computerator/meson.build | 3 +++ src/freedreno/registers/gen_header.py | 19 +++++++++++++++---- src/freedreno/vulkan/meson.build | 3 +++ src/gallium/drivers/freedreno/meson.build | 3 +++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/freedreno/computerator/meson.build b/src/freedreno/computerator/meson.build index 55d9fed5fc9..6705f886245 100644 --- a/src/freedreno/computerator/meson.build +++ b/src/freedreno/computerator/meson.build @@ -17,6 +17,9 @@ computerator_cpp_args = cpp.get_supported_arguments([ '-Wno-sign-compare', ]) +# Temporarily quiet deprecated warnings until computerator is converted: +computerator_cpp_args += '-DFD_NO_DEPRECATED_PACK' + computerator = executable( 'computerator', computerator_files, diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py index 54ce18dfaa6..4e6fc486d6e 100644 --- a/src/freedreno/registers/gen_header.py +++ b/src/freedreno/registers/gen_header.py @@ -226,7 +226,7 @@ class Bitset(object): depcrstr = "" if is_deprecated: - depcrstr = " __attribute__((deprecated))" + depcrstr = " FD_DEPRECATED" if reg.array: print("static inline%s struct fd_reg_pair\npack_%s(uint32_t __i, struct %s fields)\n{" % (depcrstr, prefix, prefix)) @@ -338,7 +338,7 @@ class Array(object): def dump(self, is_deprecated): depcrstr = "" if is_deprecated: - depcrstr = " __attribute__((deprecated))" + depcrstr = " FD_DEPRECATED" proto = indices_varlist(self.indices()) strides = indices_strides(self.indices()) array_offset = self.total_offset() @@ -407,7 +407,7 @@ class Reg(object): def dump(self, is_deprecated): depcrstr = "" if is_deprecated: - depcrstr = " __attribute__((deprecated)) " + depcrstr = " FD_DEPRECATED " proto = indices_prototype(self.indices()) strides = indices_strides(self.indices()) offset = self.total_offset() @@ -922,9 +922,20 @@ The rules-ng-ng source files this header was generated from are: print("#endif") print() + print("#ifndef FD_NO_DEPRECATED_PACK") + print("#define FD_DEPRECATED __attribute__((deprecated))") + print("#else") + print("#define FD_DEPRECATED") + print("#endif") + print() + func(p) - print("\n#endif /* %s */" % guard) + print() + print("#undef FD_DEPRECATED") + print() + + print("#endif /* %s */" % guard) def dump_c_defines(args): diff --git a/src/freedreno/vulkan/meson.build b/src/freedreno/vulkan/meson.build index faccd55f0da..7d02bc1389f 100644 --- a/src/freedreno/vulkan/meson.build +++ b/src/freedreno/vulkan/meson.build @@ -109,6 +109,9 @@ if freedreno_kmds.contains('virtio') tu_deps += dep_libdrm endif +# Temporarily quiet deprecated warnings until turnip is converted: +tu_flags += '-DFD_NO_DEPRECATED_PACK' + tu_tracepoints = custom_target( 'tu_tracepoints.[ch]', input: 'tu_tracepoints.py', diff --git a/src/gallium/drivers/freedreno/meson.build b/src/gallium/drivers/freedreno/meson.build index 21e0b344ef3..bef2737a64e 100644 --- a/src/gallium/drivers/freedreno/meson.build +++ b/src/gallium/drivers/freedreno/meson.build @@ -252,6 +252,9 @@ freedreno_cpp_args += cpp.get_supported_arguments([ '-Wno-vla-cxx-extension', ]) +# Temporarily quiet deprecated warnings until gallium driver is converted: +freedreno_cpp_args += '-DFD_NO_DEPRECATED_PACK' + libfreedreno_dependencies = [ dep_libdrm, idep_mesautil,