Updated spirv-tools.

This commit is contained in:
Бранимир Караџић
2021-08-22 19:11:43 -07:00
parent da2dbab80f
commit 07fade381b
25 changed files with 1250 additions and 156 deletions

View File

@@ -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