Commit 56f4a501 by Jamie Madill Committed by Commit Bot

Vulkan: Add debugging code for SPIRV transformer.

Requires a custom define for output. Bug: angleproject:3572 Change-Id: I3721c4067c61f3e22ce7c047054b74d3fe468d8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578058Reviewed-by: 's avatarTim Van Patten <timvp@google.com> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent bcdd4e58
...@@ -50,6 +50,11 @@ ANGLE_REENABLE_EXTRA_SEMI_WARNING ...@@ -50,6 +50,11 @@ ANGLE_REENABLE_EXTRA_SEMI_WARNING
\ \
} while (0) } while (0)
// Enable this for debug logging of pre-transform SPIR-V:
#if !defined(ANGLE_DEBUG_SPIRV_TRANSFORMER)
# define ANGLE_DEBUG_SPIRV_TRANSFORMER 0
#endif // !defined(ANGLE_DEBUG_SPIRV_TRANSFORMER)
namespace rx namespace rx
{ {
namespace namespace
...@@ -3741,6 +3746,14 @@ angle::Result GlslangTransformSpirvCode(const GlslangErrorCallback &callback, ...@@ -3741,6 +3746,14 @@ angle::Result GlslangTransformSpirvCode(const GlslangErrorCallback &callback,
return angle::Result::Continue; return angle::Result::Continue;
} }
#if defined(ANGLE_DEBUG_SPIRV_TRANSFORMER) && ANGLE_DEBUG_SPIRV_TRANSFORMER
spvtools::SpirvTools spirvTools(SPV_ENV_VULKAN_1_1);
spirvTools.SetMessageConsumer(ValidateSpirvMessage);
std::string readableSpirv;
spirvTools.Disassemble(initialSpirvBlob, &readableSpirv, 0);
fprintf(stderr, "%s\n", readableSpirv.c_str());
#endif // defined(ANGLE_DEBUG_SPIRV_TRANSFORMER) && ANGLE_DEBUG_SPIRV_TRANSFORMER
// Transform the SPIR-V code by assigning location/set/binding values. // Transform the SPIR-V code by assigning location/set/binding values.
SpirvTransformer transformer(initialSpirvBlob, removeEarlyFragmentTestsOptimization, SpirvTransformer transformer(initialSpirvBlob, removeEarlyFragmentTestsOptimization,
removeDebugInfo, variableInfoMap, shaderType, spirvBlobOut); removeDebugInfo, variableInfoMap, shaderType, spirvBlobOut);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment