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