Mesa (master): spirv: Do something useful with OpSource
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Mon Dec 4 17:21:23 UTC 2017
Module: Mesa
Branch: master
Commit: 591a07632c913cadb1802196c0a50480b354d73c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=591a07632c913cadb1802196c0a50480b354d73c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Wed Aug 16 16:38:56 2017 -0700
spirv: Do something useful with OpSource
We may as well log the source language and file name.
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Ian Romanick <idr at freedesktop.org>
---
src/compiler/spirv/spirv_to_nir.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index a918985daa..676153dace 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -2753,7 +2753,27 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
const uint32_t *w, unsigned count)
{
switch (opcode) {
- case SpvOpSource:
+ case SpvOpSource: {
+ const char *lang;
+ switch (w[1]) {
+ default:
+ case SpvSourceLanguageUnknown: lang = "unknown"; break;
+ case SpvSourceLanguageESSL: lang = "ESSL"; break;
+ case SpvSourceLanguageGLSL: lang = "GLSL"; break;
+ case SpvSourceLanguageOpenCL_C: lang = "OpenCL C"; break;
+ case SpvSourceLanguageOpenCL_CPP: lang = "OpenCL C++"; break;
+ case SpvSourceLanguageHLSL: lang = "HLSL"; break;
+ }
+
+ uint32_t version = w[2];
+
+ const char *file =
+ (count > 3) ? vtn_value(b, w[3], vtn_value_type_string)->str : "";
+
+ vtn_info("Parsing SPIR-V from %s %u source file %s", lang, version, file);
+ break;
+ }
+
case SpvOpSourceExtension:
case SpvOpSourceContinued:
case SpvOpExtension:
More information about the mesa-commit
mailing list