From ed14d21d04bf5d58cfadac525b8fd17552378507 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 2 Jun 2016 14:32:56 -0700 Subject: [PATCH] nir/spirv: Add a way to print non-fatal warnings Signed-off-by: Jason Ekstrand Cc: "12.0" --- src/compiler/spirv/spirv_to_nir.c | 16 ++++++++++++++++ src/compiler/spirv/vtn_private.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index d51089f3c88..e8aea73581b 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -29,6 +29,22 @@ #include "nir/nir_vla.h" #include "nir/nir_control_flow.h" #include "nir/nir_constant_expressions.h" +#include "spirv_info.h" + +void +_vtn_warn(const char *file, int line, const char *msg, ...) +{ + char *formatted; + va_list args; + + va_start(args, msg); + formatted = ralloc_vasprintf(NULL, msg, args); + va_end(args); + + fprintf(stderr, "%s:%d WARNING: %s\n", file, line, formatted); + + ralloc_free(formatted); +} static struct vtn_ssa_value * vtn_undef_ssa_value(struct vtn_builder *b, const struct glsl_type *type) diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h index 3ecffada2ba..7f5444ee875 100644 --- a/src/compiler/spirv/vtn_private.h +++ b/src/compiler/spirv/vtn_private.h @@ -417,6 +417,9 @@ vtn_value(struct vtn_builder *b, uint32_t value_id, return val; } +void _vtn_warn(const char *file, int line, const char *msg, ...); +#define vtn_warn(...) _vtn_warn(__FILE__, __LINE__, __VA_ARGS__) + struct vtn_ssa_value *vtn_ssa_value(struct vtn_builder *b, uint32_t value_id); struct vtn_ssa_value *vtn_create_ssa_value(struct vtn_builder *b, -- 2.30.2