src/transform: Remove deprecated APIs These have now been removed from Dawn. Change-Id: I50e784141e6eb07f4f0d3f508bb8c6199429dd63 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/48044 Auto-Submit: Ben Clayton <bclayton@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
diff --git a/fuzzers/tint_all_transforms_fuzzer.cc b/fuzzers/tint_all_transforms_fuzzer.cc index 0fb4f33..e9af5ab 100644 --- a/fuzzers/tint_all_transforms_fuzzer.cc +++ b/fuzzers/tint_all_transforms_fuzzer.cc
@@ -19,15 +19,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { tint::transform::Manager transform_manager; - transform_manager.append( - std::make_unique<tint::transform::BoundArrayAccessors>()); - transform_manager.append( - std::make_unique<tint::transform::EmitVertexPointSize>()); - transform_manager.append( - std::make_unique<tint::transform::FirstIndexOffset>(0, 0)); + tint::transform::DataMap transform_inputs; + transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(0, 0); + transform_manager.Add<tint::transform::BoundArrayAccessors>(); + transform_manager.Add<tint::transform::EmitVertexPointSize>(); + transform_manager.Add<tint::transform::FirstIndexOffset>(); tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager); + fuzzer.SetTransformManager(&transform_manager, std::move(transform_inputs)); return fuzzer.Run(data, size); }
diff --git a/fuzzers/tint_bound_array_accessors_fuzzer.cc b/fuzzers/tint_bound_array_accessors_fuzzer.cc index 7bb09d1..2040320 100644 --- a/fuzzers/tint_bound_array_accessors_fuzzer.cc +++ b/fuzzers/tint_bound_array_accessors_fuzzer.cc
@@ -19,11 +19,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { tint::transform::Manager transform_manager; - transform_manager.append( - std::make_unique<tint::transform::BoundArrayAccessors>()); + transform_manager.Add<tint::transform::BoundArrayAccessors>(); tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager); + fuzzer.SetTransformManager(&transform_manager, {}); return fuzzer.Run(data, size); }
diff --git a/fuzzers/tint_common_fuzzer.cc b/fuzzers/tint_common_fuzzer.cc index 1d96ec0..bf2f02c 100644 --- a/fuzzers/tint_common_fuzzer.cc +++ b/fuzzers/tint_common_fuzzer.cc
@@ -147,7 +147,7 @@ } if (transform_manager_) { - auto out = transform_manager_->Run(&program); + auto out = transform_manager_->Run(&program, transform_inputs_); if (!out.program.IsValid()) { return 0; }
diff --git a/fuzzers/tint_common_fuzzer.h b/fuzzers/tint_common_fuzzer.h index 5f2bcff..69a0ab6 100644 --- a/fuzzers/tint_common_fuzzer.h +++ b/fuzzers/tint_common_fuzzer.h
@@ -15,6 +15,8 @@ #ifndef FUZZERS_TINT_COMMON_FUZZER_H_ #define FUZZERS_TINT_COMMON_FUZZER_H_ +#include <utility> + #include "include/tint/tint.h" namespace tint { @@ -29,7 +31,10 @@ explicit CommonFuzzer(InputFormat input, OutputFormat output); ~CommonFuzzer(); - void SetTransformManager(transform::Manager* tm) { transform_manager_ = tm; } + void SetTransformManager(transform::Manager* tm, transform::DataMap inputs) { + transform_manager_ = tm; + transform_inputs_ = std::move(inputs); + } void EnableInspector() { inspector_enabled_ = true; } int Run(const uint8_t* data, size_t size); @@ -38,6 +43,7 @@ InputFormat input_; OutputFormat output_; transform::Manager* transform_manager_; + transform::DataMap transform_inputs_; bool inspector_enabled_; };
diff --git a/fuzzers/tint_emit_vertex_point_size_fuzzer.cc b/fuzzers/tint_emit_vertex_point_size_fuzzer.cc index a2104c2..3b39437 100644 --- a/fuzzers/tint_emit_vertex_point_size_fuzzer.cc +++ b/fuzzers/tint_emit_vertex_point_size_fuzzer.cc
@@ -19,11 +19,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { tint::transform::Manager transform_manager; - transform_manager.append( - std::make_unique<tint::transform::EmitVertexPointSize>()); + transform_manager.Add<tint::transform::EmitVertexPointSize>(); tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager); + fuzzer.SetTransformManager(&transform_manager, {}); return fuzzer.Run(data, size); }
diff --git a/fuzzers/tint_first_index_offset_fuzzer.cc b/fuzzers/tint_first_index_offset_fuzzer.cc index eb7b74d..6915981 100644 --- a/fuzzers/tint_first_index_offset_fuzzer.cc +++ b/fuzzers/tint_first_index_offset_fuzzer.cc
@@ -19,11 +19,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { tint::transform::Manager transform_manager; - transform_manager.append( - std::make_unique<tint::transform::FirstIndexOffset>(0, 0)); + tint::transform::DataMap transform_inputs; + transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(0, 0); + transform_manager.Add<tint::transform::FirstIndexOffset>(); tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager); + fuzzer.SetTransformManager(&transform_manager, std::move(transform_inputs)); return fuzzer.Run(data, size); }
diff --git a/samples/main.cc b/samples/main.cc index 056508e..1f5e354 100644 --- a/samples/main.cc +++ b/samples/main.cc
@@ -675,22 +675,22 @@ } tint::transform::Manager transform_manager; + tint::transform::DataMap transform_inputs; for (const auto& name : options.transforms) { // TODO(dsinclair): The vertex pulling transform requires setup code to // be run that needs user input. Should we find a way to support that here // maybe through a provided file? if (name == "bound_array_accessors") { - transform_manager.append( - std::make_unique<tint::transform::BoundArrayAccessors>()); + transform_manager.Add<tint::transform::BoundArrayAccessors>(); } else if (name == "emit_vertex_point_size") { - transform_manager.append( - std::make_unique<tint::transform::EmitVertexPointSize>()); + transform_manager.Add<tint::transform::EmitVertexPointSize>(); } else if (name == "first_index_offset") { - transform_manager.append( - std::make_unique<tint::transform::FirstIndexOffset>(0, 0)); + transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(0, + 0); + transform_manager.Add<tint::transform::FirstIndexOffset>(); } else if (name == "renamer") { - transform_manager.append(std::make_unique<tint::transform::Renamer>()); + transform_manager.Add<tint::transform::Renamer>(); } else { std::cerr << "Unknown transform name: " << name << std::endl; return 1; @@ -701,7 +701,7 @@ #if TINT_BUILD_SPV_WRITER case Format::kSpirv: case Format::kSpvAsm: - transform_manager.append(std::make_unique<tint::transform::Spirv>()); + transform_manager.Add<tint::transform::Spirv>(); break; #endif // TINT_BUILD_SPV_WRITER #if TINT_BUILD_MSL_WRITER @@ -710,7 +710,7 @@ tint::transform::Renamer::Target::kMslKeywords}; transform_manager.append( std::make_unique<tint::transform::Renamer>(renamer_config)); - transform_manager.append(std::make_unique<tint::transform::Msl>()); + transform_manager.Add<tint::transform::Msl>(); break; } #endif // TINT_BUILD_MSL_WRITER @@ -720,7 +720,7 @@ tint::transform::Renamer::Target::kHlslKeywords}; transform_manager.append( std::make_unique<tint::transform::Renamer>(renamer_config)); - transform_manager.append(std::make_unique<tint::transform::Hlsl>()); + transform_manager.Add<tint::transform::Hlsl>(); break; } #endif // TINT_BUILD_HLSL_WRITER @@ -728,7 +728,7 @@ break; } - auto out = transform_manager.Run(program.get()); + auto out = transform_manager.Run(program.get(), std::move(transform_inputs)); if (!out.program.IsValid()) { diag_formatter.format(out.program.Diagnostics(), diag_printer.get()); return 1;
diff --git a/src/transform/first_index_offset.cc b/src/transform/first_index_offset.cc index 920fb3b..20e869d 100644 --- a/src/transform/first_index_offset.cc +++ b/src/transform/first_index_offset.cc
@@ -55,9 +55,6 @@ FirstIndexOffset::Data::~Data() = default; FirstIndexOffset::FirstIndexOffset() = default; -FirstIndexOffset::FirstIndexOffset(uint32_t binding, uint32_t group) - : binding_(binding), group_(group) {} - FirstIndexOffset::~FirstIndexOffset() = default; Output FirstIndexOffset::Run(const Program* in, const DataMap& data) {
diff --git a/src/transform/first_index_offset.h b/src/transform/first_index_offset.h index 7f819bc..f84e9e3 100644 --- a/src/transform/first_index_offset.h +++ b/src/transform/first_index_offset.h
@@ -109,11 +109,7 @@ /// Constructor FirstIndexOffset(); - /// Constructor - /// [DEPRECATED] - pass BindingPoint as part of the `data` to Run() - /// @param binding the binding() for firstVertex/Instance uniform - /// @param group the group() for firstVertex/Instance uniform - FirstIndexOffset(uint32_t binding, uint32_t group); + /// Destructor ~FirstIndexOffset() override; /// Runs the transform on `program`, returning the transformation result.
diff --git a/src/transform/first_index_offset_test.cc b/src/transform/first_index_offset_test.cc index 09221d3..b7ebab1 100644 --- a/src/transform/first_index_offset_test.cc +++ b/src/transform/first_index_offset_test.cc
@@ -366,7 +366,9 @@ } )"; - auto got = Run(src, std::make_unique<FirstIndexOffset>(1, 2)); + DataMap config; + config.Add<FirstIndexOffset::BindingPoint>(1, 2); + auto got = Run<FirstIndexOffset>(src, std::move(config)); EXPECT_EQ(expect, str(got)); @@ -419,7 +421,9 @@ } )"; - auto got = Run(src, std::make_unique<FirstIndexOffset>(1, 7)); + DataMap config; + config.Add<FirstIndexOffset::BindingPoint>(1, 7); + auto got = Run<FirstIndexOffset>(src, std::move(config)); EXPECT_EQ(expect, str(got)); @@ -475,7 +479,9 @@ } )"; - auto got = Run(src, std::make_unique<FirstIndexOffset>(1, 2)); + DataMap config; + config.Add<FirstIndexOffset::BindingPoint>(1, 2); + auto got = Run<FirstIndexOffset>(src, std::move(config)); EXPECT_EQ(expect, str(got)); @@ -535,7 +541,9 @@ } )"; - auto got = Run(src, std::make_unique<FirstIndexOffset>(1, 2)); + DataMap config; + config.Add<FirstIndexOffset::BindingPoint>(1, 2); + auto got = Run<FirstIndexOffset>(src, std::move(config)); EXPECT_EQ(expect, str(got));
diff --git a/src/transform/transform.h b/src/transform/transform.h index 533f0f8..95ba235 100644 --- a/src/transform/transform.h +++ b/src/transform/transform.h
@@ -147,9 +147,6 @@ /// Interface for Program transforms class Transform { public: - /// [DEPRECATED]: Use transform::Output - using Output = transform::Output; - /// Constructor Transform(); /// Destructor
diff --git a/src/transform/vertex_pulling.cc b/src/transform/vertex_pulling.cc index 6e3af30..cdcbd4d 100644 --- a/src/transform/vertex_pulling.cc +++ b/src/transform/vertex_pulling.cc
@@ -567,8 +567,6 @@ } // namespace VertexPulling::VertexPulling() = default; -VertexPulling::VertexPulling(const Config& config) : cfg_(config) {} - VertexPulling::~VertexPulling() = default; Output VertexPulling::Run(const Program* in, const DataMap& data) {
diff --git a/src/transform/vertex_pulling.h b/src/transform/vertex_pulling.h index 576bc09..7dded37 100644 --- a/src/transform/vertex_pulling.h +++ b/src/transform/vertex_pulling.h
@@ -160,11 +160,6 @@ /// Constructor VertexPulling(); - /// Constructor - /// [DEPRECATED] - pass Config as part of the `data` to Run() - /// @param config the configuration options for the transform - explicit VertexPulling(const Config& config); - /// Destructor ~VertexPulling() override;