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;