Avoid generating unused variables in the Inliner.
These variables were later being eliminated by the dead-code-elimination pass, so you can't see them directly in the final output, but removing them affects the name mangling off all future symbols, so it causes an enormous ripple effect in the diff. And of course, it's a waste of time and memory to synthesize IRNodes just to destroy them later. If we disable control-flow analysis, we lose the dead-code-elimination pass entirely; this change is also beneficial for emitting better code when optimizations are turned off. Change-Id: I882b3be4f3fd99b77d99b6abe128f26bb9252c89 Bug: skia:11319 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375776 Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
This commit is contained in:
parent
a935c3f661
commit
511c500ad4
@ -492,13 +492,13 @@ std::unique_ptr<Statement> Inliner::inlineStatement(int offset,
|
||||
// inside an Block's scope, we don't need to store the result in a variable at all. Just
|
||||
// replace the function-call expression with the function's return expression.
|
||||
SkASSERT(resultExpr);
|
||||
SkASSERT(*resultExpr);
|
||||
if (returnComplexity <= ReturnComplexity::kSingleSafeReturn) {
|
||||
*resultExpr = expr(r.expression());
|
||||
return std::make_unique<Nop>();
|
||||
}
|
||||
|
||||
// For more complex functions, assign their result into a variable.
|
||||
SkASSERT(*resultExpr);
|
||||
auto assignment =
|
||||
std::make_unique<ExpressionStatement>(std::make_unique<BinaryExpression>(
|
||||
offset,
|
||||
@ -645,9 +645,12 @@ Inliner::InlinedCall Inliner::inlineCall(FunctionCall* call,
|
||||
|
||||
inlinedBody.children().push_back(std::make_unique<InlineMarker>(&call->function()));
|
||||
|
||||
// Create a variable to hold the result in the extra statements (excepting void).
|
||||
std::unique_ptr<Expression> resultExpr;
|
||||
if (function.declaration().returnType() != *fContext->fTypes.fVoid) {
|
||||
if (returnComplexity > ReturnComplexity::kSingleSafeReturn &&
|
||||
function.declaration().returnType() != *fContext->fTypes.fVoid) {
|
||||
// Create a variable to hold the result in the extra statements. We don't need to do this
|
||||
// for void-return functions, or in cases that are simple enough that we can just replace
|
||||
// the function-call node with the result expression.
|
||||
std::unique_ptr<Expression> noInitialValue;
|
||||
InlineVariable var = this->makeInlineVariable(function.declaration().name(),
|
||||
&function.declaration().returnType(),
|
||||
@ -655,7 +658,7 @@ Inliner::InlinedCall Inliner::inlineCall(FunctionCall* call,
|
||||
caller->isBuiltin(), &noInitialValue);
|
||||
inlinedBody.children().push_back(std::move(var.fVarDecl));
|
||||
resultExpr = std::make_unique<VariableReference>(/*offset=*/-1, var.fVarSymbol);
|
||||
}
|
||||
}
|
||||
|
||||
// Create variables in the extra statements to hold the arguments, and assign the arguments to
|
||||
// them.
|
||||
|
@ -8,17 +8,17 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %main "main"
|
||||
OpName %_1_alpha "_1_alpha"
|
||||
OpName %_2_sda "_2_sda"
|
||||
OpName %_3_dsa "_3_dsa"
|
||||
OpName %_4_blend_set_color_luminance "_4_blend_set_color_luminance"
|
||||
OpName %_5_lum "_5_lum"
|
||||
OpName %_6_result "_6_result"
|
||||
OpName %_7_minComp "_7_minComp"
|
||||
OpName %_8_maxComp "_8_maxComp"
|
||||
OpName %_9_d "_9_d"
|
||||
OpName %_10_n "_10_n"
|
||||
OpName %_11_d "_11_d"
|
||||
OpName %_0_alpha "_0_alpha"
|
||||
OpName %_1_sda "_1_sda"
|
||||
OpName %_2_dsa "_2_dsa"
|
||||
OpName %_3_blend_set_color_luminance "_3_blend_set_color_luminance"
|
||||
OpName %_4_lum "_4_lum"
|
||||
OpName %_5_result "_5_result"
|
||||
OpName %_6_minComp "_6_minComp"
|
||||
OpName %_7_maxComp "_7_maxComp"
|
||||
OpName %_8_d "_8_d"
|
||||
OpName %_9_n "_9_n"
|
||||
OpName %_10_d "_10_d"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -110,71 +110,71 @@ OpDecorate %152 RelaxedPrecision
|
||||
%float_1 = OpConstant %float 1
|
||||
%main = OpFunction %void None %14
|
||||
%15 = OpLabel
|
||||
%_1_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_2_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_5_lum = OpVariable %_ptr_Function_float Function
|
||||
%_6_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_9_d = OpVariable %_ptr_Function_float Function
|
||||
%_10_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_11_d = OpVariable %_ptr_Function_float Function
|
||||
%_0_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_1_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_2_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_lum = OpVariable %_ptr_Function_float Function
|
||||
%_5_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_6_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_7_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_d = OpVariable %_ptr_Function_float Function
|
||||
%_9_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_10_d = OpVariable %_ptr_Function_float Function
|
||||
%18 = OpLoad %v4float %dst
|
||||
%19 = OpCompositeExtract %float %18 3
|
||||
%20 = OpLoad %v4float %src
|
||||
%21 = OpCompositeExtract %float %20 3
|
||||
%22 = OpFMul %float %19 %21
|
||||
OpStore %_1_alpha %22
|
||||
OpStore %_0_alpha %22
|
||||
%26 = OpLoad %v4float %src
|
||||
%27 = OpVectorShuffle %v3float %26 %26 0 1 2
|
||||
%28 = OpLoad %v4float %dst
|
||||
%29 = OpCompositeExtract %float %28 3
|
||||
%30 = OpVectorTimesScalar %v3float %27 %29
|
||||
OpStore %_2_sda %30
|
||||
OpStore %_1_sda %30
|
||||
%32 = OpLoad %v4float %dst
|
||||
%33 = OpVectorShuffle %v3float %32 %32 0 1 2
|
||||
%34 = OpLoad %v4float %src
|
||||
%35 = OpCompositeExtract %float %34 3
|
||||
%36 = OpVectorTimesScalar %v3float %33 %35
|
||||
OpStore %_3_dsa %36
|
||||
%44 = OpLoad %v3float %_3_dsa
|
||||
OpStore %_2_dsa %36
|
||||
%44 = OpLoad %v3float %_2_dsa
|
||||
%39 = OpDot %float %43 %44
|
||||
OpStore %_5_lum %39
|
||||
%46 = OpLoad %float %_5_lum
|
||||
%48 = OpLoad %v3float %_2_sda
|
||||
OpStore %_4_lum %39
|
||||
%46 = OpLoad %float %_4_lum
|
||||
%48 = OpLoad %v3float %_1_sda
|
||||
%47 = OpDot %float %43 %48
|
||||
%49 = OpFSub %float %46 %47
|
||||
%50 = OpLoad %v3float %_2_sda
|
||||
%50 = OpLoad %v3float %_1_sda
|
||||
%51 = OpCompositeConstruct %v3float %49 %49 %49
|
||||
%52 = OpFAdd %v3float %51 %50
|
||||
OpStore %_6_result %52
|
||||
%56 = OpLoad %v3float %_6_result
|
||||
OpStore %_5_result %52
|
||||
%56 = OpLoad %v3float %_5_result
|
||||
%57 = OpCompositeExtract %float %56 0
|
||||
%58 = OpLoad %v3float %_6_result
|
||||
%58 = OpLoad %v3float %_5_result
|
||||
%59 = OpCompositeExtract %float %58 1
|
||||
%55 = OpExtInst %float %1 FMin %57 %59
|
||||
%60 = OpLoad %v3float %_6_result
|
||||
%60 = OpLoad %v3float %_5_result
|
||||
%61 = OpCompositeExtract %float %60 2
|
||||
%54 = OpExtInst %float %1 FMin %55 %61
|
||||
OpStore %_7_minComp %54
|
||||
%65 = OpLoad %v3float %_6_result
|
||||
OpStore %_6_minComp %54
|
||||
%65 = OpLoad %v3float %_5_result
|
||||
%66 = OpCompositeExtract %float %65 0
|
||||
%67 = OpLoad %v3float %_6_result
|
||||
%67 = OpLoad %v3float %_5_result
|
||||
%68 = OpCompositeExtract %float %67 1
|
||||
%64 = OpExtInst %float %1 FMax %66 %68
|
||||
%69 = OpLoad %v3float %_6_result
|
||||
%69 = OpLoad %v3float %_5_result
|
||||
%70 = OpCompositeExtract %float %69 2
|
||||
%63 = OpExtInst %float %1 FMax %64 %70
|
||||
OpStore %_8_maxComp %63
|
||||
%72 = OpLoad %float %_7_minComp
|
||||
OpStore %_7_maxComp %63
|
||||
%72 = OpLoad %float %_6_minComp
|
||||
%74 = OpFOrdLessThan %bool %72 %float_0
|
||||
OpSelectionMerge %76 None
|
||||
OpBranchConditional %74 %75 %76
|
||||
%75 = OpLabel
|
||||
%77 = OpLoad %float %_5_lum
|
||||
%78 = OpLoad %float %_7_minComp
|
||||
%77 = OpLoad %float %_4_lum
|
||||
%78 = OpLoad %float %_6_minComp
|
||||
%79 = OpFOrdNotEqual %bool %77 %78
|
||||
OpBranch %76
|
||||
%76 = OpLabel
|
||||
@ -182,32 +182,32 @@ OpBranch %76
|
||||
OpSelectionMerge %82 None
|
||||
OpBranchConditional %80 %81 %82
|
||||
%81 = OpLabel
|
||||
%84 = OpLoad %float %_5_lum
|
||||
%85 = OpLoad %float %_7_minComp
|
||||
%84 = OpLoad %float %_4_lum
|
||||
%85 = OpLoad %float %_6_minComp
|
||||
%86 = OpFSub %float %84 %85
|
||||
OpStore %_9_d %86
|
||||
%87 = OpLoad %float %_5_lum
|
||||
%88 = OpLoad %v3float %_6_result
|
||||
%89 = OpLoad %float %_5_lum
|
||||
OpStore %_8_d %86
|
||||
%87 = OpLoad %float %_4_lum
|
||||
%88 = OpLoad %v3float %_5_result
|
||||
%89 = OpLoad %float %_4_lum
|
||||
%90 = OpCompositeConstruct %v3float %89 %89 %89
|
||||
%91 = OpFSub %v3float %88 %90
|
||||
%92 = OpLoad %float %_5_lum
|
||||
%93 = OpLoad %float %_9_d
|
||||
%92 = OpLoad %float %_4_lum
|
||||
%93 = OpLoad %float %_8_d
|
||||
%94 = OpFDiv %float %92 %93
|
||||
%95 = OpVectorTimesScalar %v3float %91 %94
|
||||
%96 = OpCompositeConstruct %v3float %87 %87 %87
|
||||
%97 = OpFAdd %v3float %96 %95
|
||||
OpStore %_6_result %97
|
||||
OpStore %_5_result %97
|
||||
OpBranch %82
|
||||
%82 = OpLabel
|
||||
%98 = OpLoad %float %_8_maxComp
|
||||
%99 = OpLoad %float %_1_alpha
|
||||
%98 = OpLoad %float %_7_maxComp
|
||||
%99 = OpLoad %float %_0_alpha
|
||||
%100 = OpFOrdGreaterThan %bool %98 %99
|
||||
OpSelectionMerge %102 None
|
||||
OpBranchConditional %100 %101 %102
|
||||
%101 = OpLabel
|
||||
%103 = OpLoad %float %_8_maxComp
|
||||
%104 = OpLoad %float %_5_lum
|
||||
%103 = OpLoad %float %_7_maxComp
|
||||
%104 = OpLoad %float %_4_lum
|
||||
%105 = OpFOrdNotEqual %bool %103 %104
|
||||
OpBranch %102
|
||||
%102 = OpLabel
|
||||
@ -215,43 +215,43 @@ OpBranch %102
|
||||
OpSelectionMerge %109 None
|
||||
OpBranchConditional %106 %107 %108
|
||||
%107 = OpLabel
|
||||
%111 = OpLoad %v3float %_6_result
|
||||
%112 = OpLoad %float %_5_lum
|
||||
%111 = OpLoad %v3float %_5_result
|
||||
%112 = OpLoad %float %_4_lum
|
||||
%113 = OpCompositeConstruct %v3float %112 %112 %112
|
||||
%114 = OpFSub %v3float %111 %113
|
||||
%115 = OpLoad %float %_1_alpha
|
||||
%116 = OpLoad %float %_5_lum
|
||||
%115 = OpLoad %float %_0_alpha
|
||||
%116 = OpLoad %float %_4_lum
|
||||
%117 = OpFSub %float %115 %116
|
||||
%118 = OpVectorTimesScalar %v3float %114 %117
|
||||
OpStore %_10_n %118
|
||||
%120 = OpLoad %float %_8_maxComp
|
||||
%121 = OpLoad %float %_5_lum
|
||||
OpStore %_9_n %118
|
||||
%120 = OpLoad %float %_7_maxComp
|
||||
%121 = OpLoad %float %_4_lum
|
||||
%122 = OpFSub %float %120 %121
|
||||
OpStore %_11_d %122
|
||||
%123 = OpLoad %float %_5_lum
|
||||
%124 = OpLoad %v3float %_10_n
|
||||
%125 = OpLoad %float %_11_d
|
||||
OpStore %_10_d %122
|
||||
%123 = OpLoad %float %_4_lum
|
||||
%124 = OpLoad %v3float %_9_n
|
||||
%125 = OpLoad %float %_10_d
|
||||
%127 = OpFDiv %float %float_1 %125
|
||||
%128 = OpVectorTimesScalar %v3float %124 %127
|
||||
%129 = OpCompositeConstruct %v3float %123 %123 %123
|
||||
%130 = OpFAdd %v3float %129 %128
|
||||
OpStore %_4_blend_set_color_luminance %130
|
||||
OpStore %_3_blend_set_color_luminance %130
|
||||
OpBranch %109
|
||||
%108 = OpLabel
|
||||
%131 = OpLoad %v3float %_6_result
|
||||
OpStore %_4_blend_set_color_luminance %131
|
||||
%131 = OpLoad %v3float %_5_result
|
||||
OpStore %_3_blend_set_color_luminance %131
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%132 = OpLoad %v3float %_4_blend_set_color_luminance
|
||||
%132 = OpLoad %v3float %_3_blend_set_color_luminance
|
||||
%133 = OpLoad %v4float %dst
|
||||
%134 = OpVectorShuffle %v3float %133 %133 0 1 2
|
||||
%135 = OpFAdd %v3float %132 %134
|
||||
%136 = OpLoad %v3float %_3_dsa
|
||||
%136 = OpLoad %v3float %_2_dsa
|
||||
%137 = OpFSub %v3float %135 %136
|
||||
%138 = OpLoad %v4float %src
|
||||
%139 = OpVectorShuffle %v3float %138 %138 0 1 2
|
||||
%140 = OpFAdd %v3float %137 %139
|
||||
%141 = OpLoad %v3float %_2_sda
|
||||
%141 = OpLoad %v3float %_1_sda
|
||||
%142 = OpFSub %v3float %140 %141
|
||||
%143 = OpCompositeExtract %float %142 0
|
||||
%144 = OpCompositeExtract %float %142 1
|
||||
@ -261,7 +261,7 @@ OpBranch %109
|
||||
%148 = OpLoad %v4float %dst
|
||||
%149 = OpCompositeExtract %float %148 3
|
||||
%150 = OpFAdd %float %147 %149
|
||||
%151 = OpLoad %float %_1_alpha
|
||||
%151 = OpLoad %float %_0_alpha
|
||||
%152 = OpFSub %float %150 %151
|
||||
%153 = OpCompositeConstruct %v4float %143 %144 %145 %152
|
||||
OpStore %sk_FragColor %153
|
||||
|
@ -3,30 +3,30 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _6_result = (_5_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda)) + _2_sda;
|
||||
vec3 _5_result = (_4_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda)) + _1_sda;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
vec3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
vec3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_4_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_3_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
}
|
||||
|
@ -13,30 +13,30 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float _1_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _2_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _3_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
float _0_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _1_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _2_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
float3 _6_result = (_5_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda)) + _2_sda;
|
||||
float3 _5_result = (_4_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda)) + _1_sda;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
float3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
float3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
_out.sk_FragColor = float4((((_4_blend_set_color_luminance + _in.dst.xyz) - _3_dsa) + _in.src.xyz) - _2_sda, (_in.src.w + _in.dst.w) - _1_alpha);
|
||||
_out.sk_FragColor = float4((((_3_blend_set_color_luminance + _in.dst.xyz) - _2_dsa) + _in.src.xyz) - _1_sda, (_in.src.w + _in.dst.w) - _0_alpha);
|
||||
|
||||
|
||||
return _out;
|
||||
|
@ -8,7 +8,7 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_color_burn_component "_color_burn_component"
|
||||
OpName %_6_n "_6_n"
|
||||
OpName %_1_n "_1_n"
|
||||
OpName %delta "delta"
|
||||
OpName %main "main"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
@ -95,7 +95,7 @@ OpDecorate %130 RelaxedPrecision
|
||||
%17 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%18 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%19 = OpLabel
|
||||
%_6_n = OpVariable %_ptr_Function_float Function
|
||||
%_1_n = OpVariable %_ptr_Function_float Function
|
||||
%delta = OpVariable %_ptr_Function_float Function
|
||||
%20 = OpLoad %v2float %18
|
||||
%21 = OpCompositeExtract %float %20 1
|
||||
@ -148,10 +148,10 @@ OpReturnValue %60
|
||||
%68 = OpLoad %v2float %17
|
||||
%69 = OpCompositeExtract %float %68 1
|
||||
%70 = OpFMul %float %67 %69
|
||||
OpStore %_6_n %70
|
||||
OpStore %_1_n %70
|
||||
%73 = OpLoad %v2float %18
|
||||
%74 = OpCompositeExtract %float %73 1
|
||||
%75 = OpLoad %float %_6_n
|
||||
%75 = OpLoad %float %_1_n
|
||||
%76 = OpLoad %v2float %17
|
||||
%77 = OpCompositeExtract %float %76 0
|
||||
%78 = OpFDiv %float %75 %77
|
||||
|
@ -8,8 +8,8 @@ float _color_burn_component(vec2 s, vec2 d) {
|
||||
} else if (s.x == 0.0) {
|
||||
return d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _6_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _6_n / s.x);
|
||||
float _1_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _1_n / s.x);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -14,8 +14,8 @@ float _color_burn_component(float2 s, float2 d) {
|
||||
} else if (s.x == 0.0) {
|
||||
return d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _6_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _6_n / s.x);
|
||||
float _1_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _1_n / s.x);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -8,8 +8,8 @@ float _color_burn_component(vec2 s, vec2 d) {
|
||||
} else if (s.x == 0.0) {
|
||||
return d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _6_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _6_n / s.x);
|
||||
float _1_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _1_n / s.x);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_color_dodge_component "_color_dodge_component"
|
||||
OpName %delta "delta"
|
||||
OpName %_4_n "_4_n"
|
||||
OpName %_0_n "_0_n"
|
||||
OpName %main "main"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
@ -95,7 +95,7 @@ OpDecorate %127 RelaxedPrecision
|
||||
%18 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%19 = OpLabel
|
||||
%delta = OpVariable %_ptr_Function_float Function
|
||||
%_4_n = OpVariable %_ptr_Function_float Function
|
||||
%_0_n = OpVariable %_ptr_Function_float Function
|
||||
%20 = OpLoad %v2float %18
|
||||
%21 = OpCompositeExtract %float %20 0
|
||||
%23 = OpFOrdEqual %bool %21 %float_0
|
||||
@ -147,10 +147,10 @@ OpReturnValue %64
|
||||
%68 = OpLoad %v2float %17
|
||||
%69 = OpCompositeExtract %float %68 1
|
||||
%70 = OpFMul %float %67 %69
|
||||
OpStore %_4_n %70
|
||||
OpStore %_0_n %70
|
||||
%72 = OpLoad %v2float %18
|
||||
%73 = OpCompositeExtract %float %72 1
|
||||
%74 = OpLoad %float %_4_n
|
||||
%74 = OpLoad %float %_0_n
|
||||
%75 = OpLoad %float %delta
|
||||
%76 = OpFDiv %float %74 %75
|
||||
%71 = OpExtInst %float %1 FMin %73 %76
|
||||
|
@ -10,8 +10,8 @@ float _color_dodge_component(vec2 s, vec2 d) {
|
||||
if (delta == 0.0) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _4_n = d.x * s.y;
|
||||
delta = min(d.y, _4_n / delta);
|
||||
float _0_n = d.x * s.y;
|
||||
delta = min(d.y, _0_n / delta);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -16,8 +16,8 @@ float _color_dodge_component(float2 s, float2 d) {
|
||||
if (delta == 0.0) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _4_n = d.x * s.y;
|
||||
delta = min(d.y, _4_n / delta);
|
||||
float _0_n = d.x * s.y;
|
||||
delta = min(d.y, _0_n / delta);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -10,8 +10,8 @@ float _color_dodge_component(vec2 s, vec2 d) {
|
||||
if (delta == 0.0) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _4_n = d.x * s.y;
|
||||
delta = min(d.y, _4_n / delta);
|
||||
float _0_n = d.x * s.y;
|
||||
delta = min(d.y, _0_n / delta);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
|
@ -3,30 +3,30 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _6_result = (_5_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda)) + _2_sda;
|
||||
vec3 _5_result = (_4_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda)) + _1_sda;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
vec3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
vec3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_4_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_3_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %main "main"
|
||||
OpName %_1_result "_1_result"
|
||||
OpName %_0_result "_0_result"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -46,7 +46,7 @@ OpDecorate %41 RelaxedPrecision
|
||||
%v3float = OpTypeVector %float 3
|
||||
%main = OpFunction %void None %14
|
||||
%15 = OpLabel
|
||||
%_1_result = OpVariable %_ptr_Function_v4float Function
|
||||
%_0_result = OpVariable %_ptr_Function_v4float Function
|
||||
%18 = OpLoad %v4float %src
|
||||
%20 = OpLoad %v4float %src
|
||||
%21 = OpCompositeExtract %float %20 3
|
||||
@ -54,8 +54,8 @@ OpDecorate %41 RelaxedPrecision
|
||||
%23 = OpLoad %v4float %dst
|
||||
%24 = OpVectorTimesScalar %v4float %23 %22
|
||||
%25 = OpFAdd %v4float %18 %24
|
||||
OpStore %_1_result %25
|
||||
%27 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %25
|
||||
%27 = OpLoad %v4float %_0_result
|
||||
%28 = OpVectorShuffle %v3float %27 %27 0 1 2
|
||||
%30 = OpLoad %v4float %dst
|
||||
%31 = OpCompositeExtract %float %30 3
|
||||
@ -67,10 +67,10 @@ OpStore %_1_result %25
|
||||
%37 = OpVectorShuffle %v3float %36 %36 0 1 2
|
||||
%38 = OpFAdd %v3float %35 %37
|
||||
%26 = OpExtInst %v3float %1 FMin %28 %38
|
||||
%39 = OpLoad %v4float %_1_result
|
||||
%39 = OpLoad %v4float %_0_result
|
||||
%40 = OpVectorShuffle %v4float %39 %26 4 5 6 3
|
||||
OpStore %_1_result %40
|
||||
%41 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %40
|
||||
%41 = OpLoad %v4float %_0_result
|
||||
OpStore %sk_FragColor %41
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -3,9 +3,9 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
vec4 _1_result = src + (1.0 - src.w) * dst;
|
||||
vec4 _0_result = src + (1.0 - src.w) * dst;
|
||||
|
||||
_1_result.xyz = min(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _1_result;
|
||||
_0_result.xyz = min(_0_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_result = _in.src + (1.0 - _in.src.w) * _in.dst;
|
||||
float4 _0_result = _in.src + (1.0 - _in.src.w) * _in.dst;
|
||||
|
||||
_1_result.xyz = min(_1_result.xyz, (1.0 - _in.dst.w) * _in.src.xyz + _in.dst.xyz);
|
||||
_out.sk_FragColor = _1_result;
|
||||
_0_result.xyz = min(_0_result.xyz, (1.0 - _in.dst.w) * _in.src.xyz + _in.dst.xyz);
|
||||
_out.sk_FragColor = _0_result;
|
||||
|
||||
return _out;
|
||||
}
|
||||
|
@ -3,9 +3,9 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
vec4 _1_result = src + (1.0 - src.w) * dst;
|
||||
vec4 _0_result = src + (1.0 - src.w) * dst;
|
||||
|
||||
_1_result.xyz = min(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _1_result;
|
||||
_0_result.xyz = min(_0_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_blend_overlay_component "_blend_overlay_component"
|
||||
OpName %main "main"
|
||||
OpName %_2_result "_2_result"
|
||||
OpName %_0_result "_0_result"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -130,7 +130,7 @@ OpReturnValue %56
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %58
|
||||
%59 = OpLabel
|
||||
%_2_result = OpVariable %_ptr_Function_v4float Function
|
||||
%_0_result = OpVariable %_ptr_Function_v4float Function
|
||||
%64 = OpVariable %_ptr_Function_v2float Function
|
||||
%67 = OpVariable %_ptr_Function_v2float Function
|
||||
%71 = OpVariable %_ptr_Function_v2float Function
|
||||
@ -168,8 +168,8 @@ OpStore %81 %80
|
||||
%91 = OpFMul %float %88 %90
|
||||
%92 = OpFAdd %float %84 %91
|
||||
%93 = OpCompositeConstruct %v4float %68 %75 %82 %92
|
||||
OpStore %_2_result %93
|
||||
%94 = OpLoad %v4float %_2_result
|
||||
OpStore %_0_result %93
|
||||
%94 = OpLoad %v4float %_0_result
|
||||
%95 = OpVectorShuffle %v3float %94 %94 0 1 2
|
||||
%97 = OpLoad %v4float %src
|
||||
%98 = OpVectorShuffle %v3float %97 %97 0 1 2
|
||||
@ -185,10 +185,10 @@ OpStore %_2_result %93
|
||||
%108 = OpVectorTimesScalar %v3float %104 %107
|
||||
%109 = OpFAdd %v3float %102 %108
|
||||
%110 = OpFAdd %v3float %95 %109
|
||||
%111 = OpLoad %v4float %_2_result
|
||||
%111 = OpLoad %v4float %_0_result
|
||||
%112 = OpVectorShuffle %v4float %111 %110 4 5 6 3
|
||||
OpStore %_2_result %112
|
||||
%113 = OpLoad %v4float %_2_result
|
||||
OpStore %_0_result %112
|
||||
%113 = OpLoad %v4float %_0_result
|
||||
OpStore %sk_FragColor %113
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -6,9 +6,9 @@ float _blend_overlay_component(vec2 s, vec2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
void main() {
|
||||
vec4 _2_result = vec4(_blend_overlay_component(dst.xw, src.xw), _blend_overlay_component(dst.yw, src.yw), _blend_overlay_component(dst.zw, src.zw), dst.w + (1.0 - dst.w) * src.w);
|
||||
_2_result.xyz += src.xyz * (1.0 - dst.w) + dst.xyz * (1.0 - src.w);
|
||||
sk_FragColor = _2_result;
|
||||
vec4 _0_result = vec4(_blend_overlay_component(dst.xw, src.xw), _blend_overlay_component(dst.yw, src.yw), _blend_overlay_component(dst.zw, src.zw), dst.w + (1.0 - dst.w) * src.w);
|
||||
_0_result.xyz += src.xyz * (1.0 - dst.w) + dst.xyz * (1.0 - src.w);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
|
||||
}
|
||||
|
@ -16,9 +16,9 @@ float _blend_overlay_component(float2 s, float2 d) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _2_result = float4(_blend_overlay_component(_in.dst.xw, _in.src.xw), _blend_overlay_component(_in.dst.yw, _in.src.yw), _blend_overlay_component(_in.dst.zw, _in.src.zw), _in.dst.w + (1.0 - _in.dst.w) * _in.src.w);
|
||||
_2_result.xyz = _2_result.xyz + _in.src.xyz * (1.0 - _in.dst.w) + _in.dst.xyz * (1.0 - _in.src.w);
|
||||
_out.sk_FragColor = _2_result;
|
||||
float4 _0_result = float4(_blend_overlay_component(_in.dst.xw, _in.src.xw), _blend_overlay_component(_in.dst.yw, _in.src.yw), _blend_overlay_component(_in.dst.zw, _in.src.zw), _in.dst.w + (1.0 - _in.dst.w) * _in.src.w);
|
||||
_0_result.xyz = _0_result.xyz + _in.src.xyz * (1.0 - _in.dst.w) + _in.dst.xyz * (1.0 - _in.src.w);
|
||||
_out.sk_FragColor = _0_result;
|
||||
|
||||
|
||||
return _out;
|
||||
|
@ -6,9 +6,9 @@ float _blend_overlay_component(vec2 s, vec2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
void main() {
|
||||
vec4 _2_result = vec4(_blend_overlay_component(dst.xw, src.xw), _blend_overlay_component(dst.yw, src.yw), _blend_overlay_component(dst.zw, src.zw), dst.w + (1.0 - dst.w) * src.w);
|
||||
_2_result.xyz += src.xyz * (1.0 - dst.w) + dst.xyz * (1.0 - src.w);
|
||||
sk_FragColor = _2_result;
|
||||
vec4 _0_result = vec4(_blend_overlay_component(dst.xw, src.xw), _blend_overlay_component(dst.yw, src.yw), _blend_overlay_component(dst.zw, src.zw), dst.w + (1.0 - dst.w) * src.w);
|
||||
_0_result.xyz += src.xyz * (1.0 - dst.w) + dst.xyz * (1.0 - src.w);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
|
||||
}
|
||||
|
@ -8,22 +8,22 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_blend_set_color_saturation_helper "_blend_set_color_saturation_helper"
|
||||
OpName %_19_n "_19_n"
|
||||
OpName %_20_d "_20_d"
|
||||
OpName %_7_n "_7_n"
|
||||
OpName %_8_d "_8_d"
|
||||
OpName %main "main"
|
||||
OpName %_1_alpha "_1_alpha"
|
||||
OpName %_2_sda "_2_sda"
|
||||
OpName %_3_dsa "_3_dsa"
|
||||
OpName %_4_blend_set_color_saturation "_4_blend_set_color_saturation"
|
||||
OpName %_5_sat "_5_sat"
|
||||
OpName %_6_blend_set_color_luminance "_6_blend_set_color_luminance"
|
||||
OpName %_7_lum "_7_lum"
|
||||
OpName %_8_result "_8_result"
|
||||
OpName %_9_minComp "_9_minComp"
|
||||
OpName %_10_maxComp "_10_maxComp"
|
||||
OpName %_11_d "_11_d"
|
||||
OpName %_12_n "_12_n"
|
||||
OpName %_13_d "_13_d"
|
||||
OpName %_0_alpha "_0_alpha"
|
||||
OpName %_1_sda "_1_sda"
|
||||
OpName %_2_dsa "_2_dsa"
|
||||
OpName %_3_blend_set_color_saturation "_3_blend_set_color_saturation"
|
||||
OpName %_4_sat "_4_sat"
|
||||
OpName %_5_blend_set_color_luminance "_5_blend_set_color_luminance"
|
||||
OpName %_6_lum "_6_lum"
|
||||
OpName %_7_result "_7_result"
|
||||
OpName %_8_minComp "_8_minComp"
|
||||
OpName %_9_maxComp "_9_maxComp"
|
||||
OpName %_10_d "_10_d"
|
||||
OpName %_11_n "_11_n"
|
||||
OpName %_12_d "_12_d"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -162,8 +162,8 @@ OpDecorate %284 RelaxedPrecision
|
||||
%18 = OpFunctionParameter %_ptr_Function_v3float
|
||||
%19 = OpFunctionParameter %_ptr_Function_float
|
||||
%20 = OpLabel
|
||||
%_19_n = OpVariable %_ptr_Function_float Function
|
||||
%_20_d = OpVariable %_ptr_Function_float Function
|
||||
%_7_n = OpVariable %_ptr_Function_float Function
|
||||
%_8_d = OpVariable %_ptr_Function_float Function
|
||||
%21 = OpLoad %v3float %18
|
||||
%22 = OpCompositeExtract %float %21 0
|
||||
%23 = OpLoad %v3float %18
|
||||
@ -179,15 +179,15 @@ OpBranchConditional %25 %26 %27
|
||||
%34 = OpCompositeExtract %float %33 0
|
||||
%35 = OpFSub %float %32 %34
|
||||
%36 = OpFMul %float %30 %35
|
||||
OpStore %_19_n %36
|
||||
OpStore %_7_n %36
|
||||
%38 = OpLoad %v3float %18
|
||||
%39 = OpCompositeExtract %float %38 2
|
||||
%40 = OpLoad %v3float %18
|
||||
%41 = OpCompositeExtract %float %40 0
|
||||
%42 = OpFSub %float %39 %41
|
||||
OpStore %_20_d %42
|
||||
%44 = OpLoad %float %_19_n
|
||||
%45 = OpLoad %float %_20_d
|
||||
OpStore %_8_d %42
|
||||
%44 = OpLoad %float %_7_n
|
||||
%45 = OpLoad %float %_8_d
|
||||
%46 = OpFDiv %float %44 %45
|
||||
%47 = OpLoad %float %19
|
||||
%48 = OpCompositeConstruct %v3float %float_0 %46 %47
|
||||
@ -199,11 +199,11 @@ OpUnreachable
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %51
|
||||
%52 = OpLabel
|
||||
%_1_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_2_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_blend_set_color_saturation = OpVariable %_ptr_Function_v3float Function
|
||||
%_5_sat = OpVariable %_ptr_Function_float Function
|
||||
%_0_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_1_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_2_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_blend_set_color_saturation = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_sat = OpVariable %_ptr_Function_float Function
|
||||
%107 = OpVariable %_ptr_Function_v3float Function
|
||||
%109 = OpVariable %_ptr_Function_float Function
|
||||
%121 = OpVariable %_ptr_Function_v3float Function
|
||||
@ -216,192 +216,192 @@ OpFunctionEnd
|
||||
%160 = OpVariable %_ptr_Function_float Function
|
||||
%165 = OpVariable %_ptr_Function_v3float Function
|
||||
%167 = OpVariable %_ptr_Function_float Function
|
||||
%_6_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_lum = OpVariable %_ptr_Function_float Function
|
||||
%_8_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_9_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_11_d = OpVariable %_ptr_Function_float Function
|
||||
%_12_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_13_d = OpVariable %_ptr_Function_float Function
|
||||
%_5_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_6_lum = OpVariable %_ptr_Function_float Function
|
||||
%_7_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_8_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_9_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_d = OpVariable %_ptr_Function_float Function
|
||||
%_11_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_12_d = OpVariable %_ptr_Function_float Function
|
||||
%54 = OpLoad %v4float %dst
|
||||
%55 = OpCompositeExtract %float %54 3
|
||||
%56 = OpLoad %v4float %src
|
||||
%57 = OpCompositeExtract %float %56 3
|
||||
%58 = OpFMul %float %55 %57
|
||||
OpStore %_1_alpha %58
|
||||
OpStore %_0_alpha %58
|
||||
%60 = OpLoad %v4float %src
|
||||
%61 = OpVectorShuffle %v3float %60 %60 0 1 2
|
||||
%62 = OpLoad %v4float %dst
|
||||
%63 = OpCompositeExtract %float %62 3
|
||||
%64 = OpVectorTimesScalar %v3float %61 %63
|
||||
OpStore %_2_sda %64
|
||||
OpStore %_1_sda %64
|
||||
%66 = OpLoad %v4float %dst
|
||||
%67 = OpVectorShuffle %v3float %66 %66 0 1 2
|
||||
%68 = OpLoad %v4float %src
|
||||
%69 = OpCompositeExtract %float %68 3
|
||||
%70 = OpVectorTimesScalar %v3float %67 %69
|
||||
OpStore %_3_dsa %70
|
||||
%75 = OpLoad %v3float %_3_dsa
|
||||
OpStore %_2_dsa %70
|
||||
%75 = OpLoad %v3float %_2_dsa
|
||||
%76 = OpCompositeExtract %float %75 0
|
||||
%77 = OpLoad %v3float %_3_dsa
|
||||
%77 = OpLoad %v3float %_2_dsa
|
||||
%78 = OpCompositeExtract %float %77 1
|
||||
%74 = OpExtInst %float %1 FMax %76 %78
|
||||
%79 = OpLoad %v3float %_3_dsa
|
||||
%79 = OpLoad %v3float %_2_dsa
|
||||
%80 = OpCompositeExtract %float %79 2
|
||||
%73 = OpExtInst %float %1 FMax %74 %80
|
||||
%83 = OpLoad %v3float %_3_dsa
|
||||
%83 = OpLoad %v3float %_2_dsa
|
||||
%84 = OpCompositeExtract %float %83 0
|
||||
%85 = OpLoad %v3float %_3_dsa
|
||||
%85 = OpLoad %v3float %_2_dsa
|
||||
%86 = OpCompositeExtract %float %85 1
|
||||
%82 = OpExtInst %float %1 FMin %84 %86
|
||||
%87 = OpLoad %v3float %_3_dsa
|
||||
%87 = OpLoad %v3float %_2_dsa
|
||||
%88 = OpCompositeExtract %float %87 2
|
||||
%81 = OpExtInst %float %1 FMin %82 %88
|
||||
%89 = OpFSub %float %73 %81
|
||||
OpStore %_5_sat %89
|
||||
%90 = OpLoad %v3float %_2_sda
|
||||
OpStore %_4_sat %89
|
||||
%90 = OpLoad %v3float %_1_sda
|
||||
%91 = OpCompositeExtract %float %90 0
|
||||
%92 = OpLoad %v3float %_2_sda
|
||||
%92 = OpLoad %v3float %_1_sda
|
||||
%93 = OpCompositeExtract %float %92 1
|
||||
%94 = OpFOrdLessThanEqual %bool %91 %93
|
||||
OpSelectionMerge %97 None
|
||||
OpBranchConditional %94 %95 %96
|
||||
%95 = OpLabel
|
||||
%98 = OpLoad %v3float %_2_sda
|
||||
%98 = OpLoad %v3float %_1_sda
|
||||
%99 = OpCompositeExtract %float %98 1
|
||||
%100 = OpLoad %v3float %_2_sda
|
||||
%100 = OpLoad %v3float %_1_sda
|
||||
%101 = OpCompositeExtract %float %100 2
|
||||
%102 = OpFOrdLessThanEqual %bool %99 %101
|
||||
OpSelectionMerge %105 None
|
||||
OpBranchConditional %102 %103 %104
|
||||
%103 = OpLabel
|
||||
%106 = OpLoad %v3float %_2_sda
|
||||
%106 = OpLoad %v3float %_1_sda
|
||||
OpStore %107 %106
|
||||
%108 = OpLoad %float %_5_sat
|
||||
%108 = OpLoad %float %_4_sat
|
||||
OpStore %109 %108
|
||||
%110 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %107 %109
|
||||
OpStore %_4_blend_set_color_saturation %110
|
||||
OpStore %_3_blend_set_color_saturation %110
|
||||
OpBranch %105
|
||||
%104 = OpLabel
|
||||
%111 = OpLoad %v3float %_2_sda
|
||||
%111 = OpLoad %v3float %_1_sda
|
||||
%112 = OpCompositeExtract %float %111 0
|
||||
%113 = OpLoad %v3float %_2_sda
|
||||
%113 = OpLoad %v3float %_1_sda
|
||||
%114 = OpCompositeExtract %float %113 2
|
||||
%115 = OpFOrdLessThanEqual %bool %112 %114
|
||||
OpSelectionMerge %118 None
|
||||
OpBranchConditional %115 %116 %117
|
||||
%116 = OpLabel
|
||||
%119 = OpLoad %v3float %_2_sda
|
||||
%119 = OpLoad %v3float %_1_sda
|
||||
%120 = OpVectorShuffle %v3float %119 %119 0 2 1
|
||||
OpStore %121 %120
|
||||
%122 = OpLoad %float %_5_sat
|
||||
%122 = OpLoad %float %_4_sat
|
||||
OpStore %123 %122
|
||||
%124 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %121 %123
|
||||
%125 = OpVectorShuffle %v3float %124 %124 0 2 1
|
||||
OpStore %_4_blend_set_color_saturation %125
|
||||
OpStore %_3_blend_set_color_saturation %125
|
||||
OpBranch %118
|
||||
%117 = OpLabel
|
||||
%126 = OpLoad %v3float %_2_sda
|
||||
%126 = OpLoad %v3float %_1_sda
|
||||
%127 = OpVectorShuffle %v3float %126 %126 2 0 1
|
||||
OpStore %128 %127
|
||||
%129 = OpLoad %float %_5_sat
|
||||
%129 = OpLoad %float %_4_sat
|
||||
OpStore %130 %129
|
||||
%131 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %128 %130
|
||||
%132 = OpVectorShuffle %v3float %131 %131 1 2 0
|
||||
OpStore %_4_blend_set_color_saturation %132
|
||||
OpStore %_3_blend_set_color_saturation %132
|
||||
OpBranch %118
|
||||
%118 = OpLabel
|
||||
OpBranch %105
|
||||
%105 = OpLabel
|
||||
OpBranch %97
|
||||
%96 = OpLabel
|
||||
%133 = OpLoad %v3float %_2_sda
|
||||
%133 = OpLoad %v3float %_1_sda
|
||||
%134 = OpCompositeExtract %float %133 0
|
||||
%135 = OpLoad %v3float %_2_sda
|
||||
%135 = OpLoad %v3float %_1_sda
|
||||
%136 = OpCompositeExtract %float %135 2
|
||||
%137 = OpFOrdLessThanEqual %bool %134 %136
|
||||
OpSelectionMerge %140 None
|
||||
OpBranchConditional %137 %138 %139
|
||||
%138 = OpLabel
|
||||
%141 = OpLoad %v3float %_2_sda
|
||||
%141 = OpLoad %v3float %_1_sda
|
||||
%142 = OpVectorShuffle %v3float %141 %141 1 0 2
|
||||
OpStore %143 %142
|
||||
%144 = OpLoad %float %_5_sat
|
||||
%144 = OpLoad %float %_4_sat
|
||||
OpStore %145 %144
|
||||
%146 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %143 %145
|
||||
%147 = OpVectorShuffle %v3float %146 %146 1 0 2
|
||||
OpStore %_4_blend_set_color_saturation %147
|
||||
OpStore %_3_blend_set_color_saturation %147
|
||||
OpBranch %140
|
||||
%139 = OpLabel
|
||||
%148 = OpLoad %v3float %_2_sda
|
||||
%148 = OpLoad %v3float %_1_sda
|
||||
%149 = OpCompositeExtract %float %148 1
|
||||
%150 = OpLoad %v3float %_2_sda
|
||||
%150 = OpLoad %v3float %_1_sda
|
||||
%151 = OpCompositeExtract %float %150 2
|
||||
%152 = OpFOrdLessThanEqual %bool %149 %151
|
||||
OpSelectionMerge %155 None
|
||||
OpBranchConditional %152 %153 %154
|
||||
%153 = OpLabel
|
||||
%156 = OpLoad %v3float %_2_sda
|
||||
%156 = OpLoad %v3float %_1_sda
|
||||
%157 = OpVectorShuffle %v3float %156 %156 1 2 0
|
||||
OpStore %158 %157
|
||||
%159 = OpLoad %float %_5_sat
|
||||
%159 = OpLoad %float %_4_sat
|
||||
OpStore %160 %159
|
||||
%161 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %158 %160
|
||||
%162 = OpVectorShuffle %v3float %161 %161 2 0 1
|
||||
OpStore %_4_blend_set_color_saturation %162
|
||||
OpStore %_3_blend_set_color_saturation %162
|
||||
OpBranch %155
|
||||
%154 = OpLabel
|
||||
%163 = OpLoad %v3float %_2_sda
|
||||
%163 = OpLoad %v3float %_1_sda
|
||||
%164 = OpVectorShuffle %v3float %163 %163 2 1 0
|
||||
OpStore %165 %164
|
||||
%166 = OpLoad %float %_5_sat
|
||||
%166 = OpLoad %float %_4_sat
|
||||
OpStore %167 %166
|
||||
%168 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %165 %167
|
||||
%169 = OpVectorShuffle %v3float %168 %168 2 1 0
|
||||
OpStore %_4_blend_set_color_saturation %169
|
||||
OpStore %_3_blend_set_color_saturation %169
|
||||
OpBranch %155
|
||||
%155 = OpLabel
|
||||
OpBranch %140
|
||||
%140 = OpLabel
|
||||
OpBranch %97
|
||||
%97 = OpLabel
|
||||
%177 = OpLoad %v3float %_3_dsa
|
||||
%177 = OpLoad %v3float %_2_dsa
|
||||
%172 = OpDot %float %176 %177
|
||||
OpStore %_7_lum %172
|
||||
%179 = OpLoad %float %_7_lum
|
||||
%181 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
OpStore %_6_lum %172
|
||||
%179 = OpLoad %float %_6_lum
|
||||
%181 = OpLoad %v3float %_3_blend_set_color_saturation
|
||||
%180 = OpDot %float %176 %181
|
||||
%182 = OpFSub %float %179 %180
|
||||
%183 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%183 = OpLoad %v3float %_3_blend_set_color_saturation
|
||||
%184 = OpCompositeConstruct %v3float %182 %182 %182
|
||||
%185 = OpFAdd %v3float %184 %183
|
||||
OpStore %_8_result %185
|
||||
%189 = OpLoad %v3float %_8_result
|
||||
OpStore %_7_result %185
|
||||
%189 = OpLoad %v3float %_7_result
|
||||
%190 = OpCompositeExtract %float %189 0
|
||||
%191 = OpLoad %v3float %_8_result
|
||||
%191 = OpLoad %v3float %_7_result
|
||||
%192 = OpCompositeExtract %float %191 1
|
||||
%188 = OpExtInst %float %1 FMin %190 %192
|
||||
%193 = OpLoad %v3float %_8_result
|
||||
%193 = OpLoad %v3float %_7_result
|
||||
%194 = OpCompositeExtract %float %193 2
|
||||
%187 = OpExtInst %float %1 FMin %188 %194
|
||||
OpStore %_9_minComp %187
|
||||
%198 = OpLoad %v3float %_8_result
|
||||
OpStore %_8_minComp %187
|
||||
%198 = OpLoad %v3float %_7_result
|
||||
%199 = OpCompositeExtract %float %198 0
|
||||
%200 = OpLoad %v3float %_8_result
|
||||
%200 = OpLoad %v3float %_7_result
|
||||
%201 = OpCompositeExtract %float %200 1
|
||||
%197 = OpExtInst %float %1 FMax %199 %201
|
||||
%202 = OpLoad %v3float %_8_result
|
||||
%202 = OpLoad %v3float %_7_result
|
||||
%203 = OpCompositeExtract %float %202 2
|
||||
%196 = OpExtInst %float %1 FMax %197 %203
|
||||
OpStore %_10_maxComp %196
|
||||
%205 = OpLoad %float %_9_minComp
|
||||
OpStore %_9_maxComp %196
|
||||
%205 = OpLoad %float %_8_minComp
|
||||
%206 = OpFOrdLessThan %bool %205 %float_0
|
||||
OpSelectionMerge %208 None
|
||||
OpBranchConditional %206 %207 %208
|
||||
%207 = OpLabel
|
||||
%209 = OpLoad %float %_7_lum
|
||||
%210 = OpLoad %float %_9_minComp
|
||||
%209 = OpLoad %float %_6_lum
|
||||
%210 = OpLoad %float %_8_minComp
|
||||
%211 = OpFOrdNotEqual %bool %209 %210
|
||||
OpBranch %208
|
||||
%208 = OpLabel
|
||||
@ -409,32 +409,32 @@ OpBranch %208
|
||||
OpSelectionMerge %214 None
|
||||
OpBranchConditional %212 %213 %214
|
||||
%213 = OpLabel
|
||||
%216 = OpLoad %float %_7_lum
|
||||
%217 = OpLoad %float %_9_minComp
|
||||
%216 = OpLoad %float %_6_lum
|
||||
%217 = OpLoad %float %_8_minComp
|
||||
%218 = OpFSub %float %216 %217
|
||||
OpStore %_11_d %218
|
||||
%219 = OpLoad %float %_7_lum
|
||||
%220 = OpLoad %v3float %_8_result
|
||||
%221 = OpLoad %float %_7_lum
|
||||
OpStore %_10_d %218
|
||||
%219 = OpLoad %float %_6_lum
|
||||
%220 = OpLoad %v3float %_7_result
|
||||
%221 = OpLoad %float %_6_lum
|
||||
%222 = OpCompositeConstruct %v3float %221 %221 %221
|
||||
%223 = OpFSub %v3float %220 %222
|
||||
%224 = OpLoad %float %_7_lum
|
||||
%225 = OpLoad %float %_11_d
|
||||
%224 = OpLoad %float %_6_lum
|
||||
%225 = OpLoad %float %_10_d
|
||||
%226 = OpFDiv %float %224 %225
|
||||
%227 = OpVectorTimesScalar %v3float %223 %226
|
||||
%228 = OpCompositeConstruct %v3float %219 %219 %219
|
||||
%229 = OpFAdd %v3float %228 %227
|
||||
OpStore %_8_result %229
|
||||
OpStore %_7_result %229
|
||||
OpBranch %214
|
||||
%214 = OpLabel
|
||||
%230 = OpLoad %float %_10_maxComp
|
||||
%231 = OpLoad %float %_1_alpha
|
||||
%230 = OpLoad %float %_9_maxComp
|
||||
%231 = OpLoad %float %_0_alpha
|
||||
%232 = OpFOrdGreaterThan %bool %230 %231
|
||||
OpSelectionMerge %234 None
|
||||
OpBranchConditional %232 %233 %234
|
||||
%233 = OpLabel
|
||||
%235 = OpLoad %float %_10_maxComp
|
||||
%236 = OpLoad %float %_7_lum
|
||||
%235 = OpLoad %float %_9_maxComp
|
||||
%236 = OpLoad %float %_6_lum
|
||||
%237 = OpFOrdNotEqual %bool %235 %236
|
||||
OpBranch %234
|
||||
%234 = OpLabel
|
||||
@ -442,43 +442,43 @@ OpBranch %234
|
||||
OpSelectionMerge %241 None
|
||||
OpBranchConditional %238 %239 %240
|
||||
%239 = OpLabel
|
||||
%243 = OpLoad %v3float %_8_result
|
||||
%244 = OpLoad %float %_7_lum
|
||||
%243 = OpLoad %v3float %_7_result
|
||||
%244 = OpLoad %float %_6_lum
|
||||
%245 = OpCompositeConstruct %v3float %244 %244 %244
|
||||
%246 = OpFSub %v3float %243 %245
|
||||
%247 = OpLoad %float %_1_alpha
|
||||
%248 = OpLoad %float %_7_lum
|
||||
%247 = OpLoad %float %_0_alpha
|
||||
%248 = OpLoad %float %_6_lum
|
||||
%249 = OpFSub %float %247 %248
|
||||
%250 = OpVectorTimesScalar %v3float %246 %249
|
||||
OpStore %_12_n %250
|
||||
%252 = OpLoad %float %_10_maxComp
|
||||
%253 = OpLoad %float %_7_lum
|
||||
OpStore %_11_n %250
|
||||
%252 = OpLoad %float %_9_maxComp
|
||||
%253 = OpLoad %float %_6_lum
|
||||
%254 = OpFSub %float %252 %253
|
||||
OpStore %_13_d %254
|
||||
%255 = OpLoad %float %_7_lum
|
||||
%256 = OpLoad %v3float %_12_n
|
||||
%257 = OpLoad %float %_13_d
|
||||
OpStore %_12_d %254
|
||||
%255 = OpLoad %float %_6_lum
|
||||
%256 = OpLoad %v3float %_11_n
|
||||
%257 = OpLoad %float %_12_d
|
||||
%259 = OpFDiv %float %float_1 %257
|
||||
%260 = OpVectorTimesScalar %v3float %256 %259
|
||||
%261 = OpCompositeConstruct %v3float %255 %255 %255
|
||||
%262 = OpFAdd %v3float %261 %260
|
||||
OpStore %_6_blend_set_color_luminance %262
|
||||
OpStore %_5_blend_set_color_luminance %262
|
||||
OpBranch %241
|
||||
%240 = OpLabel
|
||||
%263 = OpLoad %v3float %_8_result
|
||||
OpStore %_6_blend_set_color_luminance %263
|
||||
%263 = OpLoad %v3float %_7_result
|
||||
OpStore %_5_blend_set_color_luminance %263
|
||||
OpBranch %241
|
||||
%241 = OpLabel
|
||||
%264 = OpLoad %v3float %_6_blend_set_color_luminance
|
||||
%264 = OpLoad %v3float %_5_blend_set_color_luminance
|
||||
%265 = OpLoad %v4float %dst
|
||||
%266 = OpVectorShuffle %v3float %265 %265 0 1 2
|
||||
%267 = OpFAdd %v3float %264 %266
|
||||
%268 = OpLoad %v3float %_3_dsa
|
||||
%268 = OpLoad %v3float %_2_dsa
|
||||
%269 = OpFSub %v3float %267 %268
|
||||
%270 = OpLoad %v4float %src
|
||||
%271 = OpVectorShuffle %v3float %270 %270 0 1 2
|
||||
%272 = OpFAdd %v3float %269 %271
|
||||
%273 = OpLoad %v3float %_2_sda
|
||||
%273 = OpLoad %v3float %_1_sda
|
||||
%274 = OpFSub %v3float %272 %273
|
||||
%275 = OpCompositeExtract %float %274 0
|
||||
%276 = OpCompositeExtract %float %274 1
|
||||
@ -488,7 +488,7 @@ OpBranch %241
|
||||
%280 = OpLoad %v4float %dst
|
||||
%281 = OpCompositeExtract %float %280 3
|
||||
%282 = OpFAdd %float %279 %281
|
||||
%283 = OpLoad %float %_1_alpha
|
||||
%283 = OpLoad %float %_0_alpha
|
||||
%284 = OpFSub %float %282 %283
|
||||
%285 = OpCompositeConstruct %v4float %275 %276 %277 %284
|
||||
OpStore %sk_FragColor %285
|
||||
|
@ -4,57 +4,57 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
}
|
||||
}
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_3_dsa.x, _3_dsa.y), _3_dsa.z) - min(min(_3_dsa.x, _3_dsa.y), _3_dsa.z);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_2_dsa.x, _2_dsa.y), _2_dsa.z) - min(min(_2_dsa.x, _2_dsa.y), _2_dsa.z);
|
||||
|
||||
if (_2_sda.x <= _2_sda.y) {
|
||||
if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda, _5_sat);
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.xzy, _5_sat).xzy;
|
||||
if (_1_sda.x <= _1_sda.y) {
|
||||
if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda, _4_sat);
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yxz, _5_sat).yxz;
|
||||
} else if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yzx, _5_sat).zxy;
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yxz, _4_sat).yxz;
|
||||
} else if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zyx, _4_sat).zyx;
|
||||
}
|
||||
vec3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
vec3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _8_result = (_7_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
vec3 _7_result = (_6_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
vec3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
vec3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_6_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_5_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -10,9 +10,9 @@ struct Outputs {
|
||||
};
|
||||
float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return float3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return float3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return float3(0.0);
|
||||
@ -23,48 +23,48 @@ float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float _1_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _2_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _3_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_3_dsa.x, _3_dsa.y), _3_dsa.z) - min(min(_3_dsa.x, _3_dsa.y), _3_dsa.z);
|
||||
float _0_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _1_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _2_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_2_dsa.x, _2_dsa.y), _2_dsa.z) - min(min(_2_dsa.x, _2_dsa.y), _2_dsa.z);
|
||||
|
||||
if (_2_sda.x <= _2_sda.y) {
|
||||
if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda, _5_sat);
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.xzy, _5_sat).xzy;
|
||||
if (_1_sda.x <= _1_sda.y) {
|
||||
if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda, _4_sat);
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yxz, _5_sat).yxz;
|
||||
} else if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yzx, _5_sat).zxy;
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yxz, _4_sat).yxz;
|
||||
} else if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zyx, _4_sat).zyx;
|
||||
}
|
||||
float3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
float3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
float3 _8_result = (_7_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
float3 _7_result = (_6_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
float3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
float3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
_out.sk_FragColor = float4((((_6_blend_set_color_luminance + _in.dst.xyz) - _3_dsa) + _in.src.xyz) - _2_sda, (_in.src.w + _in.dst.w) - _1_alpha);
|
||||
_out.sk_FragColor = float4((((_5_blend_set_color_luminance + _in.dst.xyz) - _2_dsa) + _in.src.xyz) - _1_sda, (_in.src.w + _in.dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -4,57 +4,57 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
}
|
||||
}
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_3_dsa.x, _3_dsa.y), _3_dsa.z) - min(min(_3_dsa.x, _3_dsa.y), _3_dsa.z);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_2_dsa.x, _2_dsa.y), _2_dsa.z) - min(min(_2_dsa.x, _2_dsa.y), _2_dsa.z);
|
||||
|
||||
if (_2_sda.x <= _2_sda.y) {
|
||||
if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda, _5_sat);
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.xzy, _5_sat).xzy;
|
||||
if (_1_sda.x <= _1_sda.y) {
|
||||
if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda, _4_sat);
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_2_sda.x <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yxz, _5_sat).yxz;
|
||||
} else if (_2_sda.y <= _2_sda.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.yzx, _5_sat).zxy;
|
||||
} else if (_1_sda.x <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yxz, _4_sat).yxz;
|
||||
} else if (_1_sda.y <= _1_sda.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_sda.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_1_sda.zyx, _4_sat).zyx;
|
||||
}
|
||||
vec3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
vec3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _8_result = (_7_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
vec3 _7_result = (_6_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
vec3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
vec3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_6_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_5_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %main "main"
|
||||
OpName %_1_result "_1_result"
|
||||
OpName %_0_result "_0_result"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -46,7 +46,7 @@ OpDecorate %41 RelaxedPrecision
|
||||
%v3float = OpTypeVector %float 3
|
||||
%main = OpFunction %void None %14
|
||||
%15 = OpLabel
|
||||
%_1_result = OpVariable %_ptr_Function_v4float Function
|
||||
%_0_result = OpVariable %_ptr_Function_v4float Function
|
||||
%18 = OpLoad %v4float %src
|
||||
%20 = OpLoad %v4float %src
|
||||
%21 = OpCompositeExtract %float %20 3
|
||||
@ -54,8 +54,8 @@ OpDecorate %41 RelaxedPrecision
|
||||
%23 = OpLoad %v4float %dst
|
||||
%24 = OpVectorTimesScalar %v4float %23 %22
|
||||
%25 = OpFAdd %v4float %18 %24
|
||||
OpStore %_1_result %25
|
||||
%27 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %25
|
||||
%27 = OpLoad %v4float %_0_result
|
||||
%28 = OpVectorShuffle %v3float %27 %27 0 1 2
|
||||
%30 = OpLoad %v4float %dst
|
||||
%31 = OpCompositeExtract %float %30 3
|
||||
@ -67,10 +67,10 @@ OpStore %_1_result %25
|
||||
%37 = OpVectorShuffle %v3float %36 %36 0 1 2
|
||||
%38 = OpFAdd %v3float %35 %37
|
||||
%26 = OpExtInst %v3float %1 FMax %28 %38
|
||||
%39 = OpLoad %v4float %_1_result
|
||||
%39 = OpLoad %v4float %_0_result
|
||||
%40 = OpVectorShuffle %v4float %39 %26 4 5 6 3
|
||||
OpStore %_1_result %40
|
||||
%41 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %40
|
||||
%41 = OpLoad %v4float %_0_result
|
||||
OpStore %sk_FragColor %41
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -3,9 +3,9 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
vec4 _1_result = src + (1.0 - src.w) * dst;
|
||||
vec4 _0_result = src + (1.0 - src.w) * dst;
|
||||
|
||||
_1_result.xyz = max(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _1_result;
|
||||
_0_result.xyz = max(_0_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_result = _in.src + (1.0 - _in.src.w) * _in.dst;
|
||||
float4 _0_result = _in.src + (1.0 - _in.src.w) * _in.dst;
|
||||
|
||||
_1_result.xyz = max(_1_result.xyz, (1.0 - _in.dst.w) * _in.src.xyz + _in.dst.xyz);
|
||||
_out.sk_FragColor = _1_result;
|
||||
_0_result.xyz = max(_0_result.xyz, (1.0 - _in.dst.w) * _in.src.xyz + _in.dst.xyz);
|
||||
_out.sk_FragColor = _0_result;
|
||||
|
||||
return _out;
|
||||
}
|
||||
|
@ -3,9 +3,9 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
vec4 _1_result = src + (1.0 - src.w) * dst;
|
||||
vec4 _0_result = src + (1.0 - src.w) * dst;
|
||||
|
||||
_1_result.xyz = max(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _1_result;
|
||||
_0_result.xyz = max(_0_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -8,17 +8,17 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %main "main"
|
||||
OpName %_1_alpha "_1_alpha"
|
||||
OpName %_2_sda "_2_sda"
|
||||
OpName %_3_dsa "_3_dsa"
|
||||
OpName %_4_blend_set_color_luminance "_4_blend_set_color_luminance"
|
||||
OpName %_5_lum "_5_lum"
|
||||
OpName %_6_result "_6_result"
|
||||
OpName %_7_minComp "_7_minComp"
|
||||
OpName %_8_maxComp "_8_maxComp"
|
||||
OpName %_9_d "_9_d"
|
||||
OpName %_10_n "_10_n"
|
||||
OpName %_11_d "_11_d"
|
||||
OpName %_0_alpha "_0_alpha"
|
||||
OpName %_1_sda "_1_sda"
|
||||
OpName %_2_dsa "_2_dsa"
|
||||
OpName %_3_blend_set_color_luminance "_3_blend_set_color_luminance"
|
||||
OpName %_4_lum "_4_lum"
|
||||
OpName %_5_result "_5_result"
|
||||
OpName %_6_minComp "_6_minComp"
|
||||
OpName %_7_maxComp "_7_maxComp"
|
||||
OpName %_8_d "_8_d"
|
||||
OpName %_9_n "_9_n"
|
||||
OpName %_10_d "_10_d"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -110,71 +110,71 @@ OpDecorate %152 RelaxedPrecision
|
||||
%float_1 = OpConstant %float 1
|
||||
%main = OpFunction %void None %14
|
||||
%15 = OpLabel
|
||||
%_1_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_2_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_5_lum = OpVariable %_ptr_Function_float Function
|
||||
%_6_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_9_d = OpVariable %_ptr_Function_float Function
|
||||
%_10_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_11_d = OpVariable %_ptr_Function_float Function
|
||||
%_0_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_1_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_2_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_lum = OpVariable %_ptr_Function_float Function
|
||||
%_5_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_6_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_7_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_8_d = OpVariable %_ptr_Function_float Function
|
||||
%_9_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_10_d = OpVariable %_ptr_Function_float Function
|
||||
%18 = OpLoad %v4float %dst
|
||||
%19 = OpCompositeExtract %float %18 3
|
||||
%20 = OpLoad %v4float %src
|
||||
%21 = OpCompositeExtract %float %20 3
|
||||
%22 = OpFMul %float %19 %21
|
||||
OpStore %_1_alpha %22
|
||||
OpStore %_0_alpha %22
|
||||
%26 = OpLoad %v4float %src
|
||||
%27 = OpVectorShuffle %v3float %26 %26 0 1 2
|
||||
%28 = OpLoad %v4float %dst
|
||||
%29 = OpCompositeExtract %float %28 3
|
||||
%30 = OpVectorTimesScalar %v3float %27 %29
|
||||
OpStore %_2_sda %30
|
||||
OpStore %_1_sda %30
|
||||
%32 = OpLoad %v4float %dst
|
||||
%33 = OpVectorShuffle %v3float %32 %32 0 1 2
|
||||
%34 = OpLoad %v4float %src
|
||||
%35 = OpCompositeExtract %float %34 3
|
||||
%36 = OpVectorTimesScalar %v3float %33 %35
|
||||
OpStore %_3_dsa %36
|
||||
%44 = OpLoad %v3float %_2_sda
|
||||
OpStore %_2_dsa %36
|
||||
%44 = OpLoad %v3float %_1_sda
|
||||
%39 = OpDot %float %43 %44
|
||||
OpStore %_5_lum %39
|
||||
%46 = OpLoad %float %_5_lum
|
||||
%48 = OpLoad %v3float %_3_dsa
|
||||
OpStore %_4_lum %39
|
||||
%46 = OpLoad %float %_4_lum
|
||||
%48 = OpLoad %v3float %_2_dsa
|
||||
%47 = OpDot %float %43 %48
|
||||
%49 = OpFSub %float %46 %47
|
||||
%50 = OpLoad %v3float %_3_dsa
|
||||
%50 = OpLoad %v3float %_2_dsa
|
||||
%51 = OpCompositeConstruct %v3float %49 %49 %49
|
||||
%52 = OpFAdd %v3float %51 %50
|
||||
OpStore %_6_result %52
|
||||
%56 = OpLoad %v3float %_6_result
|
||||
OpStore %_5_result %52
|
||||
%56 = OpLoad %v3float %_5_result
|
||||
%57 = OpCompositeExtract %float %56 0
|
||||
%58 = OpLoad %v3float %_6_result
|
||||
%58 = OpLoad %v3float %_5_result
|
||||
%59 = OpCompositeExtract %float %58 1
|
||||
%55 = OpExtInst %float %1 FMin %57 %59
|
||||
%60 = OpLoad %v3float %_6_result
|
||||
%60 = OpLoad %v3float %_5_result
|
||||
%61 = OpCompositeExtract %float %60 2
|
||||
%54 = OpExtInst %float %1 FMin %55 %61
|
||||
OpStore %_7_minComp %54
|
||||
%65 = OpLoad %v3float %_6_result
|
||||
OpStore %_6_minComp %54
|
||||
%65 = OpLoad %v3float %_5_result
|
||||
%66 = OpCompositeExtract %float %65 0
|
||||
%67 = OpLoad %v3float %_6_result
|
||||
%67 = OpLoad %v3float %_5_result
|
||||
%68 = OpCompositeExtract %float %67 1
|
||||
%64 = OpExtInst %float %1 FMax %66 %68
|
||||
%69 = OpLoad %v3float %_6_result
|
||||
%69 = OpLoad %v3float %_5_result
|
||||
%70 = OpCompositeExtract %float %69 2
|
||||
%63 = OpExtInst %float %1 FMax %64 %70
|
||||
OpStore %_8_maxComp %63
|
||||
%72 = OpLoad %float %_7_minComp
|
||||
OpStore %_7_maxComp %63
|
||||
%72 = OpLoad %float %_6_minComp
|
||||
%74 = OpFOrdLessThan %bool %72 %float_0
|
||||
OpSelectionMerge %76 None
|
||||
OpBranchConditional %74 %75 %76
|
||||
%75 = OpLabel
|
||||
%77 = OpLoad %float %_5_lum
|
||||
%78 = OpLoad %float %_7_minComp
|
||||
%77 = OpLoad %float %_4_lum
|
||||
%78 = OpLoad %float %_6_minComp
|
||||
%79 = OpFOrdNotEqual %bool %77 %78
|
||||
OpBranch %76
|
||||
%76 = OpLabel
|
||||
@ -182,32 +182,32 @@ OpBranch %76
|
||||
OpSelectionMerge %82 None
|
||||
OpBranchConditional %80 %81 %82
|
||||
%81 = OpLabel
|
||||
%84 = OpLoad %float %_5_lum
|
||||
%85 = OpLoad %float %_7_minComp
|
||||
%84 = OpLoad %float %_4_lum
|
||||
%85 = OpLoad %float %_6_minComp
|
||||
%86 = OpFSub %float %84 %85
|
||||
OpStore %_9_d %86
|
||||
%87 = OpLoad %float %_5_lum
|
||||
%88 = OpLoad %v3float %_6_result
|
||||
%89 = OpLoad %float %_5_lum
|
||||
OpStore %_8_d %86
|
||||
%87 = OpLoad %float %_4_lum
|
||||
%88 = OpLoad %v3float %_5_result
|
||||
%89 = OpLoad %float %_4_lum
|
||||
%90 = OpCompositeConstruct %v3float %89 %89 %89
|
||||
%91 = OpFSub %v3float %88 %90
|
||||
%92 = OpLoad %float %_5_lum
|
||||
%93 = OpLoad %float %_9_d
|
||||
%92 = OpLoad %float %_4_lum
|
||||
%93 = OpLoad %float %_8_d
|
||||
%94 = OpFDiv %float %92 %93
|
||||
%95 = OpVectorTimesScalar %v3float %91 %94
|
||||
%96 = OpCompositeConstruct %v3float %87 %87 %87
|
||||
%97 = OpFAdd %v3float %96 %95
|
||||
OpStore %_6_result %97
|
||||
OpStore %_5_result %97
|
||||
OpBranch %82
|
||||
%82 = OpLabel
|
||||
%98 = OpLoad %float %_8_maxComp
|
||||
%99 = OpLoad %float %_1_alpha
|
||||
%98 = OpLoad %float %_7_maxComp
|
||||
%99 = OpLoad %float %_0_alpha
|
||||
%100 = OpFOrdGreaterThan %bool %98 %99
|
||||
OpSelectionMerge %102 None
|
||||
OpBranchConditional %100 %101 %102
|
||||
%101 = OpLabel
|
||||
%103 = OpLoad %float %_8_maxComp
|
||||
%104 = OpLoad %float %_5_lum
|
||||
%103 = OpLoad %float %_7_maxComp
|
||||
%104 = OpLoad %float %_4_lum
|
||||
%105 = OpFOrdNotEqual %bool %103 %104
|
||||
OpBranch %102
|
||||
%102 = OpLabel
|
||||
@ -215,43 +215,43 @@ OpBranch %102
|
||||
OpSelectionMerge %109 None
|
||||
OpBranchConditional %106 %107 %108
|
||||
%107 = OpLabel
|
||||
%111 = OpLoad %v3float %_6_result
|
||||
%112 = OpLoad %float %_5_lum
|
||||
%111 = OpLoad %v3float %_5_result
|
||||
%112 = OpLoad %float %_4_lum
|
||||
%113 = OpCompositeConstruct %v3float %112 %112 %112
|
||||
%114 = OpFSub %v3float %111 %113
|
||||
%115 = OpLoad %float %_1_alpha
|
||||
%116 = OpLoad %float %_5_lum
|
||||
%115 = OpLoad %float %_0_alpha
|
||||
%116 = OpLoad %float %_4_lum
|
||||
%117 = OpFSub %float %115 %116
|
||||
%118 = OpVectorTimesScalar %v3float %114 %117
|
||||
OpStore %_10_n %118
|
||||
%120 = OpLoad %float %_8_maxComp
|
||||
%121 = OpLoad %float %_5_lum
|
||||
OpStore %_9_n %118
|
||||
%120 = OpLoad %float %_7_maxComp
|
||||
%121 = OpLoad %float %_4_lum
|
||||
%122 = OpFSub %float %120 %121
|
||||
OpStore %_11_d %122
|
||||
%123 = OpLoad %float %_5_lum
|
||||
%124 = OpLoad %v3float %_10_n
|
||||
%125 = OpLoad %float %_11_d
|
||||
OpStore %_10_d %122
|
||||
%123 = OpLoad %float %_4_lum
|
||||
%124 = OpLoad %v3float %_9_n
|
||||
%125 = OpLoad %float %_10_d
|
||||
%127 = OpFDiv %float %float_1 %125
|
||||
%128 = OpVectorTimesScalar %v3float %124 %127
|
||||
%129 = OpCompositeConstruct %v3float %123 %123 %123
|
||||
%130 = OpFAdd %v3float %129 %128
|
||||
OpStore %_4_blend_set_color_luminance %130
|
||||
OpStore %_3_blend_set_color_luminance %130
|
||||
OpBranch %109
|
||||
%108 = OpLabel
|
||||
%131 = OpLoad %v3float %_6_result
|
||||
OpStore %_4_blend_set_color_luminance %131
|
||||
%131 = OpLoad %v3float %_5_result
|
||||
OpStore %_3_blend_set_color_luminance %131
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%132 = OpLoad %v3float %_4_blend_set_color_luminance
|
||||
%132 = OpLoad %v3float %_3_blend_set_color_luminance
|
||||
%133 = OpLoad %v4float %dst
|
||||
%134 = OpVectorShuffle %v3float %133 %133 0 1 2
|
||||
%135 = OpFAdd %v3float %132 %134
|
||||
%136 = OpLoad %v3float %_3_dsa
|
||||
%136 = OpLoad %v3float %_2_dsa
|
||||
%137 = OpFSub %v3float %135 %136
|
||||
%138 = OpLoad %v4float %src
|
||||
%139 = OpVectorShuffle %v3float %138 %138 0 1 2
|
||||
%140 = OpFAdd %v3float %137 %139
|
||||
%141 = OpLoad %v3float %_2_sda
|
||||
%141 = OpLoad %v3float %_1_sda
|
||||
%142 = OpFSub %v3float %140 %141
|
||||
%143 = OpCompositeExtract %float %142 0
|
||||
%144 = OpCompositeExtract %float %142 1
|
||||
@ -261,7 +261,7 @@ OpBranch %109
|
||||
%148 = OpLoad %v4float %dst
|
||||
%149 = OpCompositeExtract %float %148 3
|
||||
%150 = OpFAdd %float %147 %149
|
||||
%151 = OpLoad %float %_1_alpha
|
||||
%151 = OpLoad %float %_0_alpha
|
||||
%152 = OpFSub %float %150 %151
|
||||
%153 = OpCompositeConstruct %v4float %143 %144 %145 %152
|
||||
OpStore %sk_FragColor %153
|
||||
|
@ -3,30 +3,30 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda);
|
||||
|
||||
vec3 _6_result = (_5_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa)) + _3_dsa;
|
||||
vec3 _5_result = (_4_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa)) + _2_dsa;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
vec3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
vec3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_4_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_3_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
}
|
||||
|
@ -13,30 +13,30 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float _1_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _2_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _3_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda);
|
||||
float _0_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _1_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _2_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda);
|
||||
|
||||
float3 _6_result = (_5_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa)) + _3_dsa;
|
||||
float3 _5_result = (_4_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa)) + _2_dsa;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
float3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
float3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
_out.sk_FragColor = float4((((_4_blend_set_color_luminance + _in.dst.xyz) - _3_dsa) + _in.src.xyz) - _2_sda, (_in.src.w + _in.dst.w) - _1_alpha);
|
||||
_out.sk_FragColor = float4((((_3_blend_set_color_luminance + _in.dst.xyz) - _2_dsa) + _in.src.xyz) - _1_sda, (_in.src.w + _in.dst.w) - _0_alpha);
|
||||
|
||||
|
||||
return _out;
|
||||
|
@ -3,30 +3,30 @@ out vec4 sk_FragColor;
|
||||
in vec4 src;
|
||||
in vec4 dst;
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_luminance;
|
||||
float _5_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_sda);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_luminance;
|
||||
float _4_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _1_sda);
|
||||
|
||||
vec3 _6_result = (_5_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa)) + _3_dsa;
|
||||
vec3 _5_result = (_4_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa)) + _2_dsa;
|
||||
|
||||
float _7_minComp = min(min(_6_result.x, _6_result.y), _6_result.z);
|
||||
float _8_maxComp = max(max(_6_result.x, _6_result.y), _6_result.z);
|
||||
if (_7_minComp < 0.0 && _5_lum != _7_minComp) {
|
||||
float _9_d = _5_lum - _7_minComp;
|
||||
_6_result = _5_lum + (_6_result - _5_lum) * (_5_lum / _9_d);
|
||||
float _6_minComp = min(min(_5_result.x, _5_result.y), _5_result.z);
|
||||
float _7_maxComp = max(max(_5_result.x, _5_result.y), _5_result.z);
|
||||
if (_6_minComp < 0.0 && _4_lum != _6_minComp) {
|
||||
float _8_d = _4_lum - _6_minComp;
|
||||
_5_result = _4_lum + (_5_result - _4_lum) * (_4_lum / _8_d);
|
||||
|
||||
}
|
||||
if (_8_maxComp > _1_alpha && _8_maxComp != _5_lum) {
|
||||
vec3 _10_n = (_6_result - _5_lum) * (_1_alpha - _5_lum);
|
||||
float _11_d = _8_maxComp - _5_lum;
|
||||
_4_blend_set_color_luminance = _5_lum + _10_n / _11_d;
|
||||
if (_7_maxComp > _0_alpha && _7_maxComp != _4_lum) {
|
||||
vec3 _9_n = (_5_result - _4_lum) * (_0_alpha - _4_lum);
|
||||
float _10_d = _7_maxComp - _4_lum;
|
||||
_3_blend_set_color_luminance = _4_lum + _9_n / _10_d;
|
||||
|
||||
} else {
|
||||
_4_blend_set_color_luminance = _6_result;
|
||||
_3_blend_set_color_luminance = _5_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_4_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_3_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_blend_overlay_component "_blend_overlay_component"
|
||||
OpName %main "main"
|
||||
OpName %_1_result "_1_result"
|
||||
OpName %_0_result "_0_result"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -130,7 +130,7 @@ OpReturnValue %56
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %58
|
||||
%59 = OpLabel
|
||||
%_1_result = OpVariable %_ptr_Function_v4float Function
|
||||
%_0_result = OpVariable %_ptr_Function_v4float Function
|
||||
%64 = OpVariable %_ptr_Function_v2float Function
|
||||
%67 = OpVariable %_ptr_Function_v2float Function
|
||||
%71 = OpVariable %_ptr_Function_v2float Function
|
||||
@ -168,8 +168,8 @@ OpStore %81 %80
|
||||
%91 = OpFMul %float %88 %90
|
||||
%92 = OpFAdd %float %84 %91
|
||||
%93 = OpCompositeConstruct %v4float %68 %75 %82 %92
|
||||
OpStore %_1_result %93
|
||||
%94 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %93
|
||||
%94 = OpLoad %v4float %_0_result
|
||||
%95 = OpVectorShuffle %v3float %94 %94 0 1 2
|
||||
%97 = OpLoad %v4float %dst
|
||||
%98 = OpVectorShuffle %v3float %97 %97 0 1 2
|
||||
@ -185,10 +185,10 @@ OpStore %_1_result %93
|
||||
%108 = OpVectorTimesScalar %v3float %104 %107
|
||||
%109 = OpFAdd %v3float %102 %108
|
||||
%110 = OpFAdd %v3float %95 %109
|
||||
%111 = OpLoad %v4float %_1_result
|
||||
%111 = OpLoad %v4float %_0_result
|
||||
%112 = OpVectorShuffle %v4float %111 %110 4 5 6 3
|
||||
OpStore %_1_result %112
|
||||
%113 = OpLoad %v4float %_1_result
|
||||
OpStore %_0_result %112
|
||||
%113 = OpLoad %v4float %_0_result
|
||||
OpStore %sk_FragColor %113
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
@ -6,8 +6,8 @@ float _blend_overlay_component(vec2 s, vec2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
void main() {
|
||||
vec4 _1_result = vec4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
_1_result.xyz += dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
sk_FragColor = _1_result;
|
||||
vec4 _0_result = vec4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
_0_result.xyz += dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -16,9 +16,9 @@ float _blend_overlay_component(float2 s, float2 d) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_result = float4(_blend_overlay_component(_in.src.xw, _in.dst.xw), _blend_overlay_component(_in.src.yw, _in.dst.yw), _blend_overlay_component(_in.src.zw, _in.dst.zw), _in.src.w + (1.0 - _in.src.w) * _in.dst.w);
|
||||
_1_result.xyz = _1_result.xyz + _in.dst.xyz * (1.0 - _in.src.w) + _in.src.xyz * (1.0 - _in.dst.w);
|
||||
_out.sk_FragColor = _1_result;
|
||||
float4 _0_result = float4(_blend_overlay_component(_in.src.xw, _in.dst.xw), _blend_overlay_component(_in.src.yw, _in.dst.yw), _blend_overlay_component(_in.src.zw, _in.dst.zw), _in.src.w + (1.0 - _in.src.w) * _in.dst.w);
|
||||
_0_result.xyz = _0_result.xyz + _in.dst.xyz * (1.0 - _in.src.w) + _in.src.xyz * (1.0 - _in.dst.w);
|
||||
_out.sk_FragColor = _0_result;
|
||||
|
||||
return _out;
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ float _blend_overlay_component(vec2 s, vec2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
void main() {
|
||||
vec4 _1_result = vec4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
_1_result.xyz += dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
sk_FragColor = _1_result;
|
||||
vec4 _0_result = vec4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
_0_result.xyz += dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -8,22 +8,22 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_blend_set_color_saturation_helper "_blend_set_color_saturation_helper"
|
||||
OpName %_19_n "_19_n"
|
||||
OpName %_20_d "_20_d"
|
||||
OpName %_7_n "_7_n"
|
||||
OpName %_8_d "_8_d"
|
||||
OpName %main "main"
|
||||
OpName %_1_alpha "_1_alpha"
|
||||
OpName %_2_sda "_2_sda"
|
||||
OpName %_3_dsa "_3_dsa"
|
||||
OpName %_4_blend_set_color_saturation "_4_blend_set_color_saturation"
|
||||
OpName %_5_sat "_5_sat"
|
||||
OpName %_6_blend_set_color_luminance "_6_blend_set_color_luminance"
|
||||
OpName %_7_lum "_7_lum"
|
||||
OpName %_8_result "_8_result"
|
||||
OpName %_9_minComp "_9_minComp"
|
||||
OpName %_10_maxComp "_10_maxComp"
|
||||
OpName %_11_d "_11_d"
|
||||
OpName %_12_n "_12_n"
|
||||
OpName %_13_d "_13_d"
|
||||
OpName %_0_alpha "_0_alpha"
|
||||
OpName %_1_sda "_1_sda"
|
||||
OpName %_2_dsa "_2_dsa"
|
||||
OpName %_3_blend_set_color_saturation "_3_blend_set_color_saturation"
|
||||
OpName %_4_sat "_4_sat"
|
||||
OpName %_5_blend_set_color_luminance "_5_blend_set_color_luminance"
|
||||
OpName %_6_lum "_6_lum"
|
||||
OpName %_7_result "_7_result"
|
||||
OpName %_8_minComp "_8_minComp"
|
||||
OpName %_9_maxComp "_9_maxComp"
|
||||
OpName %_10_d "_10_d"
|
||||
OpName %_11_n "_11_n"
|
||||
OpName %_12_d "_12_d"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -162,8 +162,8 @@ OpDecorate %284 RelaxedPrecision
|
||||
%18 = OpFunctionParameter %_ptr_Function_v3float
|
||||
%19 = OpFunctionParameter %_ptr_Function_float
|
||||
%20 = OpLabel
|
||||
%_19_n = OpVariable %_ptr_Function_float Function
|
||||
%_20_d = OpVariable %_ptr_Function_float Function
|
||||
%_7_n = OpVariable %_ptr_Function_float Function
|
||||
%_8_d = OpVariable %_ptr_Function_float Function
|
||||
%21 = OpLoad %v3float %18
|
||||
%22 = OpCompositeExtract %float %21 0
|
||||
%23 = OpLoad %v3float %18
|
||||
@ -179,15 +179,15 @@ OpBranchConditional %25 %26 %27
|
||||
%34 = OpCompositeExtract %float %33 0
|
||||
%35 = OpFSub %float %32 %34
|
||||
%36 = OpFMul %float %30 %35
|
||||
OpStore %_19_n %36
|
||||
OpStore %_7_n %36
|
||||
%38 = OpLoad %v3float %18
|
||||
%39 = OpCompositeExtract %float %38 2
|
||||
%40 = OpLoad %v3float %18
|
||||
%41 = OpCompositeExtract %float %40 0
|
||||
%42 = OpFSub %float %39 %41
|
||||
OpStore %_20_d %42
|
||||
%44 = OpLoad %float %_19_n
|
||||
%45 = OpLoad %float %_20_d
|
||||
OpStore %_8_d %42
|
||||
%44 = OpLoad %float %_7_n
|
||||
%45 = OpLoad %float %_8_d
|
||||
%46 = OpFDiv %float %44 %45
|
||||
%47 = OpLoad %float %19
|
||||
%48 = OpCompositeConstruct %v3float %float_0 %46 %47
|
||||
@ -199,11 +199,11 @@ OpUnreachable
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %51
|
||||
%52 = OpLabel
|
||||
%_1_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_2_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_blend_set_color_saturation = OpVariable %_ptr_Function_v3float Function
|
||||
%_5_sat = OpVariable %_ptr_Function_float Function
|
||||
%_0_alpha = OpVariable %_ptr_Function_float Function
|
||||
%_1_sda = OpVariable %_ptr_Function_v3float Function
|
||||
%_2_dsa = OpVariable %_ptr_Function_v3float Function
|
||||
%_3_blend_set_color_saturation = OpVariable %_ptr_Function_v3float Function
|
||||
%_4_sat = OpVariable %_ptr_Function_float Function
|
||||
%107 = OpVariable %_ptr_Function_v3float Function
|
||||
%109 = OpVariable %_ptr_Function_float Function
|
||||
%121 = OpVariable %_ptr_Function_v3float Function
|
||||
@ -216,192 +216,192 @@ OpFunctionEnd
|
||||
%160 = OpVariable %_ptr_Function_float Function
|
||||
%165 = OpVariable %_ptr_Function_v3float Function
|
||||
%167 = OpVariable %_ptr_Function_float Function
|
||||
%_6_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_7_lum = OpVariable %_ptr_Function_float Function
|
||||
%_8_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_9_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_11_d = OpVariable %_ptr_Function_float Function
|
||||
%_12_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_13_d = OpVariable %_ptr_Function_float Function
|
||||
%_5_blend_set_color_luminance = OpVariable %_ptr_Function_v3float Function
|
||||
%_6_lum = OpVariable %_ptr_Function_float Function
|
||||
%_7_result = OpVariable %_ptr_Function_v3float Function
|
||||
%_8_minComp = OpVariable %_ptr_Function_float Function
|
||||
%_9_maxComp = OpVariable %_ptr_Function_float Function
|
||||
%_10_d = OpVariable %_ptr_Function_float Function
|
||||
%_11_n = OpVariable %_ptr_Function_v3float Function
|
||||
%_12_d = OpVariable %_ptr_Function_float Function
|
||||
%54 = OpLoad %v4float %dst
|
||||
%55 = OpCompositeExtract %float %54 3
|
||||
%56 = OpLoad %v4float %src
|
||||
%57 = OpCompositeExtract %float %56 3
|
||||
%58 = OpFMul %float %55 %57
|
||||
OpStore %_1_alpha %58
|
||||
OpStore %_0_alpha %58
|
||||
%60 = OpLoad %v4float %src
|
||||
%61 = OpVectorShuffle %v3float %60 %60 0 1 2
|
||||
%62 = OpLoad %v4float %dst
|
||||
%63 = OpCompositeExtract %float %62 3
|
||||
%64 = OpVectorTimesScalar %v3float %61 %63
|
||||
OpStore %_2_sda %64
|
||||
OpStore %_1_sda %64
|
||||
%66 = OpLoad %v4float %dst
|
||||
%67 = OpVectorShuffle %v3float %66 %66 0 1 2
|
||||
%68 = OpLoad %v4float %src
|
||||
%69 = OpCompositeExtract %float %68 3
|
||||
%70 = OpVectorTimesScalar %v3float %67 %69
|
||||
OpStore %_3_dsa %70
|
||||
%75 = OpLoad %v3float %_2_sda
|
||||
OpStore %_2_dsa %70
|
||||
%75 = OpLoad %v3float %_1_sda
|
||||
%76 = OpCompositeExtract %float %75 0
|
||||
%77 = OpLoad %v3float %_2_sda
|
||||
%77 = OpLoad %v3float %_1_sda
|
||||
%78 = OpCompositeExtract %float %77 1
|
||||
%74 = OpExtInst %float %1 FMax %76 %78
|
||||
%79 = OpLoad %v3float %_2_sda
|
||||
%79 = OpLoad %v3float %_1_sda
|
||||
%80 = OpCompositeExtract %float %79 2
|
||||
%73 = OpExtInst %float %1 FMax %74 %80
|
||||
%83 = OpLoad %v3float %_2_sda
|
||||
%83 = OpLoad %v3float %_1_sda
|
||||
%84 = OpCompositeExtract %float %83 0
|
||||
%85 = OpLoad %v3float %_2_sda
|
||||
%85 = OpLoad %v3float %_1_sda
|
||||
%86 = OpCompositeExtract %float %85 1
|
||||
%82 = OpExtInst %float %1 FMin %84 %86
|
||||
%87 = OpLoad %v3float %_2_sda
|
||||
%87 = OpLoad %v3float %_1_sda
|
||||
%88 = OpCompositeExtract %float %87 2
|
||||
%81 = OpExtInst %float %1 FMin %82 %88
|
||||
%89 = OpFSub %float %73 %81
|
||||
OpStore %_5_sat %89
|
||||
%90 = OpLoad %v3float %_3_dsa
|
||||
OpStore %_4_sat %89
|
||||
%90 = OpLoad %v3float %_2_dsa
|
||||
%91 = OpCompositeExtract %float %90 0
|
||||
%92 = OpLoad %v3float %_3_dsa
|
||||
%92 = OpLoad %v3float %_2_dsa
|
||||
%93 = OpCompositeExtract %float %92 1
|
||||
%94 = OpFOrdLessThanEqual %bool %91 %93
|
||||
OpSelectionMerge %97 None
|
||||
OpBranchConditional %94 %95 %96
|
||||
%95 = OpLabel
|
||||
%98 = OpLoad %v3float %_3_dsa
|
||||
%98 = OpLoad %v3float %_2_dsa
|
||||
%99 = OpCompositeExtract %float %98 1
|
||||
%100 = OpLoad %v3float %_3_dsa
|
||||
%100 = OpLoad %v3float %_2_dsa
|
||||
%101 = OpCompositeExtract %float %100 2
|
||||
%102 = OpFOrdLessThanEqual %bool %99 %101
|
||||
OpSelectionMerge %105 None
|
||||
OpBranchConditional %102 %103 %104
|
||||
%103 = OpLabel
|
||||
%106 = OpLoad %v3float %_3_dsa
|
||||
%106 = OpLoad %v3float %_2_dsa
|
||||
OpStore %107 %106
|
||||
%108 = OpLoad %float %_5_sat
|
||||
%108 = OpLoad %float %_4_sat
|
||||
OpStore %109 %108
|
||||
%110 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %107 %109
|
||||
OpStore %_4_blend_set_color_saturation %110
|
||||
OpStore %_3_blend_set_color_saturation %110
|
||||
OpBranch %105
|
||||
%104 = OpLabel
|
||||
%111 = OpLoad %v3float %_3_dsa
|
||||
%111 = OpLoad %v3float %_2_dsa
|
||||
%112 = OpCompositeExtract %float %111 0
|
||||
%113 = OpLoad %v3float %_3_dsa
|
||||
%113 = OpLoad %v3float %_2_dsa
|
||||
%114 = OpCompositeExtract %float %113 2
|
||||
%115 = OpFOrdLessThanEqual %bool %112 %114
|
||||
OpSelectionMerge %118 None
|
||||
OpBranchConditional %115 %116 %117
|
||||
%116 = OpLabel
|
||||
%119 = OpLoad %v3float %_3_dsa
|
||||
%119 = OpLoad %v3float %_2_dsa
|
||||
%120 = OpVectorShuffle %v3float %119 %119 0 2 1
|
||||
OpStore %121 %120
|
||||
%122 = OpLoad %float %_5_sat
|
||||
%122 = OpLoad %float %_4_sat
|
||||
OpStore %123 %122
|
||||
%124 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %121 %123
|
||||
%125 = OpVectorShuffle %v3float %124 %124 0 2 1
|
||||
OpStore %_4_blend_set_color_saturation %125
|
||||
OpStore %_3_blend_set_color_saturation %125
|
||||
OpBranch %118
|
||||
%117 = OpLabel
|
||||
%126 = OpLoad %v3float %_3_dsa
|
||||
%126 = OpLoad %v3float %_2_dsa
|
||||
%127 = OpVectorShuffle %v3float %126 %126 2 0 1
|
||||
OpStore %128 %127
|
||||
%129 = OpLoad %float %_5_sat
|
||||
%129 = OpLoad %float %_4_sat
|
||||
OpStore %130 %129
|
||||
%131 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %128 %130
|
||||
%132 = OpVectorShuffle %v3float %131 %131 1 2 0
|
||||
OpStore %_4_blend_set_color_saturation %132
|
||||
OpStore %_3_blend_set_color_saturation %132
|
||||
OpBranch %118
|
||||
%118 = OpLabel
|
||||
OpBranch %105
|
||||
%105 = OpLabel
|
||||
OpBranch %97
|
||||
%96 = OpLabel
|
||||
%133 = OpLoad %v3float %_3_dsa
|
||||
%133 = OpLoad %v3float %_2_dsa
|
||||
%134 = OpCompositeExtract %float %133 0
|
||||
%135 = OpLoad %v3float %_3_dsa
|
||||
%135 = OpLoad %v3float %_2_dsa
|
||||
%136 = OpCompositeExtract %float %135 2
|
||||
%137 = OpFOrdLessThanEqual %bool %134 %136
|
||||
OpSelectionMerge %140 None
|
||||
OpBranchConditional %137 %138 %139
|
||||
%138 = OpLabel
|
||||
%141 = OpLoad %v3float %_3_dsa
|
||||
%141 = OpLoad %v3float %_2_dsa
|
||||
%142 = OpVectorShuffle %v3float %141 %141 1 0 2
|
||||
OpStore %143 %142
|
||||
%144 = OpLoad %float %_5_sat
|
||||
%144 = OpLoad %float %_4_sat
|
||||
OpStore %145 %144
|
||||
%146 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %143 %145
|
||||
%147 = OpVectorShuffle %v3float %146 %146 1 0 2
|
||||
OpStore %_4_blend_set_color_saturation %147
|
||||
OpStore %_3_blend_set_color_saturation %147
|
||||
OpBranch %140
|
||||
%139 = OpLabel
|
||||
%148 = OpLoad %v3float %_3_dsa
|
||||
%148 = OpLoad %v3float %_2_dsa
|
||||
%149 = OpCompositeExtract %float %148 1
|
||||
%150 = OpLoad %v3float %_3_dsa
|
||||
%150 = OpLoad %v3float %_2_dsa
|
||||
%151 = OpCompositeExtract %float %150 2
|
||||
%152 = OpFOrdLessThanEqual %bool %149 %151
|
||||
OpSelectionMerge %155 None
|
||||
OpBranchConditional %152 %153 %154
|
||||
%153 = OpLabel
|
||||
%156 = OpLoad %v3float %_3_dsa
|
||||
%156 = OpLoad %v3float %_2_dsa
|
||||
%157 = OpVectorShuffle %v3float %156 %156 1 2 0
|
||||
OpStore %158 %157
|
||||
%159 = OpLoad %float %_5_sat
|
||||
%159 = OpLoad %float %_4_sat
|
||||
OpStore %160 %159
|
||||
%161 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %158 %160
|
||||
%162 = OpVectorShuffle %v3float %161 %161 2 0 1
|
||||
OpStore %_4_blend_set_color_saturation %162
|
||||
OpStore %_3_blend_set_color_saturation %162
|
||||
OpBranch %155
|
||||
%154 = OpLabel
|
||||
%163 = OpLoad %v3float %_3_dsa
|
||||
%163 = OpLoad %v3float %_2_dsa
|
||||
%164 = OpVectorShuffle %v3float %163 %163 2 1 0
|
||||
OpStore %165 %164
|
||||
%166 = OpLoad %float %_5_sat
|
||||
%166 = OpLoad %float %_4_sat
|
||||
OpStore %167 %166
|
||||
%168 = OpFunctionCall %v3float %_blend_set_color_saturation_helper %165 %167
|
||||
%169 = OpVectorShuffle %v3float %168 %168 2 1 0
|
||||
OpStore %_4_blend_set_color_saturation %169
|
||||
OpStore %_3_blend_set_color_saturation %169
|
||||
OpBranch %155
|
||||
%155 = OpLabel
|
||||
OpBranch %140
|
||||
%140 = OpLabel
|
||||
OpBranch %97
|
||||
%97 = OpLabel
|
||||
%177 = OpLoad %v3float %_3_dsa
|
||||
%177 = OpLoad %v3float %_2_dsa
|
||||
%172 = OpDot %float %176 %177
|
||||
OpStore %_7_lum %172
|
||||
%179 = OpLoad %float %_7_lum
|
||||
%181 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
OpStore %_6_lum %172
|
||||
%179 = OpLoad %float %_6_lum
|
||||
%181 = OpLoad %v3float %_3_blend_set_color_saturation
|
||||
%180 = OpDot %float %176 %181
|
||||
%182 = OpFSub %float %179 %180
|
||||
%183 = OpLoad %v3float %_4_blend_set_color_saturation
|
||||
%183 = OpLoad %v3float %_3_blend_set_color_saturation
|
||||
%184 = OpCompositeConstruct %v3float %182 %182 %182
|
||||
%185 = OpFAdd %v3float %184 %183
|
||||
OpStore %_8_result %185
|
||||
%189 = OpLoad %v3float %_8_result
|
||||
OpStore %_7_result %185
|
||||
%189 = OpLoad %v3float %_7_result
|
||||
%190 = OpCompositeExtract %float %189 0
|
||||
%191 = OpLoad %v3float %_8_result
|
||||
%191 = OpLoad %v3float %_7_result
|
||||
%192 = OpCompositeExtract %float %191 1
|
||||
%188 = OpExtInst %float %1 FMin %190 %192
|
||||
%193 = OpLoad %v3float %_8_result
|
||||
%193 = OpLoad %v3float %_7_result
|
||||
%194 = OpCompositeExtract %float %193 2
|
||||
%187 = OpExtInst %float %1 FMin %188 %194
|
||||
OpStore %_9_minComp %187
|
||||
%198 = OpLoad %v3float %_8_result
|
||||
OpStore %_8_minComp %187
|
||||
%198 = OpLoad %v3float %_7_result
|
||||
%199 = OpCompositeExtract %float %198 0
|
||||
%200 = OpLoad %v3float %_8_result
|
||||
%200 = OpLoad %v3float %_7_result
|
||||
%201 = OpCompositeExtract %float %200 1
|
||||
%197 = OpExtInst %float %1 FMax %199 %201
|
||||
%202 = OpLoad %v3float %_8_result
|
||||
%202 = OpLoad %v3float %_7_result
|
||||
%203 = OpCompositeExtract %float %202 2
|
||||
%196 = OpExtInst %float %1 FMax %197 %203
|
||||
OpStore %_10_maxComp %196
|
||||
%205 = OpLoad %float %_9_minComp
|
||||
OpStore %_9_maxComp %196
|
||||
%205 = OpLoad %float %_8_minComp
|
||||
%206 = OpFOrdLessThan %bool %205 %float_0
|
||||
OpSelectionMerge %208 None
|
||||
OpBranchConditional %206 %207 %208
|
||||
%207 = OpLabel
|
||||
%209 = OpLoad %float %_7_lum
|
||||
%210 = OpLoad %float %_9_minComp
|
||||
%209 = OpLoad %float %_6_lum
|
||||
%210 = OpLoad %float %_8_minComp
|
||||
%211 = OpFOrdNotEqual %bool %209 %210
|
||||
OpBranch %208
|
||||
%208 = OpLabel
|
||||
@ -409,32 +409,32 @@ OpBranch %208
|
||||
OpSelectionMerge %214 None
|
||||
OpBranchConditional %212 %213 %214
|
||||
%213 = OpLabel
|
||||
%216 = OpLoad %float %_7_lum
|
||||
%217 = OpLoad %float %_9_minComp
|
||||
%216 = OpLoad %float %_6_lum
|
||||
%217 = OpLoad %float %_8_minComp
|
||||
%218 = OpFSub %float %216 %217
|
||||
OpStore %_11_d %218
|
||||
%219 = OpLoad %float %_7_lum
|
||||
%220 = OpLoad %v3float %_8_result
|
||||
%221 = OpLoad %float %_7_lum
|
||||
OpStore %_10_d %218
|
||||
%219 = OpLoad %float %_6_lum
|
||||
%220 = OpLoad %v3float %_7_result
|
||||
%221 = OpLoad %float %_6_lum
|
||||
%222 = OpCompositeConstruct %v3float %221 %221 %221
|
||||
%223 = OpFSub %v3float %220 %222
|
||||
%224 = OpLoad %float %_7_lum
|
||||
%225 = OpLoad %float %_11_d
|
||||
%224 = OpLoad %float %_6_lum
|
||||
%225 = OpLoad %float %_10_d
|
||||
%226 = OpFDiv %float %224 %225
|
||||
%227 = OpVectorTimesScalar %v3float %223 %226
|
||||
%228 = OpCompositeConstruct %v3float %219 %219 %219
|
||||
%229 = OpFAdd %v3float %228 %227
|
||||
OpStore %_8_result %229
|
||||
OpStore %_7_result %229
|
||||
OpBranch %214
|
||||
%214 = OpLabel
|
||||
%230 = OpLoad %float %_10_maxComp
|
||||
%231 = OpLoad %float %_1_alpha
|
||||
%230 = OpLoad %float %_9_maxComp
|
||||
%231 = OpLoad %float %_0_alpha
|
||||
%232 = OpFOrdGreaterThan %bool %230 %231
|
||||
OpSelectionMerge %234 None
|
||||
OpBranchConditional %232 %233 %234
|
||||
%233 = OpLabel
|
||||
%235 = OpLoad %float %_10_maxComp
|
||||
%236 = OpLoad %float %_7_lum
|
||||
%235 = OpLoad %float %_9_maxComp
|
||||
%236 = OpLoad %float %_6_lum
|
||||
%237 = OpFOrdNotEqual %bool %235 %236
|
||||
OpBranch %234
|
||||
%234 = OpLabel
|
||||
@ -442,43 +442,43 @@ OpBranch %234
|
||||
OpSelectionMerge %241 None
|
||||
OpBranchConditional %238 %239 %240
|
||||
%239 = OpLabel
|
||||
%243 = OpLoad %v3float %_8_result
|
||||
%244 = OpLoad %float %_7_lum
|
||||
%243 = OpLoad %v3float %_7_result
|
||||
%244 = OpLoad %float %_6_lum
|
||||
%245 = OpCompositeConstruct %v3float %244 %244 %244
|
||||
%246 = OpFSub %v3float %243 %245
|
||||
%247 = OpLoad %float %_1_alpha
|
||||
%248 = OpLoad %float %_7_lum
|
||||
%247 = OpLoad %float %_0_alpha
|
||||
%248 = OpLoad %float %_6_lum
|
||||
%249 = OpFSub %float %247 %248
|
||||
%250 = OpVectorTimesScalar %v3float %246 %249
|
||||
OpStore %_12_n %250
|
||||
%252 = OpLoad %float %_10_maxComp
|
||||
%253 = OpLoad %float %_7_lum
|
||||
OpStore %_11_n %250
|
||||
%252 = OpLoad %float %_9_maxComp
|
||||
%253 = OpLoad %float %_6_lum
|
||||
%254 = OpFSub %float %252 %253
|
||||
OpStore %_13_d %254
|
||||
%255 = OpLoad %float %_7_lum
|
||||
%256 = OpLoad %v3float %_12_n
|
||||
%257 = OpLoad %float %_13_d
|
||||
OpStore %_12_d %254
|
||||
%255 = OpLoad %float %_6_lum
|
||||
%256 = OpLoad %v3float %_11_n
|
||||
%257 = OpLoad %float %_12_d
|
||||
%259 = OpFDiv %float %float_1 %257
|
||||
%260 = OpVectorTimesScalar %v3float %256 %259
|
||||
%261 = OpCompositeConstruct %v3float %255 %255 %255
|
||||
%262 = OpFAdd %v3float %261 %260
|
||||
OpStore %_6_blend_set_color_luminance %262
|
||||
OpStore %_5_blend_set_color_luminance %262
|
||||
OpBranch %241
|
||||
%240 = OpLabel
|
||||
%263 = OpLoad %v3float %_8_result
|
||||
OpStore %_6_blend_set_color_luminance %263
|
||||
%263 = OpLoad %v3float %_7_result
|
||||
OpStore %_5_blend_set_color_luminance %263
|
||||
OpBranch %241
|
||||
%241 = OpLabel
|
||||
%264 = OpLoad %v3float %_6_blend_set_color_luminance
|
||||
%264 = OpLoad %v3float %_5_blend_set_color_luminance
|
||||
%265 = OpLoad %v4float %dst
|
||||
%266 = OpVectorShuffle %v3float %265 %265 0 1 2
|
||||
%267 = OpFAdd %v3float %264 %266
|
||||
%268 = OpLoad %v3float %_3_dsa
|
||||
%268 = OpLoad %v3float %_2_dsa
|
||||
%269 = OpFSub %v3float %267 %268
|
||||
%270 = OpLoad %v4float %src
|
||||
%271 = OpVectorShuffle %v3float %270 %270 0 1 2
|
||||
%272 = OpFAdd %v3float %269 %271
|
||||
%273 = OpLoad %v3float %_2_sda
|
||||
%273 = OpLoad %v3float %_1_sda
|
||||
%274 = OpFSub %v3float %272 %273
|
||||
%275 = OpCompositeExtract %float %274 0
|
||||
%276 = OpCompositeExtract %float %274 1
|
||||
@ -488,7 +488,7 @@ OpBranch %241
|
||||
%280 = OpLoad %v4float %dst
|
||||
%281 = OpCompositeExtract %float %280 3
|
||||
%282 = OpFAdd %float %279 %281
|
||||
%283 = OpLoad %float %_1_alpha
|
||||
%283 = OpLoad %float %_0_alpha
|
||||
%284 = OpFSub %float %282 %283
|
||||
%285 = OpCompositeConstruct %v4float %275 %276 %277 %284
|
||||
OpStore %sk_FragColor %285
|
||||
|
@ -4,57 +4,57 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
}
|
||||
}
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_2_sda.x, _2_sda.y), _2_sda.z) - min(min(_2_sda.x, _2_sda.y), _2_sda.z);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_1_sda.x, _1_sda.y), _1_sda.z) - min(min(_1_sda.x, _1_sda.y), _1_sda.z);
|
||||
|
||||
if (_3_dsa.x <= _3_dsa.y) {
|
||||
if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa, _5_sat);
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.xzy, _5_sat).xzy;
|
||||
if (_2_dsa.x <= _2_dsa.y) {
|
||||
if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa, _4_sat);
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yxz, _5_sat).yxz;
|
||||
} else if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yzx, _5_sat).zxy;
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yxz, _4_sat).yxz;
|
||||
} else if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zyx, _4_sat).zyx;
|
||||
}
|
||||
vec3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
vec3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _8_result = (_7_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
vec3 _7_result = (_6_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
vec3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
vec3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_6_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_5_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -10,9 +10,9 @@ struct Outputs {
|
||||
};
|
||||
float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return float3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return float3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return float3(0.0);
|
||||
@ -23,48 +23,48 @@ float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float _1_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _2_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _3_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_2_sda.x, _2_sda.y), _2_sda.z) - min(min(_2_sda.x, _2_sda.y), _2_sda.z);
|
||||
float _0_alpha = _in.dst.w * _in.src.w;
|
||||
float3 _1_sda = _in.src.xyz * _in.dst.w;
|
||||
float3 _2_dsa = _in.dst.xyz * _in.src.w;
|
||||
float3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_1_sda.x, _1_sda.y), _1_sda.z) - min(min(_1_sda.x, _1_sda.y), _1_sda.z);
|
||||
|
||||
if (_3_dsa.x <= _3_dsa.y) {
|
||||
if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa, _5_sat);
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.xzy, _5_sat).xzy;
|
||||
if (_2_dsa.x <= _2_dsa.y) {
|
||||
if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa, _4_sat);
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yxz, _5_sat).yxz;
|
||||
} else if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yzx, _5_sat).zxy;
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yxz, _4_sat).yxz;
|
||||
} else if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zyx, _4_sat).zyx;
|
||||
}
|
||||
float3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
float3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
float3 _8_result = (_7_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
float3 _7_result = (_6_lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
float3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
float3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
_out.sk_FragColor = float4((((_6_blend_set_color_luminance + _in.dst.xyz) - _3_dsa) + _in.src.xyz) - _2_sda, (_in.src.w + _in.dst.w) - _1_alpha);
|
||||
_out.sk_FragColor = float4((((_5_blend_set_color_luminance + _in.dst.xyz) - _2_dsa) + _in.src.xyz) - _1_sda, (_in.src.w + _in.dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -4,57 +4,57 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
}
|
||||
}
|
||||
void main() {
|
||||
float _1_alpha = dst.w * src.w;
|
||||
vec3 _2_sda = src.xyz * dst.w;
|
||||
vec3 _3_dsa = dst.xyz * src.w;
|
||||
vec3 _4_blend_set_color_saturation;
|
||||
float _5_sat = max(max(_2_sda.x, _2_sda.y), _2_sda.z) - min(min(_2_sda.x, _2_sda.y), _2_sda.z);
|
||||
float _0_alpha = dst.w * src.w;
|
||||
vec3 _1_sda = src.xyz * dst.w;
|
||||
vec3 _2_dsa = dst.xyz * src.w;
|
||||
vec3 _3_blend_set_color_saturation;
|
||||
float _4_sat = max(max(_1_sda.x, _1_sda.y), _1_sda.z) - min(min(_1_sda.x, _1_sda.y), _1_sda.z);
|
||||
|
||||
if (_3_dsa.x <= _3_dsa.y) {
|
||||
if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa, _5_sat);
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.xzy, _5_sat).xzy;
|
||||
if (_2_dsa.x <= _2_dsa.y) {
|
||||
if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa, _4_sat);
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.xzy, _4_sat).xzy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zxy, _5_sat).yzx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zxy, _4_sat).yzx;
|
||||
}
|
||||
} else if (_3_dsa.x <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yxz, _5_sat).yxz;
|
||||
} else if (_3_dsa.y <= _3_dsa.z) {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.yzx, _5_sat).zxy;
|
||||
} else if (_2_dsa.x <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yxz, _4_sat).yxz;
|
||||
} else if (_2_dsa.y <= _2_dsa.z) {
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.yzx, _4_sat).zxy;
|
||||
} else {
|
||||
_4_blend_set_color_saturation = _blend_set_color_saturation_helper(_3_dsa.zyx, _5_sat).zyx;
|
||||
_3_blend_set_color_saturation = _blend_set_color_saturation_helper(_2_dsa.zyx, _4_sat).zyx;
|
||||
}
|
||||
vec3 _6_blend_set_color_luminance;
|
||||
float _7_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_dsa);
|
||||
vec3 _5_blend_set_color_luminance;
|
||||
float _6_lum = dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _2_dsa);
|
||||
|
||||
vec3 _8_result = (_7_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _4_blend_set_color_saturation)) + _4_blend_set_color_saturation;
|
||||
vec3 _7_result = (_6_lum - dot(vec3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), _3_blend_set_color_saturation)) + _3_blend_set_color_saturation;
|
||||
|
||||
float _9_minComp = min(min(_8_result.x, _8_result.y), _8_result.z);
|
||||
float _10_maxComp = max(max(_8_result.x, _8_result.y), _8_result.z);
|
||||
if (_9_minComp < 0.0 && _7_lum != _9_minComp) {
|
||||
float _11_d = _7_lum - _9_minComp;
|
||||
_8_result = _7_lum + (_8_result - _7_lum) * (_7_lum / _11_d);
|
||||
float _8_minComp = min(min(_7_result.x, _7_result.y), _7_result.z);
|
||||
float _9_maxComp = max(max(_7_result.x, _7_result.y), _7_result.z);
|
||||
if (_8_minComp < 0.0 && _6_lum != _8_minComp) {
|
||||
float _10_d = _6_lum - _8_minComp;
|
||||
_7_result = _6_lum + (_7_result - _6_lum) * (_6_lum / _10_d);
|
||||
|
||||
}
|
||||
if (_10_maxComp > _1_alpha && _10_maxComp != _7_lum) {
|
||||
vec3 _12_n = (_8_result - _7_lum) * (_1_alpha - _7_lum);
|
||||
float _13_d = _10_maxComp - _7_lum;
|
||||
_6_blend_set_color_luminance = _7_lum + _12_n / _13_d;
|
||||
if (_9_maxComp > _0_alpha && _9_maxComp != _6_lum) {
|
||||
vec3 _11_n = (_7_result - _6_lum) * (_0_alpha - _6_lum);
|
||||
float _12_d = _9_maxComp - _6_lum;
|
||||
_5_blend_set_color_luminance = _6_lum + _11_n / _12_d;
|
||||
|
||||
} else {
|
||||
_6_blend_set_color_luminance = _8_result;
|
||||
_5_blend_set_color_luminance = _7_result;
|
||||
}
|
||||
sk_FragColor = vec4((((_6_blend_set_color_luminance + dst.xyz) - _3_dsa) + src.xyz) - _2_sda, (src.w + dst.w) - _1_alpha);
|
||||
sk_FragColor = vec4((((_5_blend_set_color_luminance + dst.xyz) - _2_dsa) + src.xyz) - _1_sda, (src.w + dst.w) - _0_alpha);
|
||||
|
||||
|
||||
|
||||
|
@ -8,12 +8,12 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %src "src"
|
||||
OpName %dst "dst"
|
||||
OpName %_soft_light_component "_soft_light_component"
|
||||
OpName %_8_n "_8_n"
|
||||
OpName %_2_n "_2_n"
|
||||
OpName %DSqd "DSqd"
|
||||
OpName %DCub "DCub"
|
||||
OpName %DaSqd "DaSqd"
|
||||
OpName %DaCub "DaCub"
|
||||
OpName %_10_n "_10_n"
|
||||
OpName %_3_n "_3_n"
|
||||
OpName %main "main"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
@ -168,12 +168,12 @@ OpDecorate %229 RelaxedPrecision
|
||||
%17 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%18 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%19 = OpLabel
|
||||
%_8_n = OpVariable %_ptr_Function_float Function
|
||||
%_2_n = OpVariable %_ptr_Function_float Function
|
||||
%DSqd = OpVariable %_ptr_Function_float Function
|
||||
%DCub = OpVariable %_ptr_Function_float Function
|
||||
%DaSqd = OpVariable %_ptr_Function_float Function
|
||||
%DaCub = OpVariable %_ptr_Function_float Function
|
||||
%_10_n = OpVariable %_ptr_Function_float Function
|
||||
%_3_n = OpVariable %_ptr_Function_float Function
|
||||
%21 = OpLoad %v2float %17
|
||||
%22 = OpCompositeExtract %float %21 0
|
||||
%23 = OpFMul %float %float_2 %22
|
||||
@ -195,8 +195,8 @@ OpBranchConditional %26 %27 %28
|
||||
%41 = OpFMul %float %float_2 %40
|
||||
%42 = OpFSub %float %38 %41
|
||||
%43 = OpFMul %float %36 %42
|
||||
OpStore %_8_n %43
|
||||
%44 = OpLoad %float %_8_n
|
||||
OpStore %_2_n %43
|
||||
%44 = OpLoad %float %_2_n
|
||||
%45 = OpLoad %v2float %18
|
||||
%46 = OpCompositeExtract %float %45 1
|
||||
%47 = OpFDiv %float %44 %46
|
||||
@ -296,8 +296,8 @@ OpStore %DaCub %99
|
||||
%146 = OpCompositeExtract %float %145 0
|
||||
%147 = OpFMul %float %144 %146
|
||||
%148 = OpFSub %float %143 %147
|
||||
OpStore %_10_n %148
|
||||
%149 = OpLoad %float %_10_n
|
||||
OpStore %_3_n %148
|
||||
%149 = OpLoad %float %_3_n
|
||||
%150 = OpLoad %float %DaSqd
|
||||
%151 = OpFDiv %float %149 %150
|
||||
OpReturnValue %151
|
||||
|
@ -4,16 +4,16 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
float _soft_light_component(vec2 s, vec2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
float _8_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_8_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
float _2_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_2_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
float DSqd = d.x * d.x;
|
||||
float DCub = DSqd * d.x;
|
||||
float DaSqd = d.y * d.y;
|
||||
float DaCub = DaSqd * d.y;
|
||||
float _10_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _10_n / DaSqd;
|
||||
float _3_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _3_n / DaSqd;
|
||||
|
||||
} else {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
|
@ -10,16 +10,16 @@ struct Outputs {
|
||||
};
|
||||
float _soft_light_component(float2 s, float2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
float _8_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_8_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
float _2_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_2_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
float DSqd = d.x * d.x;
|
||||
float DCub = DSqd * d.x;
|
||||
float DaSqd = d.y * d.y;
|
||||
float DaCub = DaSqd * d.y;
|
||||
float _10_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _10_n / DaSqd;
|
||||
float _3_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _3_n / DaSqd;
|
||||
|
||||
} else {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
|
@ -4,16 +4,16 @@ in vec4 src;
|
||||
in vec4 dst;
|
||||
float _soft_light_component(vec2 s, vec2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
float _8_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_8_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
float _2_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_2_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
float DSqd = d.x * d.x;
|
||||
float DCub = DSqd * d.x;
|
||||
float DaSqd = d.y * d.y;
|
||||
float DaCub = DaSqd * d.y;
|
||||
float _10_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _10_n / DaSqd;
|
||||
float _3_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _3_n / DaSqd;
|
||||
|
||||
} else {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
|
@ -3,69 +3,69 @@ out vec4 sk_FragColor;
|
||||
uniform vec4 colorRed;
|
||||
uniform vec4 colorGreen;
|
||||
vec4 main() {
|
||||
bool _1_ok = true;
|
||||
float _2_x = 34.0;
|
||||
_1_ok = true;
|
||||
_2_x = 30.0;
|
||||
_1_ok = true;
|
||||
_2_x = 64.0;
|
||||
_1_ok = true;
|
||||
_2_x = 16.0;
|
||||
_1_ok = true;
|
||||
_2_x = 19.0;
|
||||
_1_ok = true;
|
||||
_2_x = 1.0;
|
||||
_1_ok = true;
|
||||
_2_x = -2.0;
|
||||
_1_ok = true;
|
||||
_2_x = 3.0;
|
||||
_1_ok = true;
|
||||
_2_x = -4.0;
|
||||
_1_ok = true;
|
||||
_2_x = 5.0;
|
||||
_1_ok = true;
|
||||
_2_x = -6.0;
|
||||
_1_ok = true;
|
||||
_2_x = 7.0;
|
||||
_1_ok = true;
|
||||
_2_x = -8.0;
|
||||
_1_ok = true;
|
||||
_2_x = 9.0;
|
||||
_1_ok = true;
|
||||
_2_x = -10.0;
|
||||
_1_ok = true;
|
||||
_2_x = 11.0;
|
||||
_1_ok = true;
|
||||
_2_x = -12.0;
|
||||
_1_ok = true;
|
||||
float _3_unknown = sqrt(4.0);
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _2_x == _3_unknown;
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _1_ok && _2_x == _3_unknown;
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _1_ok && _2_x == _3_unknown;
|
||||
_2_x = 0.0;
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _1_ok && _2_x == _3_unknown;
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _1_ok && _2_x == _3_unknown;
|
||||
_2_x = 0.0;
|
||||
_2_x = _3_unknown;
|
||||
_1_ok = _1_ok && _2_x == _3_unknown;
|
||||
_2_x = 0.0;
|
||||
_2_x += 1.0;
|
||||
_1_ok = _1_ok && _2_x == 1.0;
|
||||
_1_ok = _1_ok && _2_x == 1.0;
|
||||
_2_x -= 2.0;
|
||||
_1_ok = _1_ok && _2_x == -1.0;
|
||||
_1_ok = _1_ok && _2_x == -1.0;
|
||||
_1_ok = _1_ok && _2_x == -1.0;
|
||||
_2_x *= 2.0;
|
||||
_1_ok = _1_ok && _2_x == -2.0;
|
||||
_1_ok = _1_ok && _2_x == -2.0;
|
||||
_2_x /= 2.0;
|
||||
_1_ok = _1_ok && _2_x == -1.0;
|
||||
return _1_ok ? colorGreen : colorRed;
|
||||
bool _0_ok = true;
|
||||
float _1_x = 34.0;
|
||||
_0_ok = true;
|
||||
_1_x = 30.0;
|
||||
_0_ok = true;
|
||||
_1_x = 64.0;
|
||||
_0_ok = true;
|
||||
_1_x = 16.0;
|
||||
_0_ok = true;
|
||||
_1_x = 19.0;
|
||||
_0_ok = true;
|
||||
_1_x = 1.0;
|
||||
_0_ok = true;
|
||||
_1_x = -2.0;
|
||||
_0_ok = true;
|
||||
_1_x = 3.0;
|
||||
_0_ok = true;
|
||||
_1_x = -4.0;
|
||||
_0_ok = true;
|
||||
_1_x = 5.0;
|
||||
_0_ok = true;
|
||||
_1_x = -6.0;
|
||||
_0_ok = true;
|
||||
_1_x = 7.0;
|
||||
_0_ok = true;
|
||||
_1_x = -8.0;
|
||||
_0_ok = true;
|
||||
_1_x = 9.0;
|
||||
_0_ok = true;
|
||||
_1_x = -10.0;
|
||||
_0_ok = true;
|
||||
_1_x = 11.0;
|
||||
_0_ok = true;
|
||||
_1_x = -12.0;
|
||||
_0_ok = true;
|
||||
float _2_unknown = sqrt(4.0);
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _1_x == _2_unknown;
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _0_ok && _1_x == _2_unknown;
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _0_ok && _1_x == _2_unknown;
|
||||
_1_x = 0.0;
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _0_ok && _1_x == _2_unknown;
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _0_ok && _1_x == _2_unknown;
|
||||
_1_x = 0.0;
|
||||
_1_x = _2_unknown;
|
||||
_0_ok = _0_ok && _1_x == _2_unknown;
|
||||
_1_x = 0.0;
|
||||
_1_x += 1.0;
|
||||
_0_ok = _0_ok && _1_x == 1.0;
|
||||
_0_ok = _0_ok && _1_x == 1.0;
|
||||
_1_x -= 2.0;
|
||||
_0_ok = _0_ok && _1_x == -1.0;
|
||||
_0_ok = _0_ok && _1_x == -1.0;
|
||||
_0_ok = _0_ok && _1_x == -1.0;
|
||||
_1_x *= 2.0;
|
||||
_0_ok = _0_ok && _1_x == -2.0;
|
||||
_0_ok = _0_ok && _1_x == -2.0;
|
||||
_1_x /= 2.0;
|
||||
_0_ok = _0_ok && _1_x == -1.0;
|
||||
return _0_ok ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -4,67 +4,67 @@ uniform vec4 colorRed;
|
||||
uniform vec4 colorGreen;
|
||||
uniform float unknownInput;
|
||||
vec4 main() {
|
||||
int _1_unknown = int(unknownInput);
|
||||
bool _2_ok = true;
|
||||
int _3_x = 34;
|
||||
_2_ok = true;
|
||||
_3_x = 30;
|
||||
_2_ok = true;
|
||||
_3_x = 64;
|
||||
_2_ok = true;
|
||||
_3_x = 16;
|
||||
_2_ok = true;
|
||||
_3_x = 1;
|
||||
_2_ok = true;
|
||||
_3_x = -2;
|
||||
_2_ok = true;
|
||||
_3_x = 3;
|
||||
_2_ok = true;
|
||||
_3_x = -4;
|
||||
_2_ok = true;
|
||||
_3_x = 5;
|
||||
_2_ok = true;
|
||||
_3_x = -6;
|
||||
_2_ok = true;
|
||||
_3_x = 7;
|
||||
_2_ok = true;
|
||||
_3_x = -8;
|
||||
_2_ok = true;
|
||||
_3_x = 9;
|
||||
_2_ok = true;
|
||||
_3_x = -10;
|
||||
_2_ok = true;
|
||||
_3_x = 11;
|
||||
_2_ok = true;
|
||||
_3_x = -12;
|
||||
_2_ok = true;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _3_x == _1_unknown;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _2_ok && _3_x == _1_unknown;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _2_ok && _3_x == _1_unknown;
|
||||
_3_x = 0;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _2_ok && _3_x == _1_unknown;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _2_ok && _3_x == _1_unknown;
|
||||
_3_x = 0;
|
||||
_3_x = _1_unknown;
|
||||
_2_ok = _2_ok && _3_x == _1_unknown;
|
||||
_3_x = 0;
|
||||
_3_x += 1;
|
||||
_2_ok = _2_ok && _3_x == 1;
|
||||
_2_ok = _2_ok && _3_x == 1;
|
||||
_3_x -= 2;
|
||||
_2_ok = _2_ok && _3_x == -1;
|
||||
_2_ok = _2_ok && _3_x == -1;
|
||||
_2_ok = _2_ok && _3_x == -1;
|
||||
_3_x *= 2;
|
||||
_2_ok = _2_ok && _3_x == -2;
|
||||
_2_ok = _2_ok && _3_x == -2;
|
||||
_3_x /= 2;
|
||||
_2_ok = _2_ok && _3_x == -1;
|
||||
return _2_ok ? colorGreen : colorRed;
|
||||
int _0_unknown = int(unknownInput);
|
||||
bool _1_ok = true;
|
||||
int _2_x = 34;
|
||||
_1_ok = true;
|
||||
_2_x = 30;
|
||||
_1_ok = true;
|
||||
_2_x = 64;
|
||||
_1_ok = true;
|
||||
_2_x = 16;
|
||||
_1_ok = true;
|
||||
_2_x = 1;
|
||||
_1_ok = true;
|
||||
_2_x = -2;
|
||||
_1_ok = true;
|
||||
_2_x = 3;
|
||||
_1_ok = true;
|
||||
_2_x = -4;
|
||||
_1_ok = true;
|
||||
_2_x = 5;
|
||||
_1_ok = true;
|
||||
_2_x = -6;
|
||||
_1_ok = true;
|
||||
_2_x = 7;
|
||||
_1_ok = true;
|
||||
_2_x = -8;
|
||||
_1_ok = true;
|
||||
_2_x = 9;
|
||||
_1_ok = true;
|
||||
_2_x = -10;
|
||||
_1_ok = true;
|
||||
_2_x = 11;
|
||||
_1_ok = true;
|
||||
_2_x = -12;
|
||||
_1_ok = true;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _2_x == _0_unknown;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _1_ok && _2_x == _0_unknown;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _1_ok && _2_x == _0_unknown;
|
||||
_2_x = 0;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _1_ok && _2_x == _0_unknown;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _1_ok && _2_x == _0_unknown;
|
||||
_2_x = 0;
|
||||
_2_x = _0_unknown;
|
||||
_1_ok = _1_ok && _2_x == _0_unknown;
|
||||
_2_x = 0;
|
||||
_2_x += 1;
|
||||
_1_ok = _1_ok && _2_x == 1;
|
||||
_1_ok = _1_ok && _2_x == 1;
|
||||
_2_x -= 2;
|
||||
_1_ok = _1_ok && _2_x == -1;
|
||||
_1_ok = _1_ok && _2_x == -1;
|
||||
_1_ok = _1_ok && _2_x == -1;
|
||||
_2_x *= 2;
|
||||
_1_ok = _1_ok && _2_x == -2;
|
||||
_1_ok = _1_ok && _2_x == -2;
|
||||
_2_x /= 2;
|
||||
_1_ok = _1_ok && _2_x == -1;
|
||||
return _1_ok ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -4,116 +4,116 @@ uniform vec4 colorRed;
|
||||
uniform vec4 colorGreen;
|
||||
uniform float unknownInput;
|
||||
vec4 main() {
|
||||
bool _1_expr = unknownInput > 0.0;
|
||||
int _2_ok = 0;
|
||||
int _3_bad = 0;
|
||||
bool _0_expr = unknownInput > 0.0;
|
||||
int _1_ok = 0;
|
||||
int _2_bad = 0;
|
||||
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
{
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (true ^^ _1_expr) {
|
||||
++_3_bad;
|
||||
if (true ^^ _0_expr) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
{
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
if (false == _1_expr) {
|
||||
++_3_bad;
|
||||
if (false == _0_expr) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (true != _1_expr) {
|
||||
++_3_bad;
|
||||
if (true != _0_expr) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
{
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr ^^ true) {
|
||||
++_3_bad;
|
||||
if (_0_expr ^^ true) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
{
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
if (_1_expr == false) {
|
||||
++_3_bad;
|
||||
if (_0_expr == false) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr != true) {
|
||||
++_3_bad;
|
||||
if (_0_expr != true) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
if (_1_expr) {
|
||||
++_2_ok;
|
||||
if (_0_expr) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
float _4_a = sqrt(1.0);
|
||||
float _5_b = sqrt(2.0);
|
||||
float _3_a = sqrt(1.0);
|
||||
float _4_b = sqrt(2.0);
|
||||
|
||||
if (_4_a == _5_b) {
|
||||
++_3_bad;
|
||||
if (_3_a == _4_b) {
|
||||
++_2_bad;
|
||||
} else {
|
||||
++_2_ok;
|
||||
++_1_ok;
|
||||
}
|
||||
bool(_4_a = _5_b) || true;
|
||||
if (_4_a == _5_b) {
|
||||
++_2_ok;
|
||||
bool(_3_a = _4_b) || true;
|
||||
if (_3_a == _4_b) {
|
||||
++_1_ok;
|
||||
} else {
|
||||
++_3_bad;
|
||||
++_2_bad;
|
||||
}
|
||||
return _2_ok == 22 && _3_bad == 0 ? colorGreen : colorRed;
|
||||
return _1_ok == 22 && _2_bad == 0 ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -64,63 +64,63 @@ bool test_int() {
|
||||
return ok;
|
||||
}
|
||||
vec4 main() {
|
||||
bool _1_ok = true;
|
||||
vec4 _2_x = vec4(6.0, 6.0, 7.0, 8.0);
|
||||
_1_ok = true;
|
||||
_2_x = vec4(7.0, 9.0, 9.0, 9.0);
|
||||
_1_ok = true;
|
||||
_2_x = vec4(9.0, 9.0, 10.0, 10.0);
|
||||
_1_ok = true;
|
||||
_2_x.xyz = vec3(6.0, 6.0, 6.0);
|
||||
_1_ok = _2_x == vec4(6.0, 6.0, 6.0, 10.0);
|
||||
_2_x.xy = vec2(3.0, 3.0);
|
||||
_1_ok = _1_ok && _2_x == vec4(3.0, 3.0, 6.0, 10.0);
|
||||
_2_x = vec4(6.0, 6.0, 6.0, 6.0);
|
||||
_2_x = vec4(6.0, 6.0, 7.0, 8.0);
|
||||
_2_x = vec4(-7.0, -9.0, -9.0, -9.0);
|
||||
_2_x = vec4(9.0, 9.0, 10.0, 10.0);
|
||||
_2_x.xyz = vec3(6.0, 6.0, 6.0);
|
||||
_1_ok = _1_ok && _2_x == vec4(6.0, 6.0, 6.0, 10.0);
|
||||
_2_x.xy = vec2(8.0, 8.0);
|
||||
_1_ok = _1_ok && _2_x == vec4(8.0, 8.0, 6.0, 10.0);
|
||||
_2_x = vec4(2.0, 1.0, 0.5, 0.25);
|
||||
_2_x = vec4(6.0, 6.0, 6.0, 6.0);
|
||||
float _3_unknown = unknownInput;
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(0.0);
|
||||
_2_x = vec4(0.0);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(0.0);
|
||||
_2_x = vec4(0.0);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(0.0);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_2_x += 1.0;
|
||||
_2_x -= 1.0;
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
_2_x = vec4(_3_unknown);
|
||||
_2_x = _2_x + 1.0;
|
||||
_2_x = _2_x - 1.0;
|
||||
_1_ok = _1_ok && _2_x == vec4(_3_unknown);
|
||||
return _1_ok && test_int() ? colorGreen : colorRed;
|
||||
bool _0_ok = true;
|
||||
vec4 _1_x = vec4(6.0, 6.0, 7.0, 8.0);
|
||||
_0_ok = true;
|
||||
_1_x = vec4(7.0, 9.0, 9.0, 9.0);
|
||||
_0_ok = true;
|
||||
_1_x = vec4(9.0, 9.0, 10.0, 10.0);
|
||||
_0_ok = true;
|
||||
_1_x.xyz = vec3(6.0, 6.0, 6.0);
|
||||
_0_ok = _1_x == vec4(6.0, 6.0, 6.0, 10.0);
|
||||
_1_x.xy = vec2(3.0, 3.0);
|
||||
_0_ok = _0_ok && _1_x == vec4(3.0, 3.0, 6.0, 10.0);
|
||||
_1_x = vec4(6.0, 6.0, 6.0, 6.0);
|
||||
_1_x = vec4(6.0, 6.0, 7.0, 8.0);
|
||||
_1_x = vec4(-7.0, -9.0, -9.0, -9.0);
|
||||
_1_x = vec4(9.0, 9.0, 10.0, 10.0);
|
||||
_1_x.xyz = vec3(6.0, 6.0, 6.0);
|
||||
_0_ok = _0_ok && _1_x == vec4(6.0, 6.0, 6.0, 10.0);
|
||||
_1_x.xy = vec2(8.0, 8.0);
|
||||
_0_ok = _0_ok && _1_x == vec4(8.0, 8.0, 6.0, 10.0);
|
||||
_1_x = vec4(2.0, 1.0, 0.5, 0.25);
|
||||
_1_x = vec4(6.0, 6.0, 6.0, 6.0);
|
||||
float _2_unknown = unknownInput;
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(0.0);
|
||||
_1_x = vec4(0.0);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(0.0);
|
||||
_1_x = vec4(0.0);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(0.0);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_1_x += 1.0;
|
||||
_1_x -= 1.0;
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
_1_x = vec4(_2_unknown);
|
||||
_1_x = _1_x + 1.0;
|
||||
_1_x = _1_x - 1.0;
|
||||
_0_ok = _0_ok && _1_x == vec4(_2_unknown);
|
||||
return _0_ok && test_int() ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -52,51 +52,51 @@ bool test_int() {
|
||||
return ok;
|
||||
}
|
||||
vec4 main() {
|
||||
float _1_unknown = unknownInput;
|
||||
bool _2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = true;
|
||||
_2_ok = vec4(_1_unknown) == vec4(_1_unknown);
|
||||
_2_ok = _2_ok && vec4(_1_unknown) == vec4(_1_unknown);
|
||||
_2_ok = _2_ok && vec4(_1_unknown) == vec4(_1_unknown);
|
||||
_2_ok = _2_ok && vec4(_1_unknown) == vec4(_1_unknown);
|
||||
_2_ok = _2_ok && vec4(_1_unknown) == vec4(_1_unknown);
|
||||
vec4 _3_val = vec4(_1_unknown);
|
||||
_3_val += vec4(1.0);
|
||||
_3_val -= vec4(1.0);
|
||||
_3_val = _3_val + vec4(1.0);
|
||||
_3_val = _3_val - vec4(1.0);
|
||||
_2_ok = _2_ok && _3_val == vec4(_1_unknown);
|
||||
_3_val *= vec4(2.0);
|
||||
_3_val /= vec4(2.0);
|
||||
_3_val = _3_val * vec4(2.0);
|
||||
_3_val = _3_val / vec4(2.0);
|
||||
_2_ok = _2_ok && _3_val == vec4(_1_unknown);
|
||||
return _2_ok && test_int() ? colorGreen : colorRed;
|
||||
float _0_unknown = unknownInput;
|
||||
bool _1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = true;
|
||||
_1_ok = vec4(_0_unknown) == vec4(_0_unknown);
|
||||
_1_ok = _1_ok && vec4(_0_unknown) == vec4(_0_unknown);
|
||||
_1_ok = _1_ok && vec4(_0_unknown) == vec4(_0_unknown);
|
||||
_1_ok = _1_ok && vec4(_0_unknown) == vec4(_0_unknown);
|
||||
_1_ok = _1_ok && vec4(_0_unknown) == vec4(_0_unknown);
|
||||
vec4 _2_val = vec4(_0_unknown);
|
||||
_2_val += vec4(1.0);
|
||||
_2_val -= vec4(1.0);
|
||||
_2_val = _2_val + vec4(1.0);
|
||||
_2_val = _2_val - vec4(1.0);
|
||||
_1_ok = _1_ok && _2_val == vec4(_0_unknown);
|
||||
_2_val *= vec4(2.0);
|
||||
_2_val /= vec4(2.0);
|
||||
_2_val = _2_val * vec4(2.0);
|
||||
_2_val = _2_val / vec4(2.0);
|
||||
_1_ok = _1_ok && _2_val == vec4(_0_unknown);
|
||||
return _1_ok && test_int() ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform int value;
|
||||
void main() {
|
||||
vec4 _1_result = vec4(1.0);
|
||||
for (int _2_x = 0;_2_x < 5; ++_2_x) {
|
||||
if (_2_x == value) _1_result = vec4(0.5);
|
||||
vec4 _0_result = vec4(1.0);
|
||||
for (int _1_x = 0;_1_x < 5; ++_1_x) {
|
||||
if (_1_x == value) _0_result = vec4(0.5);
|
||||
}
|
||||
sk_FragColor = _1_result;
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
|
||||
out vec4 sk_FragColor;
|
||||
void main() {
|
||||
float _1_x = 1.0;
|
||||
_1_x *= 2.0;
|
||||
sk_FragColor.x = _1_x;
|
||||
float _0_x = 1.0;
|
||||
_0_x *= 2.0;
|
||||
sk_FragColor.x = _0_x;
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,43 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform float val;
|
||||
void main() {
|
||||
float _1_x = val;
|
||||
float _0_x = val;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
++_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
--_0_x;
|
||||
_0_x = 456.0;
|
||||
float _1_x = 456.0;
|
||||
++_1_x;
|
||||
++_1_x;
|
||||
++_1_x;
|
||||
@ -37,43 +73,7 @@ void main() {
|
||||
--_1_x;
|
||||
--_1_x;
|
||||
--_1_x;
|
||||
_1_x = 456.0;
|
||||
float _3_x = 456.0;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
++_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
--_3_x;
|
||||
_3_x = 123.0;
|
||||
_1_x = 123.0;
|
||||
sk_FragColor = vec4(123.0);
|
||||
|
||||
|
||||
|
@ -1,42 +1,42 @@
|
||||
|
||||
out vec4 sk_FragColor;
|
||||
void main() {
|
||||
float _2_y = 0.0;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
++_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
--_2_y;
|
||||
_2_y = 42.0;
|
||||
float _0_y = 0.0;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
++_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
--_0_y;
|
||||
_0_y = 42.0;
|
||||
|
||||
|
||||
sk_FragColor.x = 0.0;
|
||||
|
@ -2,9 +2,9 @@
|
||||
out vec4 sk_FragColor;
|
||||
in vec2 x;
|
||||
vec4 main() {
|
||||
vec2 _3_reusedName = x + vec2(1.0, 2.0);
|
||||
vec2 _5_reusedName = _3_reusedName + vec2(3.0, 4.0);
|
||||
vec2 _1_reusedName = x + vec2(1.0, 2.0);
|
||||
vec2 _2_reusedName = _1_reusedName + vec2(3.0, 4.0);
|
||||
|
||||
return _5_reusedName.xyxy;
|
||||
return _2_reusedName.xyxy;
|
||||
|
||||
}
|
||||
|
@ -16,14 +16,14 @@ vec3 _blend_set_color_luminance(vec3 hueSatColor, float alpha, vec3 lumColor) {
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
float maxComp = max(max(result.x, result.y), result.z);
|
||||
if (minComp < 0.0 && lum != minComp) {
|
||||
float _14_d = lum - minComp;
|
||||
result = lum + (result - lum) * (lum / _14_d);
|
||||
float _4_d = lum - minComp;
|
||||
result = lum + (result - lum) * (lum / _4_d);
|
||||
|
||||
}
|
||||
if (maxComp > alpha && maxComp != lum) {
|
||||
vec3 _16_n = (result - lum) * (alpha - lum);
|
||||
float _17_d = maxComp - lum;
|
||||
return lum + _16_n / _17_d;
|
||||
vec3 _5_n = (result - lum) * (alpha - lum);
|
||||
float _6_d = maxComp - lum;
|
||||
return lum + _5_n / _6_d;
|
||||
|
||||
} else {
|
||||
return result;
|
||||
@ -31,9 +31,9 @@ vec3 _blend_set_color_luminance(vec3 hueSatColor, float alpha, vec3 lumColor) {
|
||||
}
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
|
@ -9,14 +9,14 @@ vec3 _blend_set_color_luminance(vec3 hueSatColor, float alpha, vec3 lumColor) {
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
float maxComp = max(max(result.x, result.y), result.z);
|
||||
if (minComp < 0.0 && lum != minComp) {
|
||||
float _14_d = lum - minComp;
|
||||
result = lum + (result - lum) * (lum / _14_d);
|
||||
float _4_d = lum - minComp;
|
||||
result = lum + (result - lum) * (lum / _4_d);
|
||||
|
||||
}
|
||||
if (maxComp > alpha && maxComp != lum) {
|
||||
vec3 _16_n = (result - lum) * (alpha - lum);
|
||||
float _17_d = maxComp - lum;
|
||||
return lum + _16_n / _17_d;
|
||||
vec3 _5_n = (result - lum) * (alpha - lum);
|
||||
float _6_d = maxComp - lum;
|
||||
return lum + _5_n / _6_d;
|
||||
|
||||
} else {
|
||||
return result;
|
||||
@ -24,9 +24,9 @@ vec3 _blend_set_color_luminance(vec3 hueSatColor, float alpha, vec3 lumColor) {
|
||||
}
|
||||
vec3 _blend_set_color_saturation_helper(vec3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
float _19_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _20_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _19_n / _20_d, sat);
|
||||
float _7_n = sat * (minMidMax.y - minMidMax.x);
|
||||
float _8_d = minMidMax.z - minMidMax.x;
|
||||
return vec3(0.0, _7_n / _8_d, sat);
|
||||
|
||||
} else {
|
||||
return vec3(0.0);
|
||||
@ -58,9 +58,9 @@ vec4 blend_hue(vec4 src, vec4 dst) {
|
||||
return vec4((((_blend_set_color_luminance(_blend_set_color_saturation(sda, dsa), alpha, dsa) + dst.xyz) - dsa) + src.xyz) - sda, (src.w + dst.w) - alpha);
|
||||
}
|
||||
void main() {
|
||||
float _7_a = color.x * color.y;
|
||||
float _8_c = _7_a + color.z;
|
||||
sk_FragColor = vec4(_8_c);
|
||||
float _0_a = color.x * color.y;
|
||||
float _1_c = _0_a + color.z;
|
||||
sk_FragColor = vec4(_1_c);
|
||||
|
||||
|
||||
sk_FragColor *= 1.25;
|
||||
|
@ -2,11 +2,11 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform vec4 color;
|
||||
void main() {
|
||||
vec4 _1_c = color;
|
||||
vec4 _0_c = color;
|
||||
{
|
||||
vec4 _2_d = _1_c * 0.75;
|
||||
_1_c = _2_d;
|
||||
vec4 _1_d = _0_c * 0.75;
|
||||
_0_c = _1_d;
|
||||
}
|
||||
sk_FragColor = _1_c.xxxx;
|
||||
sk_FragColor = _0_c.xxxx;
|
||||
|
||||
}
|
||||
|
@ -2,23 +2,23 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform vec4 color;
|
||||
vec4 main() {
|
||||
float _9_a = color.x * color.y;
|
||||
float _10_c = _9_a + color.z;
|
||||
float a = _10_c;
|
||||
float _0_a = color.x * color.y;
|
||||
float _1_c = _0_a + color.z;
|
||||
float a = _1_c;
|
||||
|
||||
|
||||
float _12_a = color.y * color.z;
|
||||
float _13_c = _12_a + color.w;
|
||||
float b = _13_c;
|
||||
float _2_a = color.y * color.z;
|
||||
float _3_c = _2_a + color.w;
|
||||
float b = _3_c;
|
||||
|
||||
|
||||
float _15_a = color.z * color.w;
|
||||
float _16_c = _15_a + color.x;
|
||||
float c = _16_c;
|
||||
float _4_a = color.z * color.w;
|
||||
float _5_c = _4_a + color.x;
|
||||
float c = _5_c;
|
||||
|
||||
|
||||
float _19_b = b * c;
|
||||
return vec4(a, b, c * c, a * _19_b);
|
||||
float _6_b = b * c;
|
||||
return vec4(a, b, c * c, a * _6_b);
|
||||
|
||||
|
||||
|
||||
|
@ -8,11 +8,11 @@ struct Color {
|
||||
float alpha;
|
||||
};
|
||||
void main() {
|
||||
Color _1_c;
|
||||
_1_c.red = 0.25;
|
||||
_1_c.green = 0.5;
|
||||
_1_c.blue = 0.75;
|
||||
_1_c.alpha = 1.0;
|
||||
sk_FragColor = vec4(_1_c.red, _1_c.green, _1_c.blue, _1_c.alpha);
|
||||
Color _0_c;
|
||||
_0_c.red = 0.25;
|
||||
_0_c.green = 0.5;
|
||||
_0_c.blue = 0.75;
|
||||
_0_c.alpha = 1.0;
|
||||
sk_FragColor = vec4(_0_c.red, _0_c.green, _0_c.blue, _0_c.alpha);
|
||||
|
||||
}
|
||||
|
@ -2,15 +2,15 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform vec4 color;
|
||||
void main() {
|
||||
vec4 _1_result;
|
||||
vec4 _0_result;
|
||||
switch (int(color.x)) {
|
||||
case 1:
|
||||
_1_result = color.yyyy;
|
||||
_0_result = color.yyyy;
|
||||
break;
|
||||
default:
|
||||
_1_result = color.zzzz;
|
||||
_0_result = color.zzzz;
|
||||
break;
|
||||
}
|
||||
sk_FragColor = _1_result;
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform int value;
|
||||
void main() {
|
||||
vec4 _1_result = vec4(1.0);
|
||||
vec4 _0_result = vec4(1.0);
|
||||
switch (value) {
|
||||
case 0:
|
||||
_1_result = vec4(0.5);
|
||||
_0_result = vec4(0.5);
|
||||
}
|
||||
sk_FragColor = _1_result;
|
||||
sk_FragColor = _0_result;
|
||||
|
||||
}
|
||||
|
@ -4,23 +4,23 @@ uniform float u3[4];
|
||||
uniform float u4[16];
|
||||
float4 main()
|
||||
{
|
||||
float _2_sum = 0.0;
|
||||
for (int _3_i = 3;_3_i >= 0; --_3_i)
|
||||
float _0_sum = 0.0;
|
||||
for (int _1_i = 3;_1_i >= 0; --_1_i)
|
||||
{
|
||||
_2_sum += u2[_3_i];
|
||||
_0_sum += u2[_1_i];
|
||||
}
|
||||
float _5_prod = 1.0;
|
||||
for (int _6_i = 0;_6_i < 4; ++_6_i)
|
||||
float _2_prod = 1.0;
|
||||
for (int _3_i = 0;_3_i < 4; ++_3_i)
|
||||
{
|
||||
_5_prod *= u3[_6_i < 2 ? 0 : _6_i];
|
||||
_2_prod *= u3[_3_i < 2 ? 0 : _3_i];
|
||||
}
|
||||
float _8_sum = 0.0;
|
||||
for (float _9_f = -2.2999999523162842;_9_f < 17.0; _9_f += 3.7000000476837158)
|
||||
float _4_sum = 0.0;
|
||||
for (float _5_f = -2.2999999523162842;_5_f < 17.0; _5_f += 3.7000000476837158)
|
||||
{
|
||||
if (_9_f > 0.0 && _9_f < 16.0)
|
||||
if (_5_f > 0.0 && _5_f < 16.0)
|
||||
{
|
||||
_8_sum -= u4[int(_9_f)];
|
||||
_4_sum -= u4[int(_5_f)];
|
||||
}
|
||||
}
|
||||
return half4(float4(u1[0], _2_sum, _5_prod, _8_sum));
|
||||
return half4(float4(u1[0], _0_sum, _2_prod, _4_sum));
|
||||
}
|
||||
|
@ -11,28 +11,28 @@ float return_loop_0()
|
||||
}
|
||||
half4 main()
|
||||
{
|
||||
float _1_sum = 0.0;
|
||||
for (float _2_i = 0.0;_2_i < 10.0; ++_2_i)
|
||||
float _0_sum = 0.0;
|
||||
for (float _1_i = 0.0;_1_i < 10.0; ++_1_i)
|
||||
{
|
||||
if (_2_i < 5.0)
|
||||
if (_1_i < 5.0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
_1_sum += _2_i;
|
||||
_0_sum += _1_i;
|
||||
}
|
||||
float _4_sum = 0.0;
|
||||
for (float _5_i = 0.0;_5_i < 10.0; ++_5_i)
|
||||
float _2_sum = 0.0;
|
||||
for (float _3_i = 0.0;_3_i < 10.0; ++_3_i)
|
||||
{
|
||||
if (_5_i > 5.0)
|
||||
if (_3_i > 5.0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
_2_sum += _3_i;
|
||||
}
|
||||
float _4_sum = 0.0;
|
||||
for (float _5_i = 0.12300000339746475;_5_i < 0.60000002384185791; _5_i += 0.11100000143051147)
|
||||
{
|
||||
_4_sum += _5_i;
|
||||
}
|
||||
float _7_sum = 0.0;
|
||||
for (float _8_i = 0.12300000339746475;_8_i < 0.60000002384185791; _8_i += 0.11100000143051147)
|
||||
{
|
||||
_7_sum += _8_i;
|
||||
}
|
||||
return half4(half4(half(return_loop_0()), half(_1_sum), half(_4_sum), half(_7_sum)));
|
||||
return half4(half4(half(return_loop_0()), half(_0_sum), half(_2_sum), half(_4_sum)));
|
||||
}
|
||||
|
@ -11,23 +11,23 @@ int return_loop_0()
|
||||
}
|
||||
half4 main()
|
||||
{
|
||||
int _1_sum = 0;
|
||||
for (int _2_i = 0;_2_i < 10; ++_2_i)
|
||||
int _0_sum = 0;
|
||||
for (int _1_i = 0;_1_i < 10; ++_1_i)
|
||||
{
|
||||
if (_2_i < 5)
|
||||
if (_1_i < 5)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
_1_sum += _2_i;
|
||||
_0_sum += _1_i;
|
||||
}
|
||||
int _4_sum = 0;
|
||||
for (int _5_i = 0;_5_i < 10; ++_5_i)
|
||||
int _2_sum = 0;
|
||||
for (int _3_i = 0;_3_i < 10; ++_3_i)
|
||||
{
|
||||
if (_5_i > 5)
|
||||
if (_3_i > 5)
|
||||
{
|
||||
break;
|
||||
}
|
||||
_4_sum += _5_i;
|
||||
_2_sum += _3_i;
|
||||
}
|
||||
return half4(half4(half(return_loop_0()), half(_1_sum), half(_4_sum), 1.0));
|
||||
return half4(half4(half(return_loop_0()), half(_0_sum), half(_2_sum), 1.0));
|
||||
}
|
||||
|
@ -11,15 +11,15 @@ float index_clamped_out_of_bounds_0()
|
||||
}
|
||||
float4 main()
|
||||
{
|
||||
float _2_sum = 0.0;
|
||||
float _0_sum = 0.0;
|
||||
for (int _1_i = 0;_1_i < 4; ++_1_i)
|
||||
{
|
||||
_0_sum += u2[_1_i];
|
||||
}
|
||||
float _2_prod = 1.0;
|
||||
for (int _3_i = 0;_3_i < 4; ++_3_i)
|
||||
{
|
||||
_2_sum += u2[_3_i];
|
||||
_2_prod *= u3[_3_i < 2 ? 0 : _3_i];
|
||||
}
|
||||
float _5_prod = 1.0;
|
||||
for (int _6_i = 0;_6_i < 4; ++_6_i)
|
||||
{
|
||||
_5_prod *= u3[_6_i < 2 ? 0 : _6_i];
|
||||
}
|
||||
return half4(float4(u1.x, _2_sum, _5_prod, index_clamped_out_of_bounds_0()));
|
||||
return half4(float4(u1.x, _0_sum, _2_prod, index_clamped_out_of_bounds_0()));
|
||||
}
|
||||
|
@ -16,17 +16,17 @@ OpName %sk_Clockwise "sk_Clockwise"
|
||||
OpName %uTextureSampler_0_Stage1 "uTextureSampler_0_Stage1"
|
||||
OpName %vLocalCoord_Stage0 "vLocalCoord_Stage0"
|
||||
OpName %MatrixEffect_Stage1_c0_c0 "MatrixEffect_Stage1_c0_c0"
|
||||
OpName %_1_coords "_1_coords"
|
||||
OpName %_2_inCoord "_2_inCoord"
|
||||
OpName %_3_subsetCoord "_3_subsetCoord"
|
||||
OpName %_4_clampedCoord "_4_clampedCoord"
|
||||
OpName %_5_textureColor "_5_textureColor"
|
||||
OpName %_6_snappedX "_6_snappedX"
|
||||
OpName %_0_coords "_0_coords"
|
||||
OpName %_1_inCoord "_1_inCoord"
|
||||
OpName %_2_subsetCoord "_2_subsetCoord"
|
||||
OpName %_3_clampedCoord "_3_clampedCoord"
|
||||
OpName %_4_textureColor "_4_textureColor"
|
||||
OpName %_5_snappedX "_5_snappedX"
|
||||
OpName %main "main"
|
||||
OpName %output_Stage1 "output_Stage1"
|
||||
OpName %_8_output "_8_output"
|
||||
OpName %_9_coord "_9_coord"
|
||||
OpName %_10_coordSampled "_10_coordSampled"
|
||||
OpName %_6_output "_6_output"
|
||||
OpName %_7_coord "_7_coord"
|
||||
OpName %_8_coordSampled "_8_coordSampled"
|
||||
OpDecorate %_arr_v4float_int_7 ArrayStride 16
|
||||
OpMemberDecorate %uniformBuffer 0 Offset 0
|
||||
OpMemberDecorate %uniformBuffer 1 Offset 16
|
||||
@ -209,12 +209,12 @@ OpDecorate %497 RelaxedPrecision
|
||||
%29 = OpFunctionParameter %_ptr_Function_v4float
|
||||
%30 = OpFunctionParameter %_ptr_Function_v2float
|
||||
%31 = OpLabel
|
||||
%_1_coords = OpVariable %_ptr_Function_v2float Function
|
||||
%_2_inCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_3_subsetCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_4_clampedCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_5_textureColor = OpVariable %_ptr_Function_v4float Function
|
||||
%_6_snappedX = OpVariable %_ptr_Function_float Function
|
||||
%_0_coords = OpVariable %_ptr_Function_v2float Function
|
||||
%_1_inCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_2_subsetCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_3_clampedCoord = OpVariable %_ptr_Function_v2float Function
|
||||
%_4_textureColor = OpVariable %_ptr_Function_v4float Function
|
||||
%_5_snappedX = OpVariable %_ptr_Function_float Function
|
||||
%34 = OpAccessChain %_ptr_Uniform_mat3v3float %4 %int_3
|
||||
%36 = OpLoad %mat3v3float %34
|
||||
%37 = OpLoad %v2float %30
|
||||
@ -223,40 +223,40 @@ OpDecorate %497 RelaxedPrecision
|
||||
%41 = OpCompositeConstruct %v3float %38 %39 %float_1
|
||||
%42 = OpMatrixTimesVector %v3float %36 %41
|
||||
%43 = OpVectorShuffle %v2float %42 %42 0 1
|
||||
OpStore %_1_coords %43
|
||||
%45 = OpLoad %v2float %_1_coords
|
||||
OpStore %_2_inCoord %45
|
||||
%46 = OpLoad %v2float %_2_inCoord
|
||||
OpStore %_0_coords %43
|
||||
%45 = OpLoad %v2float %_0_coords
|
||||
OpStore %_1_inCoord %45
|
||||
%46 = OpLoad %v2float %_1_inCoord
|
||||
%48 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
|
||||
%50 = OpLoad %v4float %48
|
||||
%51 = OpVectorShuffle %v2float %50 %50 0 1
|
||||
%52 = OpFMul %v2float %46 %51
|
||||
OpStore %_2_inCoord %52
|
||||
%54 = OpLoad %v2float %_2_inCoord
|
||||
OpStore %_1_inCoord %52
|
||||
%54 = OpLoad %v2float %_1_inCoord
|
||||
%55 = OpCompositeExtract %float %54 0
|
||||
%56 = OpAccessChain %_ptr_Function_float %_3_subsetCoord %int_0
|
||||
%56 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_0
|
||||
OpStore %56 %55
|
||||
%59 = OpLoad %v2float %_2_inCoord
|
||||
%59 = OpLoad %v2float %_1_inCoord
|
||||
%60 = OpCompositeExtract %float %59 1
|
||||
%61 = OpAccessChain %_ptr_Function_float %_3_subsetCoord %int_1
|
||||
%61 = OpAccessChain %_ptr_Function_float %_2_subsetCoord %int_1
|
||||
OpStore %61 %60
|
||||
%64 = OpLoad %v2float %_3_subsetCoord
|
||||
OpStore %_4_clampedCoord %64
|
||||
%64 = OpLoad %v2float %_2_subsetCoord
|
||||
OpStore %_3_clampedCoord %64
|
||||
%67 = OpLoad %22 %uTextureSampler_0_Stage1
|
||||
%68 = OpLoad %v2float %_4_clampedCoord
|
||||
%68 = OpLoad %v2float %_3_clampedCoord
|
||||
%69 = OpAccessChain %_ptr_Uniform_v4float %4 %int_6
|
||||
%70 = OpLoad %v4float %69
|
||||
%71 = OpVectorShuffle %v2float %70 %70 2 3
|
||||
%72 = OpFMul %v2float %68 %71
|
||||
%66 = OpImageSampleImplicitLod %v4float %67 %72
|
||||
OpStore %_5_textureColor %66
|
||||
%75 = OpLoad %v2float %_2_inCoord
|
||||
OpStore %_4_textureColor %66
|
||||
%75 = OpLoad %v2float %_1_inCoord
|
||||
%76 = OpCompositeExtract %float %75 0
|
||||
%78 = OpFAdd %float %76 %float_0_00100000005
|
||||
%74 = OpExtInst %float %1 Floor %78
|
||||
%80 = OpFAdd %float %74 %float_0_5
|
||||
OpStore %_6_snappedX %80
|
||||
%82 = OpLoad %float %_6_snappedX
|
||||
OpStore %_5_snappedX %80
|
||||
%82 = OpLoad %float %_5_snappedX
|
||||
%84 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
|
||||
%85 = OpLoad %v4float %84
|
||||
%86 = OpCompositeExtract %float %85 0
|
||||
@ -264,7 +264,7 @@ OpStore %_6_snappedX %80
|
||||
OpSelectionMerge %89 None
|
||||
OpBranchConditional %87 %89 %88
|
||||
%88 = OpLabel
|
||||
%90 = OpLoad %float %_6_snappedX
|
||||
%90 = OpLoad %float %_5_snappedX
|
||||
%91 = OpAccessChain %_ptr_Uniform_v4float %4 %int_5
|
||||
%92 = OpLoad %v4float %91
|
||||
%93 = OpCompositeExtract %float %92 2
|
||||
@ -277,18 +277,18 @@ OpBranchConditional %95 %96 %97
|
||||
%96 = OpLabel
|
||||
%99 = OpAccessChain %_ptr_Uniform_v4float %4 %int_4
|
||||
%100 = OpLoad %v4float %99
|
||||
OpStore %_5_textureColor %100
|
||||
OpStore %_4_textureColor %100
|
||||
OpBranch %97
|
||||
%97 = OpLabel
|
||||
%101 = OpLoad %v4float %_5_textureColor
|
||||
%101 = OpLoad %v4float %_4_textureColor
|
||||
OpReturnValue %101
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %void None %103
|
||||
%104 = OpLabel
|
||||
%output_Stage1 = OpVariable %_ptr_Function_v4float Function
|
||||
%_8_output = OpVariable %_ptr_Function_v4float Function
|
||||
%_9_coord = OpVariable %_ptr_Function_v2float Function
|
||||
%_10_coordSampled = OpVariable %_ptr_Function_v2float Function
|
||||
%_6_output = OpVariable %_ptr_Function_v4float Function
|
||||
%_7_coord = OpVariable %_ptr_Function_v2float Function
|
||||
%_8_coordSampled = OpVariable %_ptr_Function_v2float Function
|
||||
%122 = OpVariable %_ptr_Function_v4float Function
|
||||
%124 = OpVariable %_ptr_Function_v2float Function
|
||||
%138 = OpVariable %_ptr_Function_v4float Function
|
||||
@ -339,19 +339,19 @@ OpFunctionEnd
|
||||
%470 = OpVariable %_ptr_Function_v2float Function
|
||||
%483 = OpVariable %_ptr_Function_v4float Function
|
||||
%485 = OpVariable %_ptr_Function_v2float Function
|
||||
OpStore %_8_output %108
|
||||
OpStore %_6_output %108
|
||||
%110 = OpLoad %v2float %vLocalCoord_Stage0
|
||||
%112 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%114 = OpLoad %v2float %112
|
||||
%115 = OpVectorTimesScalar %v2float %114 %float_12
|
||||
%116 = OpFSub %v2float %110 %115
|
||||
OpStore %_9_coord %116
|
||||
OpStore %_10_coordSampled %118
|
||||
%119 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %119
|
||||
%120 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %116
|
||||
OpStore %_8_coordSampled %118
|
||||
%119 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %119
|
||||
%120 = OpLoad %v4float %_6_output
|
||||
OpStore %122 %121
|
||||
%123 = OpLoad %v2float %_10_coordSampled
|
||||
%123 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %124 %123
|
||||
%125 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %122 %124
|
||||
%127 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
|
||||
@ -359,17 +359,17 @@ OpStore %124 %123
|
||||
%129 = OpCompositeExtract %float %128 0
|
||||
%130 = OpVectorTimesScalar %v4float %125 %129
|
||||
%131 = OpFAdd %v4float %120 %130
|
||||
OpStore %_8_output %131
|
||||
%132 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %131
|
||||
%132 = OpLoad %v2float %_7_coord
|
||||
%133 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%134 = OpLoad %v2float %133
|
||||
%135 = OpFAdd %v2float %132 %134
|
||||
OpStore %_9_coord %135
|
||||
%136 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %136
|
||||
%137 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %135
|
||||
%136 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %136
|
||||
%137 = OpLoad %v4float %_6_output
|
||||
OpStore %138 %121
|
||||
%139 = OpLoad %v2float %_10_coordSampled
|
||||
%139 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %140 %139
|
||||
%141 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %138 %140
|
||||
%142 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
|
||||
@ -377,17 +377,17 @@ OpStore %140 %139
|
||||
%144 = OpCompositeExtract %float %143 1
|
||||
%145 = OpVectorTimesScalar %v4float %141 %144
|
||||
%146 = OpFAdd %v4float %137 %145
|
||||
OpStore %_8_output %146
|
||||
%147 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %146
|
||||
%147 = OpLoad %v2float %_7_coord
|
||||
%148 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%149 = OpLoad %v2float %148
|
||||
%150 = OpFAdd %v2float %147 %149
|
||||
OpStore %_9_coord %150
|
||||
%151 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %151
|
||||
%152 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %150
|
||||
%151 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %151
|
||||
%152 = OpLoad %v4float %_6_output
|
||||
OpStore %153 %121
|
||||
%154 = OpLoad %v2float %_10_coordSampled
|
||||
%154 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %155 %154
|
||||
%156 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %153 %155
|
||||
%157 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
|
||||
@ -395,17 +395,17 @@ OpStore %155 %154
|
||||
%159 = OpCompositeExtract %float %158 2
|
||||
%160 = OpVectorTimesScalar %v4float %156 %159
|
||||
%161 = OpFAdd %v4float %152 %160
|
||||
OpStore %_8_output %161
|
||||
%162 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %161
|
||||
%162 = OpLoad %v2float %_7_coord
|
||||
%163 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%164 = OpLoad %v2float %163
|
||||
%165 = OpFAdd %v2float %162 %164
|
||||
OpStore %_9_coord %165
|
||||
%166 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %166
|
||||
%167 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %165
|
||||
%166 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %166
|
||||
%167 = OpLoad %v4float %_6_output
|
||||
OpStore %168 %121
|
||||
%169 = OpLoad %v2float %_10_coordSampled
|
||||
%169 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %170 %169
|
||||
%171 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %168 %170
|
||||
%172 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_0
|
||||
@ -413,17 +413,17 @@ OpStore %170 %169
|
||||
%174 = OpCompositeExtract %float %173 3
|
||||
%175 = OpVectorTimesScalar %v4float %171 %174
|
||||
%176 = OpFAdd %v4float %167 %175
|
||||
OpStore %_8_output %176
|
||||
%177 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %176
|
||||
%177 = OpLoad %v2float %_7_coord
|
||||
%178 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%179 = OpLoad %v2float %178
|
||||
%180 = OpFAdd %v2float %177 %179
|
||||
OpStore %_9_coord %180
|
||||
%181 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %181
|
||||
%182 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %180
|
||||
%181 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %181
|
||||
%182 = OpLoad %v4float %_6_output
|
||||
OpStore %183 %121
|
||||
%184 = OpLoad %v2float %_10_coordSampled
|
||||
%184 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %185 %184
|
||||
%186 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %183 %185
|
||||
%187 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
|
||||
@ -431,17 +431,17 @@ OpStore %185 %184
|
||||
%189 = OpCompositeExtract %float %188 0
|
||||
%190 = OpVectorTimesScalar %v4float %186 %189
|
||||
%191 = OpFAdd %v4float %182 %190
|
||||
OpStore %_8_output %191
|
||||
%192 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %191
|
||||
%192 = OpLoad %v2float %_7_coord
|
||||
%193 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%194 = OpLoad %v2float %193
|
||||
%195 = OpFAdd %v2float %192 %194
|
||||
OpStore %_9_coord %195
|
||||
%196 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %196
|
||||
%197 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %195
|
||||
%196 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %196
|
||||
%197 = OpLoad %v4float %_6_output
|
||||
OpStore %198 %121
|
||||
%199 = OpLoad %v2float %_10_coordSampled
|
||||
%199 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %200 %199
|
||||
%201 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %198 %200
|
||||
%202 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
|
||||
@ -449,17 +449,17 @@ OpStore %200 %199
|
||||
%204 = OpCompositeExtract %float %203 1
|
||||
%205 = OpVectorTimesScalar %v4float %201 %204
|
||||
%206 = OpFAdd %v4float %197 %205
|
||||
OpStore %_8_output %206
|
||||
%207 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %206
|
||||
%207 = OpLoad %v2float %_7_coord
|
||||
%208 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%209 = OpLoad %v2float %208
|
||||
%210 = OpFAdd %v2float %207 %209
|
||||
OpStore %_9_coord %210
|
||||
%211 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %211
|
||||
%212 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %210
|
||||
%211 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %211
|
||||
%212 = OpLoad %v4float %_6_output
|
||||
OpStore %213 %121
|
||||
%214 = OpLoad %v2float %_10_coordSampled
|
||||
%214 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %215 %214
|
||||
%216 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %213 %215
|
||||
%217 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
|
||||
@ -467,17 +467,17 @@ OpStore %215 %214
|
||||
%219 = OpCompositeExtract %float %218 2
|
||||
%220 = OpVectorTimesScalar %v4float %216 %219
|
||||
%221 = OpFAdd %v4float %212 %220
|
||||
OpStore %_8_output %221
|
||||
%222 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %221
|
||||
%222 = OpLoad %v2float %_7_coord
|
||||
%223 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%224 = OpLoad %v2float %223
|
||||
%225 = OpFAdd %v2float %222 %224
|
||||
OpStore %_9_coord %225
|
||||
%226 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %226
|
||||
%227 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %225
|
||||
%226 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %226
|
||||
%227 = OpLoad %v4float %_6_output
|
||||
OpStore %228 %121
|
||||
%229 = OpLoad %v2float %_10_coordSampled
|
||||
%229 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %230 %229
|
||||
%231 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %228 %230
|
||||
%232 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_1
|
||||
@ -485,17 +485,17 @@ OpStore %230 %229
|
||||
%234 = OpCompositeExtract %float %233 3
|
||||
%235 = OpVectorTimesScalar %v4float %231 %234
|
||||
%236 = OpFAdd %v4float %227 %235
|
||||
OpStore %_8_output %236
|
||||
%237 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %236
|
||||
%237 = OpLoad %v2float %_7_coord
|
||||
%238 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%239 = OpLoad %v2float %238
|
||||
%240 = OpFAdd %v2float %237 %239
|
||||
OpStore %_9_coord %240
|
||||
%241 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %241
|
||||
%242 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %240
|
||||
%241 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %241
|
||||
%242 = OpLoad %v4float %_6_output
|
||||
OpStore %243 %121
|
||||
%244 = OpLoad %v2float %_10_coordSampled
|
||||
%244 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %245 %244
|
||||
%246 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %243 %245
|
||||
%247 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
|
||||
@ -503,17 +503,17 @@ OpStore %245 %244
|
||||
%249 = OpCompositeExtract %float %248 0
|
||||
%250 = OpVectorTimesScalar %v4float %246 %249
|
||||
%251 = OpFAdd %v4float %242 %250
|
||||
OpStore %_8_output %251
|
||||
%252 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %251
|
||||
%252 = OpLoad %v2float %_7_coord
|
||||
%253 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%254 = OpLoad %v2float %253
|
||||
%255 = OpFAdd %v2float %252 %254
|
||||
OpStore %_9_coord %255
|
||||
%256 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %256
|
||||
%257 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %255
|
||||
%256 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %256
|
||||
%257 = OpLoad %v4float %_6_output
|
||||
OpStore %258 %121
|
||||
%259 = OpLoad %v2float %_10_coordSampled
|
||||
%259 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %260 %259
|
||||
%261 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %258 %260
|
||||
%262 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
|
||||
@ -521,17 +521,17 @@ OpStore %260 %259
|
||||
%264 = OpCompositeExtract %float %263 1
|
||||
%265 = OpVectorTimesScalar %v4float %261 %264
|
||||
%266 = OpFAdd %v4float %257 %265
|
||||
OpStore %_8_output %266
|
||||
%267 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %266
|
||||
%267 = OpLoad %v2float %_7_coord
|
||||
%268 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%269 = OpLoad %v2float %268
|
||||
%270 = OpFAdd %v2float %267 %269
|
||||
OpStore %_9_coord %270
|
||||
%271 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %271
|
||||
%272 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %270
|
||||
%271 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %271
|
||||
%272 = OpLoad %v4float %_6_output
|
||||
OpStore %273 %121
|
||||
%274 = OpLoad %v2float %_10_coordSampled
|
||||
%274 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %275 %274
|
||||
%276 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %273 %275
|
||||
%277 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
|
||||
@ -539,17 +539,17 @@ OpStore %275 %274
|
||||
%279 = OpCompositeExtract %float %278 2
|
||||
%280 = OpVectorTimesScalar %v4float %276 %279
|
||||
%281 = OpFAdd %v4float %272 %280
|
||||
OpStore %_8_output %281
|
||||
%282 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %281
|
||||
%282 = OpLoad %v2float %_7_coord
|
||||
%283 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%284 = OpLoad %v2float %283
|
||||
%285 = OpFAdd %v2float %282 %284
|
||||
OpStore %_9_coord %285
|
||||
%286 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %286
|
||||
%287 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %285
|
||||
%286 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %286
|
||||
%287 = OpLoad %v4float %_6_output
|
||||
OpStore %288 %121
|
||||
%289 = OpLoad %v2float %_10_coordSampled
|
||||
%289 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %290 %289
|
||||
%291 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %288 %290
|
||||
%292 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_2
|
||||
@ -557,17 +557,17 @@ OpStore %290 %289
|
||||
%294 = OpCompositeExtract %float %293 3
|
||||
%295 = OpVectorTimesScalar %v4float %291 %294
|
||||
%296 = OpFAdd %v4float %287 %295
|
||||
OpStore %_8_output %296
|
||||
%297 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %296
|
||||
%297 = OpLoad %v2float %_7_coord
|
||||
%298 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%299 = OpLoad %v2float %298
|
||||
%300 = OpFAdd %v2float %297 %299
|
||||
OpStore %_9_coord %300
|
||||
%301 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %301
|
||||
%302 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %300
|
||||
%301 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %301
|
||||
%302 = OpLoad %v4float %_6_output
|
||||
OpStore %303 %121
|
||||
%304 = OpLoad %v2float %_10_coordSampled
|
||||
%304 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %305 %304
|
||||
%306 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %303 %305
|
||||
%307 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
|
||||
@ -575,17 +575,17 @@ OpStore %305 %304
|
||||
%309 = OpCompositeExtract %float %308 0
|
||||
%310 = OpVectorTimesScalar %v4float %306 %309
|
||||
%311 = OpFAdd %v4float %302 %310
|
||||
OpStore %_8_output %311
|
||||
%312 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %311
|
||||
%312 = OpLoad %v2float %_7_coord
|
||||
%313 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%314 = OpLoad %v2float %313
|
||||
%315 = OpFAdd %v2float %312 %314
|
||||
OpStore %_9_coord %315
|
||||
%316 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %316
|
||||
%317 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %315
|
||||
%316 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %316
|
||||
%317 = OpLoad %v4float %_6_output
|
||||
OpStore %318 %121
|
||||
%319 = OpLoad %v2float %_10_coordSampled
|
||||
%319 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %320 %319
|
||||
%321 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %318 %320
|
||||
%322 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
|
||||
@ -593,17 +593,17 @@ OpStore %320 %319
|
||||
%324 = OpCompositeExtract %float %323 1
|
||||
%325 = OpVectorTimesScalar %v4float %321 %324
|
||||
%326 = OpFAdd %v4float %317 %325
|
||||
OpStore %_8_output %326
|
||||
%327 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %326
|
||||
%327 = OpLoad %v2float %_7_coord
|
||||
%328 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%329 = OpLoad %v2float %328
|
||||
%330 = OpFAdd %v2float %327 %329
|
||||
OpStore %_9_coord %330
|
||||
%331 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %331
|
||||
%332 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %330
|
||||
%331 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %331
|
||||
%332 = OpLoad %v4float %_6_output
|
||||
OpStore %333 %121
|
||||
%334 = OpLoad %v2float %_10_coordSampled
|
||||
%334 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %335 %334
|
||||
%336 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %333 %335
|
||||
%337 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
|
||||
@ -611,17 +611,17 @@ OpStore %335 %334
|
||||
%339 = OpCompositeExtract %float %338 2
|
||||
%340 = OpVectorTimesScalar %v4float %336 %339
|
||||
%341 = OpFAdd %v4float %332 %340
|
||||
OpStore %_8_output %341
|
||||
%342 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %341
|
||||
%342 = OpLoad %v2float %_7_coord
|
||||
%343 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%344 = OpLoad %v2float %343
|
||||
%345 = OpFAdd %v2float %342 %344
|
||||
OpStore %_9_coord %345
|
||||
%346 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %346
|
||||
%347 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %345
|
||||
%346 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %346
|
||||
%347 = OpLoad %v4float %_6_output
|
||||
OpStore %348 %121
|
||||
%349 = OpLoad %v2float %_10_coordSampled
|
||||
%349 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %350 %349
|
||||
%351 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %348 %350
|
||||
%352 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_3
|
||||
@ -629,17 +629,17 @@ OpStore %350 %349
|
||||
%354 = OpCompositeExtract %float %353 3
|
||||
%355 = OpVectorTimesScalar %v4float %351 %354
|
||||
%356 = OpFAdd %v4float %347 %355
|
||||
OpStore %_8_output %356
|
||||
%357 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %356
|
||||
%357 = OpLoad %v2float %_7_coord
|
||||
%358 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%359 = OpLoad %v2float %358
|
||||
%360 = OpFAdd %v2float %357 %359
|
||||
OpStore %_9_coord %360
|
||||
%361 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %361
|
||||
%362 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %360
|
||||
%361 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %361
|
||||
%362 = OpLoad %v4float %_6_output
|
||||
OpStore %363 %121
|
||||
%364 = OpLoad %v2float %_10_coordSampled
|
||||
%364 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %365 %364
|
||||
%366 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %363 %365
|
||||
%367 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
|
||||
@ -647,17 +647,17 @@ OpStore %365 %364
|
||||
%369 = OpCompositeExtract %float %368 0
|
||||
%370 = OpVectorTimesScalar %v4float %366 %369
|
||||
%371 = OpFAdd %v4float %362 %370
|
||||
OpStore %_8_output %371
|
||||
%372 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %371
|
||||
%372 = OpLoad %v2float %_7_coord
|
||||
%373 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%374 = OpLoad %v2float %373
|
||||
%375 = OpFAdd %v2float %372 %374
|
||||
OpStore %_9_coord %375
|
||||
%376 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %376
|
||||
%377 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %375
|
||||
%376 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %376
|
||||
%377 = OpLoad %v4float %_6_output
|
||||
OpStore %378 %121
|
||||
%379 = OpLoad %v2float %_10_coordSampled
|
||||
%379 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %380 %379
|
||||
%381 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %378 %380
|
||||
%382 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
|
||||
@ -665,17 +665,17 @@ OpStore %380 %379
|
||||
%384 = OpCompositeExtract %float %383 1
|
||||
%385 = OpVectorTimesScalar %v4float %381 %384
|
||||
%386 = OpFAdd %v4float %377 %385
|
||||
OpStore %_8_output %386
|
||||
%387 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %386
|
||||
%387 = OpLoad %v2float %_7_coord
|
||||
%388 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%389 = OpLoad %v2float %388
|
||||
%390 = OpFAdd %v2float %387 %389
|
||||
OpStore %_9_coord %390
|
||||
%391 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %391
|
||||
%392 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %390
|
||||
%391 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %391
|
||||
%392 = OpLoad %v4float %_6_output
|
||||
OpStore %393 %121
|
||||
%394 = OpLoad %v2float %_10_coordSampled
|
||||
%394 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %395 %394
|
||||
%396 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %393 %395
|
||||
%397 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
|
||||
@ -683,17 +683,17 @@ OpStore %395 %394
|
||||
%399 = OpCompositeExtract %float %398 2
|
||||
%400 = OpVectorTimesScalar %v4float %396 %399
|
||||
%401 = OpFAdd %v4float %392 %400
|
||||
OpStore %_8_output %401
|
||||
%402 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %401
|
||||
%402 = OpLoad %v2float %_7_coord
|
||||
%403 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%404 = OpLoad %v2float %403
|
||||
%405 = OpFAdd %v2float %402 %404
|
||||
OpStore %_9_coord %405
|
||||
%406 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %406
|
||||
%407 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %405
|
||||
%406 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %406
|
||||
%407 = OpLoad %v4float %_6_output
|
||||
OpStore %408 %121
|
||||
%409 = OpLoad %v2float %_10_coordSampled
|
||||
%409 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %410 %409
|
||||
%411 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %408 %410
|
||||
%412 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_4
|
||||
@ -701,17 +701,17 @@ OpStore %410 %409
|
||||
%414 = OpCompositeExtract %float %413 3
|
||||
%415 = OpVectorTimesScalar %v4float %411 %414
|
||||
%416 = OpFAdd %v4float %407 %415
|
||||
OpStore %_8_output %416
|
||||
%417 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %416
|
||||
%417 = OpLoad %v2float %_7_coord
|
||||
%418 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%419 = OpLoad %v2float %418
|
||||
%420 = OpFAdd %v2float %417 %419
|
||||
OpStore %_9_coord %420
|
||||
%421 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %421
|
||||
%422 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %420
|
||||
%421 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %421
|
||||
%422 = OpLoad %v4float %_6_output
|
||||
OpStore %423 %121
|
||||
%424 = OpLoad %v2float %_10_coordSampled
|
||||
%424 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %425 %424
|
||||
%426 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %423 %425
|
||||
%427 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
|
||||
@ -719,17 +719,17 @@ OpStore %425 %424
|
||||
%429 = OpCompositeExtract %float %428 0
|
||||
%430 = OpVectorTimesScalar %v4float %426 %429
|
||||
%431 = OpFAdd %v4float %422 %430
|
||||
OpStore %_8_output %431
|
||||
%432 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %431
|
||||
%432 = OpLoad %v2float %_7_coord
|
||||
%433 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%434 = OpLoad %v2float %433
|
||||
%435 = OpFAdd %v2float %432 %434
|
||||
OpStore %_9_coord %435
|
||||
%436 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %436
|
||||
%437 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %435
|
||||
%436 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %436
|
||||
%437 = OpLoad %v4float %_6_output
|
||||
OpStore %438 %121
|
||||
%439 = OpLoad %v2float %_10_coordSampled
|
||||
%439 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %440 %439
|
||||
%441 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %438 %440
|
||||
%442 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
|
||||
@ -737,17 +737,17 @@ OpStore %440 %439
|
||||
%444 = OpCompositeExtract %float %443 1
|
||||
%445 = OpVectorTimesScalar %v4float %441 %444
|
||||
%446 = OpFAdd %v4float %437 %445
|
||||
OpStore %_8_output %446
|
||||
%447 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %446
|
||||
%447 = OpLoad %v2float %_7_coord
|
||||
%448 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%449 = OpLoad %v2float %448
|
||||
%450 = OpFAdd %v2float %447 %449
|
||||
OpStore %_9_coord %450
|
||||
%451 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %451
|
||||
%452 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %450
|
||||
%451 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %451
|
||||
%452 = OpLoad %v4float %_6_output
|
||||
OpStore %453 %121
|
||||
%454 = OpLoad %v2float %_10_coordSampled
|
||||
%454 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %455 %454
|
||||
%456 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %453 %455
|
||||
%457 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
|
||||
@ -755,17 +755,17 @@ OpStore %455 %454
|
||||
%459 = OpCompositeExtract %float %458 2
|
||||
%460 = OpVectorTimesScalar %v4float %456 %459
|
||||
%461 = OpFAdd %v4float %452 %460
|
||||
OpStore %_8_output %461
|
||||
%462 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %461
|
||||
%462 = OpLoad %v2float %_7_coord
|
||||
%463 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%464 = OpLoad %v2float %463
|
||||
%465 = OpFAdd %v2float %462 %464
|
||||
OpStore %_9_coord %465
|
||||
%466 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %466
|
||||
%467 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %465
|
||||
%466 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %466
|
||||
%467 = OpLoad %v4float %_6_output
|
||||
OpStore %468 %121
|
||||
%469 = OpLoad %v2float %_10_coordSampled
|
||||
%469 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %470 %469
|
||||
%471 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %468 %470
|
||||
%472 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_5
|
||||
@ -773,17 +773,17 @@ OpStore %470 %469
|
||||
%474 = OpCompositeExtract %float %473 3
|
||||
%475 = OpVectorTimesScalar %v4float %471 %474
|
||||
%476 = OpFAdd %v4float %467 %475
|
||||
OpStore %_8_output %476
|
||||
%477 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %476
|
||||
%477 = OpLoad %v2float %_7_coord
|
||||
%478 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%479 = OpLoad %v2float %478
|
||||
%480 = OpFAdd %v2float %477 %479
|
||||
OpStore %_9_coord %480
|
||||
%481 = OpLoad %v2float %_9_coord
|
||||
OpStore %_10_coordSampled %481
|
||||
%482 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %480
|
||||
%481 = OpLoad %v2float %_7_coord
|
||||
OpStore %_8_coordSampled %481
|
||||
%482 = OpLoad %v4float %_6_output
|
||||
OpStore %483 %121
|
||||
%484 = OpLoad %v2float %_10_coordSampled
|
||||
%484 = OpLoad %v2float %_8_coordSampled
|
||||
OpStore %485 %484
|
||||
%486 = OpFunctionCall %v4float %MatrixEffect_Stage1_c0_c0 %483 %485
|
||||
%487 = OpAccessChain %_ptr_Uniform_v4float %4 %int_2 %int_6
|
||||
@ -791,13 +791,13 @@ OpStore %485 %484
|
||||
%489 = OpCompositeExtract %float %488 0
|
||||
%490 = OpVectorTimesScalar %v4float %486 %489
|
||||
%491 = OpFAdd %v4float %482 %490
|
||||
OpStore %_8_output %491
|
||||
%492 = OpLoad %v2float %_9_coord
|
||||
OpStore %_6_output %491
|
||||
%492 = OpLoad %v2float %_7_coord
|
||||
%493 = OpAccessChain %_ptr_Uniform_v2float %4 %int_1
|
||||
%494 = OpLoad %v2float %493
|
||||
%495 = OpFAdd %v2float %492 %494
|
||||
OpStore %_9_coord %495
|
||||
%496 = OpLoad %v4float %_8_output
|
||||
OpStore %_7_coord %495
|
||||
%496 = OpLoad %v4float %_6_output
|
||||
OpStore %output_Stage1 %496
|
||||
%497 = OpLoad %v4float %output_Stage1
|
||||
OpStore %sk_FragColor %497
|
||||
|
@ -12,104 +12,104 @@ layout (binding = 0) uniform uniformBuffer {
|
||||
};
|
||||
layout (location = 0) in vec2 vLocalCoord_Stage0;
|
||||
vec4 MatrixEffect_Stage1_c0_c0(vec4 _input, vec2 _coords) {
|
||||
vec2 _1_coords = (umatrix_Stage1_c0_c0 * vec3(_coords, 1.0)).xy;
|
||||
vec2 _2_inCoord = _1_coords;
|
||||
_2_inCoord *= unorm_Stage1_c0_c0_c0.xy;
|
||||
vec2 _3_subsetCoord;
|
||||
_3_subsetCoord.x = _2_inCoord.x;
|
||||
_3_subsetCoord.y = _2_inCoord.y;
|
||||
vec2 _4_clampedCoord;
|
||||
_4_clampedCoord = _3_subsetCoord;
|
||||
vec4 _5_textureColor = texture(uTextureSampler_0_Stage1, _4_clampedCoord * unorm_Stage1_c0_c0_c0.zw);
|
||||
float _6_snappedX = floor(_2_inCoord.x + 0.0010000000474974513) + 0.5;
|
||||
if (_6_snappedX < usubset_Stage1_c0_c0_c0.x || _6_snappedX > usubset_Stage1_c0_c0_c0.z) {
|
||||
_5_textureColor = uborder_Stage1_c0_c0_c0;
|
||||
vec2 _0_coords = (umatrix_Stage1_c0_c0 * vec3(_coords, 1.0)).xy;
|
||||
vec2 _1_inCoord = _0_coords;
|
||||
_1_inCoord *= unorm_Stage1_c0_c0_c0.xy;
|
||||
vec2 _2_subsetCoord;
|
||||
_2_subsetCoord.x = _1_inCoord.x;
|
||||
_2_subsetCoord.y = _1_inCoord.y;
|
||||
vec2 _3_clampedCoord;
|
||||
_3_clampedCoord = _2_subsetCoord;
|
||||
vec4 _4_textureColor = texture(uTextureSampler_0_Stage1, _3_clampedCoord * unorm_Stage1_c0_c0_c0.zw);
|
||||
float _5_snappedX = floor(_1_inCoord.x + 0.0010000000474974513) + 0.5;
|
||||
if (_5_snappedX < usubset_Stage1_c0_c0_c0.x || _5_snappedX > usubset_Stage1_c0_c0_c0.z) {
|
||||
_4_textureColor = uborder_Stage1_c0_c0_c0;
|
||||
}
|
||||
return _5_textureColor;
|
||||
return _4_textureColor;
|
||||
|
||||
}
|
||||
void main() {
|
||||
vec4 output_Stage1;
|
||||
vec4 _8_output;
|
||||
_8_output = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec2 _9_coord = vLocalCoord_Stage0 - 12.0 * uIncrement_Stage1_c0;
|
||||
vec2 _10_coordSampled = vec2(0.0, 0.0);
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[0].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[0].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[0].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[0].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[1].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[1].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[1].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[1].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[2].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[2].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[2].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[2].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[3].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[3].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[3].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[3].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[4].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[4].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[4].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[4].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[5].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[5].y;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[5].z;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[5].w;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _10_coordSampled) * uKernel_Stage1_c0[6].x;
|
||||
_9_coord += uIncrement_Stage1_c0;
|
||||
output_Stage1 = _8_output;
|
||||
vec4 _6_output;
|
||||
_6_output = vec4(0.0, 0.0, 0.0, 0.0);
|
||||
vec2 _7_coord = vLocalCoord_Stage0 - 12.0 * uIncrement_Stage1_c0;
|
||||
vec2 _8_coordSampled = vec2(0.0, 0.0);
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[0].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[0].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[0].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[0].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[1].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[1].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[1].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[1].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[2].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[2].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[2].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[2].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[3].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[3].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[3].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[3].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[4].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[4].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[4].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[4].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[5].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[5].y;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[5].z;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[5].w;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(vec4(1.0), _8_coordSampled) * uKernel_Stage1_c0[6].x;
|
||||
_7_coord += uIncrement_Stage1_c0;
|
||||
output_Stage1 = _6_output;
|
||||
|
||||
{
|
||||
sk_FragColor = output_Stage1;
|
||||
|
@ -25,20 +25,20 @@ struct Globals {
|
||||
|
||||
|
||||
float4 MatrixEffect_Stage1_c0_c0(thread Globals& _globals, float4 _input, float2 _coords) {
|
||||
float2 _1_coords = (_globals._anonInterface0->umatrix_Stage1_c0_c0 * float3(_coords, 1.0)).xy;
|
||||
float2 _2_inCoord = _1_coords;
|
||||
_2_inCoord *= _globals._anonInterface0->unorm_Stage1_c0_c0_c0.xy;
|
||||
float2 _3_subsetCoord;
|
||||
_3_subsetCoord.x = _2_inCoord.x;
|
||||
_3_subsetCoord.y = _2_inCoord.y;
|
||||
float2 _4_clampedCoord;
|
||||
_4_clampedCoord = _3_subsetCoord;
|
||||
float4 _5_textureColor = _globals.uTextureSampler_0_Stage1.sample(_globals.uTextureSampler_0_Stage1Smplr, _4_clampedCoord * _globals._anonInterface0->unorm_Stage1_c0_c0_c0.zw);
|
||||
float _6_snappedX = floor(_2_inCoord.x + 0.0010000000474974513) + 0.5;
|
||||
if (_6_snappedX < _globals._anonInterface0->usubset_Stage1_c0_c0_c0.x || _6_snappedX > _globals._anonInterface0->usubset_Stage1_c0_c0_c0.z) {
|
||||
_5_textureColor = _globals._anonInterface0->uborder_Stage1_c0_c0_c0;
|
||||
float2 _0_coords = (_globals._anonInterface0->umatrix_Stage1_c0_c0 * float3(_coords, 1.0)).xy;
|
||||
float2 _1_inCoord = _0_coords;
|
||||
_1_inCoord *= _globals._anonInterface0->unorm_Stage1_c0_c0_c0.xy;
|
||||
float2 _2_subsetCoord;
|
||||
_2_subsetCoord.x = _1_inCoord.x;
|
||||
_2_subsetCoord.y = _1_inCoord.y;
|
||||
float2 _3_clampedCoord;
|
||||
_3_clampedCoord = _2_subsetCoord;
|
||||
float4 _4_textureColor = _globals.uTextureSampler_0_Stage1.sample(_globals.uTextureSampler_0_Stage1Smplr, _3_clampedCoord * _globals._anonInterface0->unorm_Stage1_c0_c0_c0.zw);
|
||||
float _5_snappedX = floor(_1_inCoord.x + 0.0010000000474974513) + 0.5;
|
||||
if (_5_snappedX < _globals._anonInterface0->usubset_Stage1_c0_c0_c0.x || _5_snappedX > _globals._anonInterface0->usubset_Stage1_c0_c0_c0.z) {
|
||||
_4_textureColor = _globals._anonInterface0->uborder_Stage1_c0_c0_c0;
|
||||
}
|
||||
return _5_textureColor;
|
||||
return _4_textureColor;
|
||||
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], texture2d<float> uTextureSampler_0_Stage1[[texture(0)]], sampler uTextureSampler_0_Stage1Smplr[[sampler(0)]], constant uniformBuffer& _anonInterface0 [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
@ -47,86 +47,86 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], texture2d<float> uTexture
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 output_Stage1;
|
||||
float4 _8_output;
|
||||
_8_output = float4(0.0, 0.0, 0.0, 0.0);
|
||||
float2 _9_coord = _in.vLocalCoord_Stage0 - 12.0 * _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
float2 _10_coordSampled = float2(0.0, 0.0);
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].y;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].z;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].w;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_10_coordSampled = _9_coord;
|
||||
_8_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _10_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[6].x;
|
||||
_9_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
output_Stage1 = _8_output;
|
||||
float4 _6_output;
|
||||
_6_output = float4(0.0, 0.0, 0.0, 0.0);
|
||||
float2 _7_coord = _in.vLocalCoord_Stage0 - 12.0 * _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
float2 _8_coordSampled = float2(0.0, 0.0);
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, float4(1.0), _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[6].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
output_Stage1 = _6_output;
|
||||
|
||||
{
|
||||
_out.sk_FragColor = output_Stage1;
|
||||
|
@ -9,8 +9,8 @@ OpName %_UniformBuffer "_UniformBuffer"
|
||||
OpMemberName %_UniformBuffer 0 "colorGreen"
|
||||
OpName %_entrypoint "_entrypoint"
|
||||
OpName %main "main"
|
||||
OpName %_0_x "_0_x"
|
||||
OpName %_1_x "_1_x"
|
||||
OpName %_3_x "_3_x"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -55,35 +55,35 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %18
|
||||
%19 = OpLabel
|
||||
%_1_x = OpVariable %_ptr_Function_float Function
|
||||
%_3_x = OpVariable %_ptr_Function_v2float Function
|
||||
OpStore %_1_x %float_1
|
||||
%_0_x = OpVariable %_ptr_Function_float Function
|
||||
%_1_x = OpVariable %_ptr_Function_v2float Function
|
||||
OpStore %_0_x %float_1
|
||||
%23 = OpExtInst %float %1 Length %float_1
|
||||
OpStore %_1_x %23
|
||||
%25 = OpLoad %float %_1_x
|
||||
OpStore %_0_x %23
|
||||
%25 = OpLoad %float %_0_x
|
||||
%24 = OpExtInst %float %1 Distance %25 %float_2
|
||||
OpStore %_1_x %24
|
||||
%28 = OpLoad %float %_1_x
|
||||
OpStore %_0_x %24
|
||||
%28 = OpLoad %float %_0_x
|
||||
%27 = OpFMul %float %28 %float_2
|
||||
OpStore %_1_x %27
|
||||
%30 = OpLoad %float %_1_x
|
||||
OpStore %_0_x %27
|
||||
%30 = OpLoad %float %_0_x
|
||||
%29 = OpExtInst %float %1 Normalize %30
|
||||
OpStore %_1_x %29
|
||||
OpStore %_3_x %34
|
||||
OpStore %_0_x %29
|
||||
OpStore %_1_x %34
|
||||
%35 = OpExtInst %float %1 Length %34
|
||||
%36 = OpCompositeConstruct %v2float %35 %35
|
||||
OpStore %_3_x %36
|
||||
%38 = OpLoad %v2float %_3_x
|
||||
OpStore %_1_x %36
|
||||
%38 = OpLoad %v2float %_1_x
|
||||
%37 = OpExtInst %float %1 Distance %38 %41
|
||||
%42 = OpCompositeConstruct %v2float %37 %37
|
||||
OpStore %_3_x %42
|
||||
%44 = OpLoad %v2float %_3_x
|
||||
OpStore %_1_x %42
|
||||
%44 = OpLoad %v2float %_1_x
|
||||
%43 = OpDot %float %44 %41
|
||||
%45 = OpCompositeConstruct %v2float %43 %43
|
||||
OpStore %_3_x %45
|
||||
%47 = OpLoad %v2float %_3_x
|
||||
OpStore %_1_x %45
|
||||
%47 = OpLoad %v2float %_1_x
|
||||
%46 = OpExtInst %v2float %1 Normalize %47
|
||||
OpStore %_3_x %46
|
||||
OpStore %_1_x %46
|
||||
%48 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
|
||||
%52 = OpLoad %v4float %48
|
||||
OpReturnValue %52
|
||||
|
@ -2,17 +2,17 @@
|
||||
out vec4 sk_FragColor;
|
||||
uniform vec4 colorGreen;
|
||||
vec4 main() {
|
||||
float _1_x = 1.0;
|
||||
_1_x = length(1.0);
|
||||
_1_x = distance(_1_x, 2.0);
|
||||
_1_x = dot(_1_x, 2.0);
|
||||
_1_x = normalize(_1_x);
|
||||
float _0_x = 1.0;
|
||||
_0_x = length(1.0);
|
||||
_0_x = distance(_0_x, 2.0);
|
||||
_0_x = dot(_0_x, 2.0);
|
||||
_0_x = normalize(_0_x);
|
||||
|
||||
vec2 _3_x = vec2(1.0, 2.0);
|
||||
_3_x = vec2(length(vec2(1.0, 2.0)));
|
||||
_3_x = vec2(distance(_3_x, vec2(3.0, 4.0)));
|
||||
_3_x = vec2(dot(_3_x, vec2(3.0, 4.0)));
|
||||
_3_x = normalize(_3_x);
|
||||
vec2 _1_x = vec2(1.0, 2.0);
|
||||
_1_x = vec2(length(vec2(1.0, 2.0)));
|
||||
_1_x = vec2(distance(_1_x, vec2(3.0, 4.0)));
|
||||
_1_x = vec2(dot(_1_x, vec2(3.0, 4.0)));
|
||||
_1_x = normalize(_1_x);
|
||||
|
||||
return colorGreen;
|
||||
}
|
||||
|
@ -13,17 +13,17 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float _1_x = 1.0;
|
||||
_1_x = abs(1.0);
|
||||
_1_x = abs(_1_x - 2.0);
|
||||
_1_x = (_1_x * 2.0);
|
||||
_1_x = sign(_1_x);
|
||||
float _0_x = 1.0;
|
||||
_0_x = abs(1.0);
|
||||
_0_x = abs(_0_x - 2.0);
|
||||
_0_x = (_0_x * 2.0);
|
||||
_0_x = sign(_0_x);
|
||||
|
||||
float2 _3_x = float2(1.0, 2.0);
|
||||
_3_x = float2(length(float2(1.0, 2.0)));
|
||||
_3_x = float2(distance(_3_x, float2(3.0, 4.0)));
|
||||
_3_x = float2(dot(_3_x, float2(3.0, 4.0)));
|
||||
_3_x = normalize(_3_x);
|
||||
float2 _1_x = float2(1.0, 2.0);
|
||||
_1_x = float2(length(float2(1.0, 2.0)));
|
||||
_1_x = float2(distance(_1_x, float2(3.0, 4.0)));
|
||||
_1_x = float2(dot(_1_x, float2(3.0, 4.0)));
|
||||
_1_x = normalize(_1_x);
|
||||
|
||||
_out.sk_FragColor = _uniforms.colorGreen;
|
||||
return _out;
|
||||
|
@ -10,14 +10,14 @@ OpMemberName %_UniformBuffer 0 "colorGreen"
|
||||
OpMemberName %_UniformBuffer 1 "colorRed"
|
||||
OpName %_entrypoint "_entrypoint"
|
||||
OpName %main "main"
|
||||
OpName %_1_m3 "_1_m3"
|
||||
OpName %_2_m5 "_2_m5"
|
||||
OpName %_3_m6 "_3_m6"
|
||||
OpName %_4_m11 "_4_m11"
|
||||
OpName %_6_m3 "_6_m3"
|
||||
OpName %_7_m5 "_7_m5"
|
||||
OpName %_8_m6 "_8_m6"
|
||||
OpName %_9_m11 "_9_m11"
|
||||
OpName %_0_m3 "_0_m3"
|
||||
OpName %_1_m5 "_1_m5"
|
||||
OpName %_2_m6 "_2_m6"
|
||||
OpName %_3_m11 "_3_m11"
|
||||
OpName %_4_m3 "_4_m3"
|
||||
OpName %_5_m5 "_5_m5"
|
||||
OpName %_6_m6 "_6_m6"
|
||||
OpName %_7_m11 "_7_m11"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -100,26 +100,26 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %18
|
||||
%19 = OpLabel
|
||||
%_1_m3 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_2_m5 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_0_m3 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_1_m5 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%38 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_3_m6 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_4_m11 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%_6_m3 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_7_m5 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_2_m6 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_3_m11 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%_4_m3 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_5_m5 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%101 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_8_m6 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_9_m11 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%_6_m6 = OpVariable %_ptr_Function_mat2v2float Function
|
||||
%_7_m11 = OpVariable %_ptr_Function_mat4v4float Function
|
||||
%29 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%30 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%28 = OpCompositeConstruct %mat2v2float %29 %30
|
||||
OpStore %_1_m3 %28
|
||||
%31 = OpLoad %mat2v2float %_1_m3
|
||||
OpStore %_0_m3 %28
|
||||
%31 = OpLoad %mat2v2float %_0_m3
|
||||
%34 = OpCompositeConstruct %v2float %float_1 %float_0
|
||||
%35 = OpCompositeConstruct %v2float %float_0 %float_1
|
||||
%32 = OpCompositeConstruct %mat2v2float %34 %35
|
||||
%36 = OpMatrixTimesMatrix %mat2v2float %31 %32
|
||||
OpStore %_1_m3 %36
|
||||
OpStore %_0_m3 %36
|
||||
%40 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%41 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%39 = OpCompositeConstruct %mat2v2float %40 %41
|
||||
@ -130,13 +130,13 @@ OpStore %38 %39
|
||||
%49 = OpCompositeConstruct %v2float %47 %float_0
|
||||
%50 = OpCompositeConstruct %v2float %float_0 %47
|
||||
%48 = OpCompositeConstruct %mat2v2float %49 %50
|
||||
OpStore %_2_m5 %48
|
||||
OpStore %_1_m5 %48
|
||||
%53 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%54 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%52 = OpCompositeConstruct %mat2v2float %53 %54
|
||||
OpStore %_3_m6 %52
|
||||
%55 = OpLoad %mat2v2float %_3_m6
|
||||
%56 = OpLoad %mat2v2float %_2_m5
|
||||
OpStore %_2_m6 %52
|
||||
%55 = OpLoad %mat2v2float %_2_m6
|
||||
%56 = OpLoad %mat2v2float %_1_m5
|
||||
%57 = OpCompositeExtract %v2float %55 0
|
||||
%58 = OpCompositeExtract %v2float %56 0
|
||||
%59 = OpFAdd %v2float %57 %58
|
||||
@ -144,14 +144,14 @@ OpStore %_3_m6 %52
|
||||
%61 = OpCompositeExtract %v2float %56 1
|
||||
%62 = OpFAdd %v2float %60 %61
|
||||
%63 = OpCompositeConstruct %mat2v2float %59 %62
|
||||
OpStore %_3_m6 %63
|
||||
OpStore %_2_m6 %63
|
||||
%68 = OpCompositeConstruct %v4float %float_2 %float_0 %float_0 %float_0
|
||||
%69 = OpCompositeConstruct %v4float %float_0 %float_2 %float_0 %float_0
|
||||
%70 = OpCompositeConstruct %v4float %float_0 %float_0 %float_2 %float_0
|
||||
%71 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_2
|
||||
%67 = OpCompositeConstruct %mat4v4float %68 %69 %70 %71
|
||||
OpStore %_4_m11 %67
|
||||
%72 = OpLoad %mat4v4float %_4_m11
|
||||
OpStore %_3_m11 %67
|
||||
%72 = OpLoad %mat4v4float %_3_m11
|
||||
%74 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
|
||||
%75 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
|
||||
%76 = OpCompositeConstruct %v4float %float_0 %float_0 %float_1 %float_0
|
||||
@ -170,17 +170,17 @@ OpStore %_4_m11 %67
|
||||
%88 = OpCompositeExtract %v4float %73 3
|
||||
%89 = OpFSub %v4float %87 %88
|
||||
%90 = OpCompositeConstruct %mat4v4float %80 %83 %86 %89
|
||||
OpStore %_4_m11 %90
|
||||
OpStore %_3_m11 %90
|
||||
%93 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%94 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%92 = OpCompositeConstruct %mat2v2float %93 %94
|
||||
OpStore %_6_m3 %92
|
||||
%95 = OpLoad %mat2v2float %_6_m3
|
||||
OpStore %_4_m3 %92
|
||||
%95 = OpLoad %mat2v2float %_4_m3
|
||||
%97 = OpCompositeConstruct %v2float %float_1 %float_0
|
||||
%98 = OpCompositeConstruct %v2float %float_0 %float_1
|
||||
%96 = OpCompositeConstruct %mat2v2float %97 %98
|
||||
%99 = OpMatrixTimesMatrix %mat2v2float %95 %96
|
||||
OpStore %_6_m3 %99
|
||||
OpStore %_4_m3 %99
|
||||
%103 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%104 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%102 = OpCompositeConstruct %mat2v2float %103 %104
|
||||
@ -191,13 +191,13 @@ OpStore %101 %102
|
||||
%109 = OpCompositeConstruct %v2float %107 %float_0
|
||||
%110 = OpCompositeConstruct %v2float %float_0 %107
|
||||
%108 = OpCompositeConstruct %mat2v2float %109 %110
|
||||
OpStore %_7_m5 %108
|
||||
OpStore %_5_m5 %108
|
||||
%113 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
%114 = OpCompositeConstruct %v2float %float_3 %float_4
|
||||
%112 = OpCompositeConstruct %mat2v2float %113 %114
|
||||
OpStore %_8_m6 %112
|
||||
%115 = OpLoad %mat2v2float %_8_m6
|
||||
%116 = OpLoad %mat2v2float %_7_m5
|
||||
OpStore %_6_m6 %112
|
||||
%115 = OpLoad %mat2v2float %_6_m6
|
||||
%116 = OpLoad %mat2v2float %_5_m5
|
||||
%117 = OpCompositeExtract %v2float %115 0
|
||||
%118 = OpCompositeExtract %v2float %116 0
|
||||
%119 = OpFAdd %v2float %117 %118
|
||||
@ -205,14 +205,14 @@ OpStore %_8_m6 %112
|
||||
%121 = OpCompositeExtract %v2float %116 1
|
||||
%122 = OpFAdd %v2float %120 %121
|
||||
%123 = OpCompositeConstruct %mat2v2float %119 %122
|
||||
OpStore %_8_m6 %123
|
||||
OpStore %_6_m6 %123
|
||||
%126 = OpCompositeConstruct %v4float %float_2 %float_0 %float_0 %float_0
|
||||
%127 = OpCompositeConstruct %v4float %float_0 %float_2 %float_0 %float_0
|
||||
%128 = OpCompositeConstruct %v4float %float_0 %float_0 %float_2 %float_0
|
||||
%129 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_2
|
||||
%125 = OpCompositeConstruct %mat4v4float %126 %127 %128 %129
|
||||
OpStore %_9_m11 %125
|
||||
%130 = OpLoad %mat4v4float %_9_m11
|
||||
OpStore %_7_m11 %125
|
||||
%130 = OpLoad %mat4v4float %_7_m11
|
||||
%132 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
|
||||
%133 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
|
||||
%134 = OpCompositeConstruct %v4float %float_0 %float_0 %float_1 %float_0
|
||||
@ -231,7 +231,7 @@ OpStore %_9_m11 %125
|
||||
%146 = OpCompositeExtract %v4float %131 3
|
||||
%147 = OpFSub %v4float %145 %146
|
||||
%148 = OpCompositeConstruct %mat4v4float %138 %141 %144 %147
|
||||
OpStore %_9_m11 %148
|
||||
OpStore %_7_m11 %148
|
||||
%149 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
|
||||
%151 = OpLoad %v4float %149
|
||||
OpReturnValue %151
|
||||
|
@ -3,20 +3,20 @@ out vec4 sk_FragColor;
|
||||
uniform vec4 colorGreen;
|
||||
uniform vec4 colorRed;
|
||||
vec4 main() {
|
||||
mat2 _1_m3 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_1_m3 *= mat2(1.0);
|
||||
mat2 _2_m5 = mat2(mat2(1.0, 2.0, 3.0, 4.0)[0].x);
|
||||
mat2 _3_m6 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_3_m6 += _2_m5;
|
||||
mat4 _4_m11 = mat4(2.0);
|
||||
_4_m11 -= mat4(1.0);
|
||||
mat2 _6_m3 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_6_m3 *= mat2(1.0);
|
||||
mat2 _7_m5 = mat2(mat2(1.0, 2.0, 3.0, 4.0)[0].x);
|
||||
mat2 _8_m6 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_8_m6 += _7_m5;
|
||||
mat4 _9_m11 = mat4(2.0);
|
||||
_9_m11 -= mat4(1.0);
|
||||
mat2 _0_m3 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_0_m3 *= mat2(1.0);
|
||||
mat2 _1_m5 = mat2(mat2(1.0, 2.0, 3.0, 4.0)[0].x);
|
||||
mat2 _2_m6 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_2_m6 += _1_m5;
|
||||
mat4 _3_m11 = mat4(2.0);
|
||||
_3_m11 -= mat4(1.0);
|
||||
mat2 _4_m3 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_4_m3 *= mat2(1.0);
|
||||
mat2 _5_m5 = mat2(mat2(1.0, 2.0, 3.0, 4.0)[0].x);
|
||||
mat2 _6_m6 = mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_6_m6 += _5_m5;
|
||||
mat4 _7_m11 = mat4(2.0);
|
||||
_7_m11 -= mat4(1.0);
|
||||
return colorGreen;
|
||||
|
||||
|
||||
|
@ -19,20 +19,20 @@ thread float2x2& operator*=(thread float2x2& left, thread const float2x2& right)
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float2x2 _1_m3 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_1_m3 *= float2x2(1.0);
|
||||
float2x2 _2_m5 = float2x2(float2x2(float2(1.0, 2.0), float2(3.0, 4.0))[0].x);
|
||||
float2x2 _3_m6 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_3_m6 += _2_m5;
|
||||
float4x4 _4_m11 = float4x4(2.0);
|
||||
_4_m11 -= float4x4(1.0);
|
||||
float2x2 _6_m3 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_6_m3 *= float2x2(1.0);
|
||||
float2x2 _7_m5 = float2x2(float2x2(float2(1.0, 2.0), float2(3.0, 4.0))[0].x);
|
||||
float2x2 _8_m6 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_8_m6 += _7_m5;
|
||||
float4x4 _9_m11 = float4x4(2.0);
|
||||
_9_m11 -= float4x4(1.0);
|
||||
float2x2 _0_m3 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_0_m3 *= float2x2(1.0);
|
||||
float2x2 _1_m5 = float2x2(float2x2(float2(1.0, 2.0), float2(3.0, 4.0))[0].x);
|
||||
float2x2 _2_m6 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_2_m6 += _1_m5;
|
||||
float4x4 _3_m11 = float4x4(2.0);
|
||||
_3_m11 -= float4x4(1.0);
|
||||
float2x2 _4_m3 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_4_m3 *= float2x2(1.0);
|
||||
float2x2 _5_m5 = float2x2(float2x2(float2(1.0, 2.0), float2(3.0, 4.0))[0].x);
|
||||
float2x2 _6_m6 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_6_m6 += _5_m5;
|
||||
float4x4 _7_m11 = float4x4(2.0);
|
||||
_7_m11 -= float4x4(1.0);
|
||||
_out.sk_FragColor = _uniforms.colorGreen;
|
||||
return _out;
|
||||
|
||||
|
@ -3,18 +3,18 @@ out vec4 sk_FragColor;
|
||||
uniform vec4 colorGreen;
|
||||
uniform vec4 colorRed;
|
||||
vec4 main() {
|
||||
mat2 _1_m22 = mat3x2(32.0) * mat2x3(23.0);
|
||||
_1_m22 *= _1_m22;
|
||||
mat3 _2_m33 = mat4x3(44.0) * mat3x4(34.0);
|
||||
_2_m33 *= _2_m33;
|
||||
mat4 _3_m44 = mat2x4(24.0) * mat4x2(42.0);
|
||||
_3_m44 *= _3_m44;
|
||||
mat2 _5_m22 = mat3x2(32.0) * mat2x3(23.0);
|
||||
_5_m22 *= _5_m22;
|
||||
mat3 _6_m33 = mat4x3(44.0) * mat3x4(34.0);
|
||||
_6_m33 *= _6_m33;
|
||||
mat4 _7_m44 = mat2x4(24.0) * mat4x2(42.0);
|
||||
_7_m44 *= _7_m44;
|
||||
mat2 _0_m22 = mat3x2(32.0) * mat2x3(23.0);
|
||||
_0_m22 *= _0_m22;
|
||||
mat3 _1_m33 = mat4x3(44.0) * mat3x4(34.0);
|
||||
_1_m33 *= _1_m33;
|
||||
mat4 _2_m44 = mat2x4(24.0) * mat4x2(42.0);
|
||||
_2_m44 *= _2_m44;
|
||||
mat2 _3_m22 = mat3x2(32.0) * mat2x3(23.0);
|
||||
_3_m22 *= _3_m22;
|
||||
mat3 _4_m33 = mat4x3(44.0) * mat3x4(34.0);
|
||||
_4_m33 *= _4_m33;
|
||||
mat4 _5_m44 = mat2x4(24.0) * mat4x2(42.0);
|
||||
_5_m44 *= _5_m44;
|
||||
return colorGreen;
|
||||
|
||||
|
||||
|
@ -27,18 +27,18 @@ thread float4x4& operator*=(thread float4x4& left, thread const float4x4& right)
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float2x2 _1_m22 = float3x2(32.0) * float2x3(23.0);
|
||||
_1_m22 *= _1_m22;
|
||||
float3x3 _2_m33 = float4x3(44.0) * float3x4(34.0);
|
||||
_2_m33 *= _2_m33;
|
||||
float4x4 _3_m44 = float2x4(24.0) * float4x2(42.0);
|
||||
_3_m44 *= _3_m44;
|
||||
float2x2 _5_m22 = float3x2(32.0) * float2x3(23.0);
|
||||
_5_m22 *= _5_m22;
|
||||
float3x3 _6_m33 = float4x3(44.0) * float3x4(34.0);
|
||||
_6_m33 *= _6_m33;
|
||||
float4x4 _7_m44 = float2x4(24.0) * float4x2(42.0);
|
||||
_7_m44 *= _7_m44;
|
||||
float2x2 _0_m22 = float3x2(32.0) * float2x3(23.0);
|
||||
_0_m22 *= _0_m22;
|
||||
float3x3 _1_m33 = float4x3(44.0) * float3x4(34.0);
|
||||
_1_m33 *= _1_m33;
|
||||
float4x4 _2_m44 = float2x4(24.0) * float4x2(42.0);
|
||||
_2_m44 *= _2_m44;
|
||||
float2x2 _3_m22 = float3x2(32.0) * float2x3(23.0);
|
||||
_3_m22 *= _3_m22;
|
||||
float3x3 _4_m33 = float4x3(44.0) * float3x4(34.0);
|
||||
_4_m33 *= _4_m33;
|
||||
float4x4 _5_m44 = float2x4(24.0) * float4x2(42.0);
|
||||
_5_m44 *= _5_m44;
|
||||
_out.sk_FragColor = _uniforms.colorGreen;
|
||||
return _out;
|
||||
|
||||
|
@ -12,7 +12,7 @@ OpMemberName %_UniformBuffer 2 "testMatrix2x2"
|
||||
OpMemberName %_UniformBuffer 3 "testMatrix3x3"
|
||||
OpName %_entrypoint "_entrypoint"
|
||||
OpName %main "main"
|
||||
OpName %_1_ok "_1_ok"
|
||||
OpName %_0_ok "_0_ok"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -109,9 +109,9 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %22
|
||||
%23 = OpLabel
|
||||
%_1_ok = OpVariable %_ptr_Function_bool Function
|
||||
%_0_ok = OpVariable %_ptr_Function_bool Function
|
||||
%127 = OpVariable %_ptr_Function_v4float Function
|
||||
OpStore %_1_ok %true
|
||||
OpStore %_0_ok %true
|
||||
%27 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_2
|
||||
%31 = OpLoad %mat2v2float %27
|
||||
%37 = OpCompositeConstruct %v2float %float_1 %float_2
|
||||
@ -126,8 +126,8 @@ OpStore %_1_ok %true
|
||||
%46 = OpFOrdEqual %v2bool %44 %45
|
||||
%47 = OpAll %bool %46
|
||||
%48 = OpLogicalAnd %bool %43 %47
|
||||
OpStore %_1_ok %48
|
||||
%50 = OpLoad %bool %_1_ok
|
||||
OpStore %_0_ok %48
|
||||
%50 = OpLoad %bool %_0_ok
|
||||
OpSelectionMerge %52 None
|
||||
OpBranchConditional %50 %51 %52
|
||||
%51 = OpLabel
|
||||
@ -154,8 +154,8 @@ OpBranchConditional %50 %51 %52
|
||||
OpBranch %52
|
||||
%52 = OpLabel
|
||||
%81 = OpPhi %bool %false %23 %80 %51
|
||||
OpStore %_1_ok %81
|
||||
%82 = OpLoad %bool %_1_ok
|
||||
OpStore %_0_ok %81
|
||||
%82 = OpLoad %bool %_0_ok
|
||||
OpSelectionMerge %84 None
|
||||
OpBranchConditional %82 %83 %84
|
||||
%83 = OpLabel
|
||||
@ -176,8 +176,8 @@ OpBranchConditional %82 %83 %84
|
||||
OpBranch %84
|
||||
%84 = OpLabel
|
||||
%101 = OpPhi %bool %false %52 %100 %83
|
||||
OpStore %_1_ok %101
|
||||
%102 = OpLoad %bool %_1_ok
|
||||
OpStore %_0_ok %101
|
||||
%102 = OpLoad %bool %_0_ok
|
||||
OpSelectionMerge %104 None
|
||||
OpBranchConditional %102 %103 %104
|
||||
%103 = OpLabel
|
||||
@ -204,8 +204,8 @@ OpBranchConditional %102 %103 %104
|
||||
OpBranch %104
|
||||
%104 = OpLabel
|
||||
%125 = OpPhi %bool %false %84 %124 %103
|
||||
OpStore %_1_ok %125
|
||||
%126 = OpLoad %bool %_1_ok
|
||||
OpStore %_0_ok %125
|
||||
%126 = OpLoad %bool %_0_ok
|
||||
OpSelectionMerge %131 None
|
||||
OpBranchConditional %126 %129 %130
|
||||
%129 = OpLabel
|
||||
|
@ -5,11 +5,11 @@ uniform vec4 colorRed;
|
||||
uniform mat2 testMatrix2x2;
|
||||
uniform mat3 testMatrix3x3;
|
||||
vec4 main() {
|
||||
bool _1_ok = true;
|
||||
_1_ok = testMatrix2x2 == mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_1_ok = _1_ok && testMatrix3x3 == mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
|
||||
_1_ok = _1_ok && testMatrix2x2 != mat2(100.0);
|
||||
_1_ok = _1_ok && testMatrix3x3 != mat3(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0);
|
||||
return _1_ok ? colorGreen : colorRed;
|
||||
bool _0_ok = true;
|
||||
_0_ok = testMatrix2x2 == mat2(1.0, 2.0, 3.0, 4.0);
|
||||
_0_ok = _0_ok && testMatrix3x3 == mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
|
||||
_0_ok = _0_ok && testMatrix2x2 != mat2(100.0);
|
||||
_0_ok = _0_ok && testMatrix3x3 != mat3(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0);
|
||||
return _0_ok ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -31,12 +31,12 @@ thread bool operator!=(const float3x3 left, const float3x3 right) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
bool _1_ok = true;
|
||||
_1_ok = _uniforms.testMatrix2x2 == float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_1_ok = _1_ok && _uniforms.testMatrix3x3 == float3x3(float3(1.0, 2.0, 3.0), float3(4.0, 5.0, 6.0), float3(7.0, 8.0, 9.0));
|
||||
_1_ok = _1_ok && _uniforms.testMatrix2x2 != float2x2(100.0);
|
||||
_1_ok = _1_ok && _uniforms.testMatrix3x3 != float3x3(float3(9.0, 8.0, 7.0), float3(6.0, 5.0, 4.0), float3(3.0, 2.0, 1.0));
|
||||
_out.sk_FragColor = _1_ok ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
bool _0_ok = true;
|
||||
_0_ok = _uniforms.testMatrix2x2 == float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
_0_ok = _0_ok && _uniforms.testMatrix3x3 == float3x3(float3(1.0, 2.0, 3.0), float3(4.0, 5.0, 6.0), float3(7.0, 8.0, 9.0));
|
||||
_0_ok = _0_ok && _uniforms.testMatrix2x2 != float2x2(100.0);
|
||||
_0_ok = _0_ok && _uniforms.testMatrix3x3 != float3x3(float3(9.0, 8.0, 7.0), float3(6.0, 5.0, 4.0), float3(3.0, 2.0, 1.0));
|
||||
_out.sk_FragColor = _0_ok ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ OpName %_entrypoint "_entrypoint"
|
||||
OpName %test_int "test_int"
|
||||
OpName %result "result"
|
||||
OpName %main "main"
|
||||
OpName %_1_result "_1_result"
|
||||
OpName %_0_result "_0_result"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -89,25 +89,25 @@ OpReturnValue %45
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %46
|
||||
%47 = OpLabel
|
||||
%_1_result = OpVariable %_ptr_Function_v4float Function
|
||||
%_0_result = OpVariable %_ptr_Function_v4float Function
|
||||
%74 = OpVariable %_ptr_Function_v4float Function
|
||||
%51 = OpAccessChain %_ptr_Function_float %_1_result %int_0
|
||||
%51 = OpAccessChain %_ptr_Function_float %_0_result %int_0
|
||||
OpStore %51 %float_1
|
||||
%53 = OpAccessChain %_ptr_Function_float %_1_result %int_1
|
||||
%53 = OpAccessChain %_ptr_Function_float %_0_result %int_1
|
||||
OpStore %53 %float_1
|
||||
%54 = OpAccessChain %_ptr_Function_float %_1_result %int_2
|
||||
%54 = OpAccessChain %_ptr_Function_float %_0_result %int_2
|
||||
OpStore %54 %float_1
|
||||
%55 = OpAccessChain %_ptr_Function_float %_1_result %int_3
|
||||
%55 = OpAccessChain %_ptr_Function_float %_0_result %int_3
|
||||
OpStore %55 %float_1
|
||||
%57 = OpLoad %v4float %_1_result
|
||||
%57 = OpLoad %v4float %_0_result
|
||||
%58 = OpCompositeExtract %float %57 0
|
||||
%59 = OpLoad %v4float %_1_result
|
||||
%59 = OpLoad %v4float %_0_result
|
||||
%60 = OpCompositeExtract %float %59 1
|
||||
%61 = OpFMul %float %58 %60
|
||||
%62 = OpLoad %v4float %_1_result
|
||||
%62 = OpLoad %v4float %_0_result
|
||||
%63 = OpCompositeExtract %float %62 2
|
||||
%64 = OpFMul %float %61 %63
|
||||
%65 = OpLoad %v4float %_1_result
|
||||
%65 = OpLoad %v4float %_0_result
|
||||
%66 = OpCompositeExtract %float %65 3
|
||||
%67 = OpFMul %float %64 %66
|
||||
%68 = OpFUnordNotEqual %bool %67 %float_0
|
||||
|
@ -11,11 +11,11 @@ bool test_int() {
|
||||
return bool(((result.x * result.y) * result.z) * result.w);
|
||||
}
|
||||
vec4 main() {
|
||||
vec4 _1_result;
|
||||
_1_result.x = 1.0;
|
||||
_1_result.y = 1.0;
|
||||
_1_result.z = 1.0;
|
||||
_1_result.w = 1.0;
|
||||
return bool(((_1_result.x * _1_result.y) * _1_result.z) * _1_result.w) && test_int() ? colorGreen : colorRed;
|
||||
vec4 _0_result;
|
||||
_0_result.x = 1.0;
|
||||
_0_result.y = 1.0;
|
||||
_0_result.z = 1.0;
|
||||
_0_result.w = 1.0;
|
||||
return bool(((_0_result.x * _0_result.y) * _0_result.z) * _0_result.w) && test_int() ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -23,12 +23,12 @@ bool test_int() {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_result;
|
||||
_1_result.x = 1.0;
|
||||
_1_result.y = 1.0;
|
||||
_1_result.z = 1.0;
|
||||
_1_result.w = 1.0;
|
||||
_out.sk_FragColor = bool(((_1_result.x * _1_result.y) * _1_result.z) * _1_result.w) && test_int() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
float4 _0_result;
|
||||
_0_result.x = 1.0;
|
||||
_0_result.y = 1.0;
|
||||
_0_result.z = 1.0;
|
||||
_0_result.w = 1.0;
|
||||
_out.sk_FragColor = bool(((_0_result.x * _0_result.y) * _0_result.z) * _0_result.w) && test_int() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
||||
}
|
||||
|
@ -11,11 +11,11 @@ OpMemberName %_UniformBuffer 1 "colorGreen"
|
||||
OpMemberName %_UniformBuffer 2 "colorRed"
|
||||
OpName %_entrypoint "_entrypoint"
|
||||
OpName %main "main"
|
||||
OpName %_1_v "_1_v"
|
||||
OpName %_2_x "_2_x"
|
||||
OpName %_3_y "_3_y"
|
||||
OpName %_4_z "_4_z"
|
||||
OpName %_5_w "_5_w"
|
||||
OpName %_0_v "_0_v"
|
||||
OpName %_1_x "_1_x"
|
||||
OpName %_2_y "_2_y"
|
||||
OpName %_3_z "_3_z"
|
||||
OpName %_4_w "_4_w"
|
||||
OpName %a "a"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
@ -78,32 +78,32 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %18
|
||||
%19 = OpLabel
|
||||
%_1_v = OpVariable %_ptr_Function_v4float Function
|
||||
%_2_x = OpVariable %_ptr_Function_float Function
|
||||
%_3_y = OpVariable %_ptr_Function_float Function
|
||||
%_4_z = OpVariable %_ptr_Function_float Function
|
||||
%_5_w = OpVariable %_ptr_Function_float Function
|
||||
%_0_v = OpVariable %_ptr_Function_v4float Function
|
||||
%_1_x = OpVariable %_ptr_Function_float Function
|
||||
%_2_y = OpVariable %_ptr_Function_float Function
|
||||
%_3_z = OpVariable %_ptr_Function_float Function
|
||||
%_4_w = OpVariable %_ptr_Function_float Function
|
||||
%a = OpVariable %_ptr_Function_v4float Function
|
||||
%55 = OpVariable %_ptr_Function_v4float Function
|
||||
%22 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
|
||||
%26 = OpLoad %v4float %22
|
||||
OpStore %_1_v %26
|
||||
%29 = OpLoad %v4float %_1_v
|
||||
OpStore %_0_v %26
|
||||
%29 = OpLoad %v4float %_0_v
|
||||
%30 = OpCompositeExtract %float %29 0
|
||||
OpStore %_2_x %30
|
||||
%32 = OpLoad %v4float %_1_v
|
||||
OpStore %_1_x %30
|
||||
%32 = OpLoad %v4float %_0_v
|
||||
%33 = OpCompositeExtract %float %32 1
|
||||
OpStore %_3_y %33
|
||||
%35 = OpLoad %v4float %_1_v
|
||||
OpStore %_2_y %33
|
||||
%35 = OpLoad %v4float %_0_v
|
||||
%36 = OpCompositeExtract %float %35 2
|
||||
OpStore %_4_z %36
|
||||
%38 = OpLoad %v4float %_1_v
|
||||
OpStore %_3_z %36
|
||||
%38 = OpLoad %v4float %_0_v
|
||||
%39 = OpCompositeExtract %float %38 3
|
||||
OpStore %_5_w %39
|
||||
%41 = OpLoad %float %_2_x
|
||||
%42 = OpLoad %float %_3_y
|
||||
%43 = OpLoad %float %_4_z
|
||||
%44 = OpLoad %float %_5_w
|
||||
OpStore %_4_w %39
|
||||
%41 = OpLoad %float %_1_x
|
||||
%42 = OpLoad %float %_2_y
|
||||
%43 = OpLoad %float %_3_z
|
||||
%44 = OpLoad %float %_4_w
|
||||
%45 = OpCompositeConstruct %v4float %41 %42 %43 %44
|
||||
OpStore %a %45
|
||||
%46 = OpLoad %v4float %a
|
||||
|
@ -4,12 +4,12 @@ uniform vec4 testInputs;
|
||||
uniform vec4 colorGreen;
|
||||
uniform vec4 colorRed;
|
||||
vec4 main() {
|
||||
vec4 _1_v = testInputs;
|
||||
float _2_x = _1_v.x;
|
||||
float _3_y = _1_v.y;
|
||||
float _4_z = _1_v.z;
|
||||
float _5_w = _1_v.w;
|
||||
vec4 a = vec4(_2_x, _3_y, _4_z, _5_w);
|
||||
vec4 _0_v = testInputs;
|
||||
float _1_x = _0_v.x;
|
||||
float _2_y = _0_v.y;
|
||||
float _3_z = _0_v.z;
|
||||
float _4_w = _0_v.w;
|
||||
vec4 a = vec4(_1_x, _2_y, _3_z, _4_w);
|
||||
|
||||
return a == vec4(-1.25, 0.0, 0.75, 2.25) ? colorGreen : colorRed;
|
||||
}
|
||||
|
@ -17,12 +17,12 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_v = _uniforms.testInputs;
|
||||
float _2_x = _1_v.x;
|
||||
float _3_y = _1_v.y;
|
||||
float _4_z = _1_v.z;
|
||||
float _5_w = _1_v.w;
|
||||
float4 a = float4(_2_x, _3_y, _4_z, _5_w);
|
||||
float4 _0_v = _uniforms.testInputs;
|
||||
float _1_x = _0_v.x;
|
||||
float _2_y = _0_v.y;
|
||||
float _3_z = _0_v.z;
|
||||
float _4_w = _0_v.w;
|
||||
float4 a = float4(_1_x, _2_y, _3_z, _4_w);
|
||||
|
||||
_out.sk_FragColor = all(a == float4(-1.25, 0.0, 0.75, 2.25)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
@ -12,12 +12,12 @@ OpMemberName %_UniformBuffer 2 "colorGreen"
|
||||
OpMemberName %_UniformBuffer 3 "colorRed"
|
||||
OpName %_entrypoint "_entrypoint"
|
||||
OpName %main "main"
|
||||
OpName %_1_v "_1_v"
|
||||
OpName %_2_i "_2_i"
|
||||
OpName %_3_x "_3_x"
|
||||
OpName %_4_y "_4_y"
|
||||
OpName %_5_z "_5_z"
|
||||
OpName %_6_w "_6_w"
|
||||
OpName %_0_v "_0_v"
|
||||
OpName %_1_i "_1_i"
|
||||
OpName %_2_x "_2_x"
|
||||
OpName %_3_y "_3_y"
|
||||
OpName %_4_z "_4_z"
|
||||
OpName %_5_w "_5_w"
|
||||
OpDecorate %sk_FragColor RelaxedPrecision
|
||||
OpDecorate %sk_FragColor Location 0
|
||||
OpDecorate %sk_FragColor Index 0
|
||||
@ -82,16 +82,16 @@ OpReturn
|
||||
OpFunctionEnd
|
||||
%main = OpFunction %v4float None %18
|
||||
%19 = OpLabel
|
||||
%_1_v = OpVariable %_ptr_Function_v4float Function
|
||||
%_2_i = OpVariable %_ptr_Function_v4int Function
|
||||
%_3_x = OpVariable %_ptr_Function_float Function
|
||||
%_4_y = OpVariable %_ptr_Function_float Function
|
||||
%_5_z = OpVariable %_ptr_Function_float Function
|
||||
%_6_w = OpVariable %_ptr_Function_float Function
|
||||
%_0_v = OpVariable %_ptr_Function_v4float Function
|
||||
%_1_i = OpVariable %_ptr_Function_v4int Function
|
||||
%_2_x = OpVariable %_ptr_Function_float Function
|
||||
%_3_y = OpVariable %_ptr_Function_float Function
|
||||
%_4_z = OpVariable %_ptr_Function_float Function
|
||||
%_5_w = OpVariable %_ptr_Function_float Function
|
||||
%74 = OpVariable %_ptr_Function_v4float Function
|
||||
%22 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
|
||||
%26 = OpLoad %v4float %22
|
||||
OpStore %_1_v %26
|
||||
OpStore %_0_v %26
|
||||
%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
|
||||
%32 = OpLoad %v4float %30
|
||||
%33 = OpCompositeExtract %float %32 0
|
||||
@ -103,31 +103,31 @@ OpStore %_1_v %26
|
||||
%39 = OpCompositeExtract %float %32 3
|
||||
%40 = OpConvertFToS %int %39
|
||||
%41 = OpCompositeConstruct %v4int %34 %36 %38 %40
|
||||
OpStore %_2_i %41
|
||||
%44 = OpLoad %v4float %_1_v
|
||||
%45 = OpLoad %v4int %_2_i
|
||||
OpStore %_1_i %41
|
||||
%44 = OpLoad %v4float %_0_v
|
||||
%45 = OpLoad %v4int %_1_i
|
||||
%46 = OpCompositeExtract %int %45 0
|
||||
%47 = OpVectorExtractDynamic %float %44 %46
|
||||
OpStore %_3_x %47
|
||||
%49 = OpLoad %v4float %_1_v
|
||||
%50 = OpLoad %v4int %_2_i
|
||||
OpStore %_2_x %47
|
||||
%49 = OpLoad %v4float %_0_v
|
||||
%50 = OpLoad %v4int %_1_i
|
||||
%51 = OpCompositeExtract %int %50 1
|
||||
%52 = OpVectorExtractDynamic %float %49 %51
|
||||
OpStore %_4_y %52
|
||||
%54 = OpLoad %v4float %_1_v
|
||||
%55 = OpLoad %v4int %_2_i
|
||||
OpStore %_3_y %52
|
||||
%54 = OpLoad %v4float %_0_v
|
||||
%55 = OpLoad %v4int %_1_i
|
||||
%56 = OpCompositeExtract %int %55 2
|
||||
%57 = OpVectorExtractDynamic %float %54 %56
|
||||
OpStore %_5_z %57
|
||||
%59 = OpLoad %v4float %_1_v
|
||||
%60 = OpLoad %v4int %_2_i
|
||||
OpStore %_4_z %57
|
||||
%59 = OpLoad %v4float %_0_v
|
||||
%60 = OpLoad %v4int %_1_i
|
||||
%61 = OpCompositeExtract %int %60 3
|
||||
%62 = OpVectorExtractDynamic %float %59 %61
|
||||
OpStore %_6_w %62
|
||||
%63 = OpLoad %float %_3_x
|
||||
%64 = OpLoad %float %_4_y
|
||||
%65 = OpLoad %float %_5_z
|
||||
%66 = OpLoad %float %_6_w
|
||||
OpStore %_5_w %62
|
||||
%63 = OpLoad %float %_2_x
|
||||
%64 = OpLoad %float %_3_y
|
||||
%65 = OpLoad %float %_4_z
|
||||
%66 = OpLoad %float %_5_w
|
||||
%67 = OpCompositeConstruct %v4float %63 %64 %65 %66
|
||||
%71 = OpFOrdEqual %v4bool %67 %70
|
||||
%73 = OpAll %bool %71
|
||||
|
@ -5,12 +5,12 @@ uniform vec4 colorBlack;
|
||||
uniform vec4 colorGreen;
|
||||
uniform vec4 colorRed;
|
||||
vec4 main() {
|
||||
vec4 _1_v = testInputs;
|
||||
ivec4 _2_i = ivec4(colorBlack);
|
||||
float _3_x = _1_v[_2_i.x];
|
||||
float _4_y = _1_v[_2_i.y];
|
||||
float _5_z = _1_v[_2_i.z];
|
||||
float _6_w = _1_v[_2_i.w];
|
||||
return vec4(_3_x, _4_y, _5_z, _6_w) == vec4(-1.25, -1.25, -1.25, 0.0) ? colorGreen : colorRed;
|
||||
vec4 _0_v = testInputs;
|
||||
ivec4 _1_i = ivec4(colorBlack);
|
||||
float _2_x = _0_v[_1_i.x];
|
||||
float _3_y = _0_v[_1_i.y];
|
||||
float _4_z = _0_v[_1_i.z];
|
||||
float _5_w = _0_v[_1_i.w];
|
||||
return vec4(_2_x, _3_y, _4_z, _5_w) == vec4(-1.25, -1.25, -1.25, 0.0) ? colorGreen : colorRed;
|
||||
|
||||
}
|
||||
|
@ -19,13 +19,13 @@ struct Outputs {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _1_v = _uniforms.testInputs;
|
||||
int4 _2_i = int4(_uniforms.colorBlack);
|
||||
float _3_x = _1_v[_2_i.x];
|
||||
float _4_y = _1_v[_2_i.y];
|
||||
float _5_z = _1_v[_2_i.z];
|
||||
float _6_w = _1_v[_2_i.w];
|
||||
_out.sk_FragColor = all(float4(_3_x, _4_y, _5_z, _6_w) == float4(-1.25, -1.25, -1.25, 0.0)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
float4 _0_v = _uniforms.testInputs;
|
||||
int4 _1_i = int4(_uniforms.colorBlack);
|
||||
float _2_x = _0_v[_1_i.x];
|
||||
float _3_y = _0_v[_1_i.y];
|
||||
float _4_z = _0_v[_1_i.z];
|
||||
float _5_w = _0_v[_1_i.w];
|
||||
_out.sk_FragColor = all(float4(_2_x, _3_y, _4_z, _5_w) == float4(-1.25, -1.25, -1.25, 0.0)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
||||
}
|
||||
|
@ -10,8 +10,8 @@ float _color_dodge_component(vec2 s, vec2 d) {
|
||||
if (delta == 0.0) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _4_n = d.x * s.y;
|
||||
delta = min(d.y, _4_n / (delta + 9.9999999392252903e-09));
|
||||
float _0_n = d.x * s.y;
|
||||
delta = min(d.y, _0_n / (delta + 9.9999999392252903e-09));
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
@ -23,24 +23,24 @@ float _color_burn_component(vec2 s, vec2 d) {
|
||||
} else if (s.x == 0.0) {
|
||||
return d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _6_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _6_n / (s.x + 9.9999999392252903e-09));
|
||||
float _1_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _1_n / (s.x + 9.9999999392252903e-09));
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
}
|
||||
float _soft_light_component(vec2 s, vec2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
float _8_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_8_n / (d.y + 9.9999999392252903e-09) + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
float _2_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_2_n / (d.y + 9.9999999392252903e-09) + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
float DSqd = d.x * d.x;
|
||||
float DCub = DSqd * d.x;
|
||||
float DaSqd = d.y * d.y;
|
||||
float DaCub = DaSqd * d.y;
|
||||
float _10_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _10_n / (DaSqd + 9.9999999392252903e-09);
|
||||
float _3_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _3_n / (DaSqd + 9.9999999392252903e-09);
|
||||
|
||||
} else {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
|
@ -10,8 +10,8 @@ float _color_dodge_component(vec2 s, vec2 d) {
|
||||
if (delta == 0.0) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _4_n = d.x * s.y;
|
||||
delta = min(d.y, _4_n / delta);
|
||||
float _0_n = d.x * s.y;
|
||||
delta = min(d.y, _0_n / delta);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
@ -23,24 +23,24 @@ float _color_burn_component(vec2 s, vec2 d) {
|
||||
} else if (s.x == 0.0) {
|
||||
return d.x * (1.0 - s.y);
|
||||
} else {
|
||||
float _6_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _6_n / s.x);
|
||||
float _1_n = (d.y - d.x) * s.y;
|
||||
float delta = max(0.0, d.y - _1_n / s.x);
|
||||
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
}
|
||||
float _soft_light_component(vec2 s, vec2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
float _8_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_8_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
float _2_n = (d.x * d.x) * (s.y - 2.0 * s.x);
|
||||
return (_2_n / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
float DSqd = d.x * d.x;
|
||||
float DCub = DSqd * d.x;
|
||||
float DaSqd = d.y * d.y;
|
||||
float DaCub = DaSqd * d.y;
|
||||
float _10_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _10_n / DaSqd;
|
||||
float _3_n = ((DaSqd * (s.x - d.x * ((3.0 * s.y - 6.0 * s.x) - 1.0)) + ((12.0 * d.y) * DSqd) * (s.y - 2.0 * s.x)) - (16.0 * DCub) * (s.y - 2.0 * s.x)) - DaCub * s.x;
|
||||
return _3_n / DaSqd;
|
||||
|
||||
} else {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
|
Loading…
Reference in New Issue
Block a user