Fix #1461: set the SPIRV-Tools' optimizer's target environment.

This commit is contained in:
John Kessenich 2020-02-28 07:10:59 -07:00
parent 82da15f4f0
commit 9606a5cb99

View File

@ -130,8 +130,8 @@ void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<
// Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of // Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of
// legalizing HLSL SPIR-V. // legalizing HLSL SPIR-V.
void SpirvToolsLegalize(const glslang::TIntermediate&, std::vector<unsigned int>& spirv, void SpirvToolsLegalize(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
spv::SpvBuildLogger*, const SpvOptions* options) spv::SpvBuildLogger* logger, const SpvOptions* options)
{ {
spv_target_env target_env = SPV_ENV_UNIVERSAL_1_2; spv_target_env target_env = SPV_ENV_UNIVERSAL_1_2;
@ -207,7 +207,8 @@ void SpirvToolsLegalize(const glslang::TIntermediate&, std::vector<unsigned int>
} }
spvtools::OptimizerOptions spvOptOptions; spvtools::OptimizerOptions spvOptOptions;
spvOptOptions.set_run_validator(false); // The validator may run as a seperate step later on optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
spvOptOptions.set_run_validator(false); // The validator may run as a separate step later on
optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions);
} }