skia2/tests/sksl/blend/golden/BlendDarken.glsl
John Stiles aeae3a58e3 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 <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-09-25 17:46:43 +00:00

33 lines
763 B
GLSL

#version 400
out vec4 sk_FragColor;
in vec4 src, dst;
vec4 blend_src_over(vec4 src, vec4 dst) {
return src + (1.0 - src.w) * dst;
}
vec4 blend_darken(vec4 src, vec4 dst) {
vec4 _2_blend_src_over;
{
_2_blend_src_over = src + (1.0 - src.w) * dst;
}
vec4 result = _2_blend_src_over;
result.xyz = min(result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
return result;
}
void main() {
vec4 _0_blend_darken;
{
vec4 _3_blend_src_over;
{
_3_blend_src_over = src + (1.0 - src.w) * dst;
}
vec4 _1_result = _3_blend_src_over;
_1_result.xyz = min(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
_0_blend_darken = _1_result;
}
sk_FragColor = _0_blend_darken;
}