X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=SPIRV%2FSpvTools.cpp;h=25299937a304650f3095139d9f9e07f32c5e937f;hb=d11c3ff315d340e5c75cf00023535c397b0b6d9e;hp=5cfc4262d98d666934b8f8a7bc1710f3412999d5;hpb=4bfbf62794a037533a6d856184a93d499306508c;p=platform%2Fupstream%2Fglslang.git diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index 5cfc426..2529993 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -68,6 +68,8 @@ spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLog } case glslang::EShTargetVulkan_1_2: return spv_target_env::SPV_ENV_VULKAN_1_2; + case glslang::EShTargetVulkan_1_3: + return spv_target_env::SPV_ENV_VULKAN_1_3; default: break; } @@ -207,8 +209,11 @@ void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); optimizer.RegisterPass(spvtools::CreateVectorDCEPass()); optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass()); + optimizer.RegisterPass(spvtools::CreateInterpolateFixupPass()); if (options->optimizeSize) { optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass()); + if (intermediate.getStage() == EShLanguage::EShLangVertex) + optimizer.RegisterPass(spvtools::CreateEliminateDeadInputComponentsPass()); } optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); optimizer.RegisterPass(spvtools::CreateCFGCleanupPass());