Re-enable spirv-cross fuzzers
Roll third_party/shaderc/ 24536bdd3..1d6155d86 (1 commit)
https://chromium.googlesource.com/external/github.com/google/shaderc/+log/24536bdd3cff..1d6155d8679a
$ git log 24536bdd3..1d6155d86 --date=short --no-merges --format='%ad %ae %s'
2019-11-27 rharrison Moving spirv-cross dep from Dawn into shaderc (#911)
Created with:
roll-dep third_party/shaderc
BUG=dawn:285
Change-Id: I47d202166f9e34c88e7aad75d6a3c8aa9a7d6499
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/14120
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index 26cdf68..68e63d1 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1210,6 +1210,9 @@
group("dawn_fuzzers") {
testonly = true
deps = [
+ "src/fuzzers:dawn_spirv_cross_glsl_fast_fuzzer",
+ "src/fuzzers:dawn_spirv_cross_hlsl_fast_fuzzer",
+ "src/fuzzers:dawn_spirv_cross_msl_fast_fuzzer",
"src/fuzzers:dawn_wire_server_and_frontend_fuzzer",
]
}
diff --git a/DEPS b/DEPS
index 185abb8..f0d8909 100644
--- a/DEPS
+++ b/DEPS
@@ -69,7 +69,7 @@
'condition': 'dawn_standalone',
},
'third_party/shaderc': {
- 'url': '{chromium_git}/external/github.com/google/shaderc@24536bdd3cff61dffefdbe2a23cb854785cbb168',
+ 'url': '{chromium_git}/external/github.com/google/shaderc@1d6155d8679a7775f7323cbb356cfd9e63400256',
'condition': 'dawn_standalone',
},
diff --git a/src/fuzzers/BUILD.gn b/src/fuzzers/BUILD.gn
index 6617938..57bdcf3 100644
--- a/src/fuzzers/BUILD.gn
+++ b/src/fuzzers/BUILD.gn
@@ -69,6 +69,55 @@
}
}
+static_library("dawn_spirv_cross_fuzzer_common") {
+ sources = [
+ "DawnSPIRVCrossFuzzer.cpp",
+ "DawnSPIRVCrossFuzzer.h",
+ ]
+ public_deps = [
+ "${dawn_shaderc_dir}:libshaderc_spvc",
+ ]
+}
+
+# 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_glsl_fast_fuzzer") {
+ sources = [
+ "DawnSPIRVCrossGLSLFastFuzzer.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_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",