2b788b11e0
Several blend functions generate a surprisingly large amount of code, and appear to have opportunities for further optimization. At any rate, if we make compiler changes that would affect the output of a blend function, I think we would want to see the changes reflected in our golden outputs. Change-Id: Iff612dcd4bad8824b5e6e97413ffce19e5ea1c0e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/318336 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
32 lines
737 B
GLSL
32 lines
737 B
GLSL
#version 400
|
|
uniform 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;
|
|
}
|
|
vec4 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;
|
|
}
|
|
|
|
return _0_blend_darken;
|
|
|
|
}
|