Skip to content

Commit aeae3a5

Browse files
johnstiles-googleSkia Commit-Bot
authored and
Skia Commit-Bot
committed
Add golden outputs for the Metal backend.
This CL also updates the blend tests to use sk_FragColor instead of returning a half4, as the Metal backend assumes that a fragment processor's `main` will return void and always synthesizes a `return *_out;` at the end. (context link: https://osscs.corp.google.com/android/platform/superproject/+/master:external/skqp/src/sksl/SkSLMetalCodeGenerator.cpp;l=803;drc=842d31b14159626054e01dd32826563a8f4214bf ) BYPASS_INCLUSIVE_LANGUAGE_REASON=see http://b/168134166 Change-Id: I330a456bf25ee72d3a29c59cd624625378ae80a0 Bug: skia:10649, skia:10757, skia:10758, skia:10759, skia:10760, skia:10761, skia:10762 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319409 Commit-Queue: John Stiles <[email protected]> Reviewed-by: Ethan Nicholas <[email protected]>
1 parent 3380be9 commit aeae3a5

File tree

219 files changed

+3248
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+3248
-277
lines changed

BUILD.gn

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,13 +732,24 @@ if (skia_compile_sksl_tests) {
732732
lang = "--glsl"
733733
settings = "--nosettings"
734734
}
735+
compile_sksl("metal_tests") {
736+
sources = sksl_metal_tests_sources
737+
outputPatterns = [ [
738+
"/golden/",
739+
".metal",
740+
] ]
741+
lang = "--metal"
742+
settings = "--settings"
743+
}
735744
} else {
736745
group("compile_sksl_fp_tests") {
737746
}
738747
group("compile_sksl_glsl_tests") {
739748
}
740749
group("compile_sksl_glsl_nosettings_tests") {
741750
}
751+
group("compile_sksl_metal_tests") {
752+
}
742753
}
743754

744755
optional("gpu") {
@@ -748,6 +759,7 @@ optional("gpu") {
748759
":compile_sksl_fp_tests",
749760
":compile_sksl_glsl_nosettings_tests",
750761
":compile_sksl_glsl_tests",
762+
":compile_sksl_metal_tests",
751763
":dehydrate_sksl",
752764
":run_sksllex",
753765
]

gn/compile_sksl_tests.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,7 @@ def compile(skslc, input, target, extension):
6464
makeEmptyFile(target + ".h")
6565
elif lang == "--glsl":
6666
compile(skslc, input, target, ".glsl")
67+
elif lang == "--metal":
68+
compile(skslc, input, target, ".metal")
6769
else:
68-
sys.exit("### Expected one of: --fp --glsl, got " + lang)
70+
sys.exit("### Expected one of: --fp --glsl --metal, got " + lang)

gn/sksl_tests.gni

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ sksl_error_tests = [
133133
sksl_glsl_tests = [
134134
"$_tests/sksl/glsl/ForceHighPrecision.sksl",
135135
"$_tests/sksl/glsl/IncompleteShortIntPrecision.sksl",
136+
"$_tests/sksl/glsl/LayoutQualifiers.sksl",
136137
"$_tests/sksl/glsl/ShortIntPrecision.sksl",
137138
"$_tests/sksl/glsl/TextureSharpenVersion110.sksl",
138139
"$_tests/sksl/glsl/TextureVersion110.sksl",
@@ -184,7 +185,6 @@ sksl_shared_tests = [
184185
"$_tests/sksl/shared/InterfaceBlockNamed.sksl",
185186
"$_tests/sksl/shared/Matrices.sksl",
186187
"$_tests/sksl/shared/MatrixFolding.sksl",
187-
"$_tests/sksl/shared/ModifiersDeclaration.sksl",
188188
"$_tests/sksl/shared/MultipleAssignments.sksl",
189189
"$_tests/sksl/shared/NegatedVectorLiteral.sksl",
190190
"$_tests/sksl/shared/NoFragCoordsPos.vert",
@@ -326,3 +326,7 @@ sksl_glsl_tests_sources =
326326
# Tests in sksl_glsl_settings_tests_sources will be compiled twice, once with --settings and once
327327
# using --nosettings. In the latter mode, StandaloneSettings is appended to the output filename.
328328
sksl_glsl_settings_tests_sources = sksl_blend_tests + sksl_settings_tests
329+
330+
# Tests in sksl_metal_tests_sources will be compiled with --settings on, and are expected to
331+
# generate a .metal output file.
332+
sksl_metal_tests_sources = sksl_blend_tests + sksl_shared_tests

tests/sksl/blend/BlendClear.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_clear(src, dst);
5+
void main() {
6+
sk_FragColor = blend_clear(src, dst);
77
}

tests/sksl/blend/BlendColor.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_color(src, dst);
5+
void main() {
6+
sk_FragColor = blend_color(src, dst);
77
}

tests/sksl/blend/BlendColorBurn.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_color_burn(src, dst);
5+
void main() {
6+
sk_FragColor = blend_color_burn(src, dst);
77
}

tests/sksl/blend/BlendColorDodge.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_color_dodge(src, dst);
5+
void main() {
6+
sk_FragColor = blend_color_dodge(src, dst);
77
}

tests/sksl/blend/BlendDarken.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_darken(src, dst);
5+
void main() {
6+
sk_FragColor = blend_darken(src, dst);
77
}

tests/sksl/blend/BlendDifference.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_difference(src, dst);
5+
void main() {
6+
sk_FragColor = blend_difference(src, dst);
77
}

tests/sksl/blend/BlendDst.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_dst(src, dst);
5+
void main() {
6+
sk_FragColor = blend_dst(src, dst);
77
}

tests/sksl/blend/BlendDstAtop.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src_atop(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src_atop(src, dst);
77
}

tests/sksl/blend/BlendDstIn.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_dst_in(src, dst);
5+
void main() {
6+
sk_FragColor = blend_dst_in(src, dst);
77
}

tests/sksl/blend/BlendDstOut.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_dst_out(src, dst);
5+
void main() {
6+
sk_FragColor = blend_dst_out(src, dst);
77
}

tests/sksl/blend/BlendDstOver.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_dst_over(src, dst);
5+
void main() {
6+
sk_FragColor = blend_dst_over(src, dst);
77
}

tests/sksl/blend/BlendExclusion.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_exclusion(src, dst);
5+
void main() {
6+
sk_FragColor = blend_exclusion(src, dst);
77
}

tests/sksl/blend/BlendHardLight.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_hard_light(src, dst);
5+
void main() {
6+
sk_FragColor = blend_hard_light(src, dst);
77
}

tests/sksl/blend/BlendHue.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_hue(src, dst);
5+
void main() {
6+
sk_FragColor = blend_hue(src, dst);
77
}

tests/sksl/blend/BlendLighten.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_lighten(src, dst);
5+
void main() {
6+
sk_FragColor = blend_lighten(src, dst);
77
}

tests/sksl/blend/BlendLuminosity.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_luminosity(src, dst);
5+
void main() {
6+
sk_FragColor = blend_luminosity(src, dst);
77
}

tests/sksl/blend/BlendModulate.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_modulate(src, dst);
5+
void main() {
6+
sk_FragColor = blend_modulate(src, dst);
77
}

tests/sksl/blend/BlendMultiply.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_multiply(src, dst);
5+
void main() {
6+
sk_FragColor = blend_multiply(src, dst);
77
}

tests/sksl/blend/BlendOverlap.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_overlay(src, dst);
5+
void main() {
6+
sk_FragColor = blend_overlay(src, dst);
77
}

tests/sksl/blend/BlendPlus.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_plus(src, dst);
5+
void main() {
6+
sk_FragColor = blend_plus(src, dst);
77
}

tests/sksl/blend/BlendSaturation.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_saturation(src, dst);
5+
void main() {
6+
sk_FragColor = blend_saturation(src, dst);
77
}

tests/sksl/blend/BlendScreen.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_screen(src, dst);
5+
void main() {
6+
sk_FragColor = blend_screen(src, dst);
77
}

tests/sksl/blend/BlendSoftLight.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_soft_light(src, dst);
5+
void main() {
6+
sk_FragColor = blend_soft_light(src, dst);
77
}

tests/sksl/blend/BlendSrc.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src(src, dst);
77
}

tests/sksl/blend/BlendSrcAtop.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src_atop(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src_atop(src, dst);
77
}

tests/sksl/blend/BlendSrcIn.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src_in(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src_in(src, dst);
77
}

tests/sksl/blend/BlendSrcOut.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src_out(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src_out(src, dst);
77
}

tests/sksl/blend/BlendSrcOver.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_src_over(src, dst);
5+
void main() {
6+
sk_FragColor = blend_src_over(src, dst);
77
}

tests/sksl/blend/BlendXor.sksl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*#pragma settings Default*/
22

3-
uniform half4 src, dst;
3+
in half4 src, dst;
44

5-
half4 main() {
6-
return blend_xor(src, dst);
5+
void main() {
6+
sk_FragColor = blend_xor(src, dst);
77
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#version 400
2-
uniform vec4 src, dst;
2+
out vec4 sk_FragColor;
3+
in vec4 src, dst;
34
vec4 blend_clear(vec4 src, vec4 dst) {
45
return vec4(0.0);
56
}
6-
vec4 main() {
7-
return vec4(0.0);
7+
void main() {
8+
sk_FragColor = vec4(0.0);
89

910
}

0 commit comments

Comments
 (0)