[Mesa-dev] [PATCH] i965: Use a ZERO() macro to initialize GENX_* structs.
Rafael Antognolli
rafael.antognolli at intel.com
Fri Jul 14 18:15:46 UTC 2017
gen4 have commands which start with KernelStartPointer, which is a
struct, so if we initialize it struct = { 0 }, we get warnings on some
compilers.
This macro works around that and will silent such warnings.
Signed-off-by: Rafael Antognolli <rafael.antognolli at intel.com>
Cc: Jason Ekstrand <jason at jlekstrand.net>
---
src/mesa/drivers/dri/i965/genX_state_upload.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index 54a547c..7340ed2 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -205,8 +205,10 @@ KSP(struct brw_context *brw, uint32_t offset)
_dw + 1; /* Array starts at dw[1] */ \
})
+#define ZERO(T) ({ T tmp; memset(&tmp, 0, sizeof(tmp)); tmp; })
+
#define brw_state_emit(brw, cmd, align, offset, name) \
- for (struct cmd name = { 0, }, \
+ for (struct cmd name = ZERO(struct cmd), \
*_dst = brw_state_batch(brw, _brw_cmd_length(cmd) * 4, \
align, offset); \
__builtin_expect(_dst != NULL, 1); \
--
2.9.4
More information about the mesa-dev
mailing list