mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-08 13:14:56 +00:00
Add fuzzing for transform::BindingRemapper
BUG=tint:722 Change-Id: I742f1e536ef0429c2e7b8c9ea6c13b836a2ec0c2 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/49360 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>
This commit is contained in:
committed by
Commit Bot service account
parent
0949bdf68f
commit
b5c908f700
@@ -18,25 +18,22 @@ namespace tint {
|
||||
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>(
|
||||
config->binding, config->group);
|
||||
if (!ExtractFirstIndexOffsetInputs(&data, &size, &transform_inputs)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!ExtractBindingRemapperInputs(&data, &size, &transform_inputs)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
transform_manager.Add<tint::transform::BoundArrayAccessors>();
|
||||
transform_manager.Add<tint::transform::EmitVertexPointSize>();
|
||||
transform_manager.Add<tint::transform::FirstIndexOffset>();
|
||||
transform_manager.Add<tint::transform::BindingRemapper>();
|
||||
|
||||
tint::fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv);
|
||||
fuzzer.SetTransformManager(&transform_manager, std::move(transform_inputs));
|
||||
|
||||
Reference in New Issue
Block a user