SPV: Add option for controling when the SPIRV-Tools validator is used.

This commit is contained in:
John Kessenich 2018-08-23 15:29:08 -06:00
parent 717c80a9de
commit c340425bb2
6 changed files with 20 additions and 7 deletions

View file

@ -79,6 +79,7 @@ TEST_P(LinkTestVulkan, FromFile)
std::vector<uint32_t> spirv_binary;
glslang::SpvOptions options;
options.disableOptimizer = true;
options.validate = true;
glslang::GlslangToSpv(*program.getIntermediate(shaders.front()->getStage()),
spirv_binary, &logger, &options);

View file

@ -243,6 +243,7 @@ public:
std::vector<uint32_t> spirv_binary;
glslang::SpvOptions options;
options.disableOptimizer = !enableOptimizer;
options.validate = true;
glslang::GlslangToSpv(*program.getIntermediate(stage),
spirv_binary, &logger, &options);
@ -298,8 +299,10 @@ public:
if (success && (controls & EShMsgSpvRules)) {
std::vector<uint32_t> spirv_binary;
glslang::SpvOptions options;
options.validate = true;
glslang::GlslangToSpv(*program.getIntermediate(stage),
spirv_binary, &logger);
spirv_binary, &logger, &options);
std::ostringstream disassembly_stream;
spv::Parameterize();
@ -338,8 +341,10 @@ public:
if (success && (controls & EShMsgSpvRules)) {
std::vector<uint32_t> spirv_binary;
glslang::SpvOptions options;
options.validate = true;
glslang::GlslangToSpv(*program.getIntermediate(stage),
spirv_binary, &logger);
spirv_binary, &logger, &options);
spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, remapOptions);