summaryrefslogtreecommitdiffstats
path: root/src/compiler/spirv
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-06-02 14:32:56 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-06-03 19:29:28 -0700
commited14d21d04bf5d58cfadac525b8fd17552378507 (patch)
treec41d069ff812ce489a995600afc9c7d5a28d029f /src/compiler/spirv
parent2e46a5d1551854b98b0ca3c773a17f3ea5d2f7c6 (diff)
downloadexternal_mesa3d-ed14d21d04bf5d58cfadac525b8fd17552378507.zip
external_mesa3d-ed14d21d04bf5d58cfadac525b8fd17552378507.tar.gz
external_mesa3d-ed14d21d04bf5d58cfadac525b8fd17552378507.tar.bz2
nir/spirv: Add a way to print non-fatal warnings
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Diffstat (limited to 'src/compiler/spirv')
-rw-r--r--src/compiler/spirv/spirv_to_nir.c16
-rw-r--r--src/compiler/spirv/vtn_private.h3
2 files changed, 19 insertions, 0 deletions
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index d51089f..e8aea73 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 3ecffad..7f5444e 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,