diff options
Diffstat (limited to 'third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp')
-rw-r--r-- | third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp b/third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp index afff9ece43..675bd1bd94 100644 --- a/third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp +++ b/third_party/vulkan-deps/spirv-tools/src/source/opt/optimizer.cpp @@ -158,7 +158,8 @@ Optimizer& Optimizer::RegisterLegalizationPasses(bool preserve_interface) { .RegisterPass(CreateDeadInsertElimPass()) .RegisterPass(CreateReduceLoadSizePass()) .RegisterPass(CreateAggressiveDCEPass(preserve_interface)) - .RegisterPass(CreateInterpolateFixupPass()); + .RegisterPass(CreateInterpolateFixupPass()) + .RegisterPass(CreateInvocationInterlockPlacementPass()); } Optimizer& Optimizer::RegisterLegalizationPasses() { @@ -438,10 +439,8 @@ bool Optimizer::RegisterPassFromFlag(const std::string& flag) { RegisterPass(CreateSimplificationPass()); RegisterPass(CreateDeadBranchElimPass()); RegisterPass(CreateBlockMergePass()); - RegisterPass(CreateAggressiveDCEPass(true)); } else if (pass_name == "inst-buff-addr-check") { RegisterPass(CreateInstBuffAddrCheckPass(23)); - RegisterPass(CreateAggressiveDCEPass(true)); } else if (pass_name == "convert-relaxed-to-half") { RegisterPass(CreateConvertRelaxedToHalfPass()); } else if (pass_name == "relax-float-ops") { @@ -1113,6 +1112,11 @@ Optimizer::PassToken CreateSwitchDescriptorSetPass(uint32_t from, uint32_t to) { return MakeUnique<Optimizer::PassToken::Impl>( MakeUnique<opt::SwitchDescriptorSetPass>(from, to)); } + +Optimizer::PassToken CreateInvocationInterlockPlacementPass() { + return MakeUnique<Optimizer::PassToken::Impl>( + MakeUnique<opt::InvocationInterlockPlacementPass>()); +} } // namespace spvtools extern "C" { |