Mesa (main): genxml: protect _length defines in genX_bits.h

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 6 08:37:39 UTC 2021


Module: Mesa
Branch: main
Commit: d44478483c77233a2e44fba4afce371ba4946fa6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d44478483c77233a2e44fba4afce371ba4946fa6

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Tue Nov 23 14:58:05 2021 +0200

genxml: protect _length defines in genX_bits.h

Those defines exist in the packing headers too and some parts of the
code (like mi_builder.h) include both.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13954>

---

 src/intel/genxml/gen_bits_header.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/intel/genxml/gen_bits_header.py b/src/intel/genxml/gen_bits_header.py
index 38901461af2..f70b97ad9c3 100644
--- a/src/intel/genxml/gen_bits_header.py
+++ b/src/intel/genxml/gen_bits_header.py
@@ -66,10 +66,16 @@ from operator import itemgetter
 #include "dev/intel_device_info.h"
 #include "util/macros.h"
 
-<%def name="emit_per_gen_prop_func(item, prop)">
+<%def name="emit_per_gen_prop_func(item, prop, protect_defines)">
 %if item.has_prop(prop):
 % for gen, value in sorted(item.iter_prop(prop), reverse=True):
+%  if protect_defines:
+#ifndef ${gen.prefix(item.token_name)}_${prop}
 #define ${gen.prefix(item.token_name)}_${prop}  ${value}
+#endif
+%  else:
+#define ${gen.prefix(item.token_name)}_${prop}  ${value}
+%  endif
 % endfor
 
 static inline uint32_t ATTRIBUTE_PURE
@@ -101,15 +107,15 @@ extern "C" {
 
 /* ${container.name} */
 
-${emit_per_gen_prop_func(container, 'length')}
+${emit_per_gen_prop_func(container, 'length', True)}
 
 % for _, field in sorted(container.fields.items(), key=itemgetter(0)):
 
 /* ${container.name}::${field.name} */
 
-${emit_per_gen_prop_func(field, 'bits')}
+${emit_per_gen_prop_func(field, 'bits', False)}
 
-${emit_per_gen_prop_func(field, 'start')}
+${emit_per_gen_prop_func(field, 'start', False)}
 
 % endfor
 % endfor



More information about the mesa-commit mailing list