Make params for FirstIndexOffset fuzzing dynamic
The preamble size in tint_all_transforms_fuzzers is dynamic in
anticipation of more complex preamble calculations in future CLs.
BUG=tint:722
Change-Id: I24a0b00a77aa565b5fe1f146015f017481916c1c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/49200
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/fuzzers/tint_all_transforms_fuzzer.cc b/fuzzers/tint_all_transforms_fuzzer.cc
index e9af5ab..7b76ab4 100644
--- a/fuzzers/tint_all_transforms_fuzzer.cc
+++ b/fuzzers/tint_all_transforms_fuzzer.cc
@@ -18,9 +18,22 @@
namespace fuzzers {
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ struct Config {
+ uint32_t group;
+ uint32_t binding;
+ };
+ if (size < sizeof(Config)) {
+ return 0;
+ }
+ auto* config = reinterpret_cast<const Config*>(data);
+ data += sizeof(Config);
+ size -= sizeof(Config);
+
tint::transform::Manager transform_manager;
tint::transform::DataMap transform_inputs;
- transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(0, 0);
+
+ transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(
+ config->binding, config->group);
transform_manager.Add<tint::transform::BoundArrayAccessors>();
transform_manager.Add<tint::transform::EmitVertexPointSize>();
transform_manager.Add<tint::transform::FirstIndexOffset>();
diff --git a/fuzzers/tint_first_index_offset_fuzzer.cc b/fuzzers/tint_first_index_offset_fuzzer.cc
index 6915981..d521063 100644
--- a/fuzzers/tint_first_index_offset_fuzzer.cc
+++ b/fuzzers/tint_first_index_offset_fuzzer.cc
@@ -18,9 +18,21 @@
namespace fuzzers {
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ struct Config {
+ uint32_t group;
+ uint32_t binding;
+ };
+ if (size < sizeof(Config)) {
+ return 0;
+ }
+ auto* config = reinterpret_cast<const Config*>(data);
+ data += sizeof(Config);
+ size -= sizeof(Config);
+
tint::transform::Manager transform_manager;
tint::transform::DataMap transform_inputs;
- transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(0, 0);
+ transform_inputs.Add<tint::transform::FirstIndexOffset::BindingPoint>(
+ config->binding, config->group);
transform_manager.Add<tint::transform::FirstIndexOffset>();
tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv);