mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Updated spirv-tools.
This commit is contained in:
27
3rdparty/spirv-tools/source/opt/optimizer.cpp
vendored
27
3rdparty/spirv-tools/source/opt/optimizer.cpp
vendored
@@ -499,6 +499,26 @@ bool Optimizer::RegisterPassFromFlag(const std::string& flag) {
|
||||
RegisterPass(CreateAmdExtToKhrPass());
|
||||
} else if (pass_name == "interpolate-fixup") {
|
||||
RegisterPass(CreateInterpolateFixupPass());
|
||||
} else if (pass_name == "convert-to-sampled-image") {
|
||||
if (pass_args.size() > 0) {
|
||||
auto descriptor_set_binding_pairs =
|
||||
opt::ConvertToSampledImagePass::ParseDescriptorSetBindingPairsString(
|
||||
pass_args.c_str());
|
||||
if (!descriptor_set_binding_pairs) {
|
||||
Errorf(consumer(), nullptr, {},
|
||||
"Invalid argument for --convert-to-sampled-image: %s",
|
||||
pass_args.c_str());
|
||||
return false;
|
||||
}
|
||||
RegisterPass(CreateConvertToSampledImagePass(
|
||||
std::move(*descriptor_set_binding_pairs)));
|
||||
} else {
|
||||
Errorf(consumer(), nullptr, {},
|
||||
"Invalid pairs of descriptor set and binding '%s'. Expected a "
|
||||
"string of <descriptor set>:<binding> pairs.",
|
||||
pass_args.c_str());
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
Errorf(consumer(), nullptr, {},
|
||||
"Unknown flag '--%s'. Use --help for a list of valid flags",
|
||||
@@ -940,4 +960,11 @@ Optimizer::PassToken CreateInterpolateFixupPass() {
|
||||
MakeUnique<opt::InterpFixupPass>());
|
||||
}
|
||||
|
||||
Optimizer::PassToken CreateConvertToSampledImagePass(
|
||||
const std::vector<opt::DescriptorSetAndBinding>&
|
||||
descriptor_set_binding_pairs) {
|
||||
return MakeUnique<Optimizer::PassToken::Impl>(
|
||||
MakeUnique<opt::ConvertToSampledImagePass>(descriptor_set_binding_pairs));
|
||||
}
|
||||
|
||||
} // namespace spvtools
|
||||
|
||||
Reference in New Issue
Block a user