Fix GN dirty checking for SPIR-V test files.
Previously, GN would never reach steady-state when compiling test files
because SPIR-V listed the incorrect extension for its test files
(.spirv). We can now reach steady-state when building more than once.
Change-Id: If9f6bf7a4722c1ca87b682186f0b7ba451311955
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341976
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 5aacbcc..769cd7d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -704,10 +704,20 @@
foreach(src, sources) {
dir = get_path_info(src, "dir")
name = get_path_info(src, "name")
+ ext = get_path_info(src, "extension")
foreach(outputPattern, invoker.outputPatterns) {
- outputs += [ target_out_dir + "/" + rebase_path(
- dir + outputPattern[0] + name + outputPattern[1],
- target_out_dir) ]
+ outDirectory = outputPattern[0]
+ outExtension = outputPattern[1]
+
+ # SPIR-V uses separate extensions for .vert and .geom shaders.
+ if (outExtension == ".asm.frag" && ext == "vert") {
+ outExtension = ".asm.vert"
+ } else if (outExtension == ".asm.frag" && ext == "geom") {
+ outExtension = ".asm.geom"
+ }
+ outputs += [ target_out_dir + "/" +
+ rebase_path(dir + outDirectory + name + outExtension,
+ target_out_dir) ]
}
}
args = [
@@ -764,7 +774,7 @@
sources = sksl_spirv_tests_sources
outputPatterns = [ [
"/golden/",
- ".spirv",
+ ".asm.frag",
] ]
lang = "--spirv"
settings = "--settings"