From fac169113df7dad1b55092ab099eabb25e723719 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 7 Jan 2021 01:36:11 +0000 Subject: [PATCH] Remove HLSL & MSL SPIRV-Cross Fuzzers The plan of record is to use Tint for back end generation on these platforms for launch, so there is no need to fuzz SPIRV-Cross on them. The GLSL fuzzer will remain for now, since the PoR has native support for GLSL using SPRIV-Cross. Change-Id: I8d6bf76b2b81e9bbc158fa8c5a63b119060abbe5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36701 Commit-Queue: dan sinclair Reviewed-by: Austin Eng Reviewed-by: dan sinclair Auto-Submit: Ryan Harrison --- src/fuzzers/BUILD.gn | 20 -------- src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp | 53 -------------------- src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp | 46 ----------------- 3 files changed, 119 deletions(-) delete mode 100644 src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp delete mode 100644 src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp diff --git a/src/fuzzers/BUILD.gn b/src/fuzzers/BUILD.gn index 7c8e3dd3e4..76d8f9f3dd 100644 --- a/src/fuzzers/BUILD.gn +++ b/src/fuzzers/BUILD.gn @@ -104,24 +104,6 @@ dawn_fuzzer_test("dawn_spirv_cross_glsl_fast_fuzzer") { asan_options = [ "allow_user_segv_handler=1" ] } -# TODO(rharrison): Remove asan_options once signal trap is no longer -# needed. -# Uses Dawn specific options and varies input data -dawn_fuzzer_test("dawn_spirv_cross_hlsl_fast_fuzzer") { - sources = [ "DawnSPIRVCrossHLSLFastFuzzer.cpp" ] - deps = [ ":dawn_spirv_cross_fuzzer_common" ] - asan_options = [ "allow_user_segv_handler=1" ] -} - -# TODO(rharrison): Remove asan_options once signal trap is no longer -# needed. -# Uses Dawn specific options and varies input data -dawn_fuzzer_test("dawn_spirv_cross_msl_fast_fuzzer") { - sources = [ "DawnSPIRVCrossMSLFastFuzzer.cpp" ] - deps = [ ":dawn_spirv_cross_fuzzer_common" ] - asan_options = [ "allow_user_segv_handler=1" ] -} - dawn_fuzzer_test("dawn_wire_server_and_frontend_fuzzer") { sources = [ "DawnWireServerAndFrontendFuzzer.cpp" ] @@ -153,8 +135,6 @@ group("dawn_fuzzers") { testonly = true deps = [ ":dawn_spirv_cross_glsl_fast_fuzzer", - ":dawn_spirv_cross_hlsl_fast_fuzzer", - ":dawn_spirv_cross_msl_fast_fuzzer", ":dawn_wire_server_and_frontend_fuzzer", ":dawn_wire_server_and_vulkan_backend_fuzzer", ] diff --git a/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp b/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp deleted file mode 100644 index d6154b5221..0000000000 --- a/src/fuzzers/DawnSPIRVCrossHLSLFastFuzzer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2018 The Dawn Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include - -#include - -#include "DawnSPIRVCrossFuzzer.h" - -namespace { - - int FuzzTask(const std::vector& input) { - // Values come from ShaderModuleD3D12.cpp - spirv_cross::CompilerGLSL::Options options_glsl; - // Force all uninitialized variables to be 0, otherwise they will fail to compile - // by FXC. - options_glsl.force_zero_initialized_variables = true; - - spirv_cross::CompilerHLSL::Options options_hlsl; - options_hlsl.shader_model = 51; - options_hlsl.point_coord_compat = true; - options_hlsl.point_size_compat = true; - options_hlsl.nonwritable_uav_texture_as_srv = true; - - spirv_cross::CompilerHLSL compiler(input); - compiler.set_common_options(options_glsl); - compiler.set_hlsl_options(options_hlsl); - compiler.compile(); - - return 0; - } -} // namespace - -extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv) { - return 0; -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - return DawnSPIRVCrossFuzzer::Run(data, size, FuzzTask); -} diff --git a/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp b/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp deleted file mode 100644 index 4649d230bb..0000000000 --- a/src/fuzzers/DawnSPIRVCrossMSLFastFuzzer.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018 The Dawn Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include - -#include - -#include "DawnSPIRVCrossFuzzer.h" - -namespace { - - int FuzzTask(const std::vector& input) { - // Values come from ShaderModuleMTL.mm - spirv_cross::CompilerMSL::Options options_msl; - options_msl.enable_point_size_builtin = false; - options_msl.buffer_size_buffer_index = 30; - - spirv_cross::CompilerMSL compiler(input); - compiler.set_msl_options(options_msl); - compiler.compile(); - - return 0; - } - -} // namespace - -extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv) { - return 0; -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - return DawnSPIRVCrossFuzzer::Run(data, size, FuzzTask); -}