skia2/tests/sksl/shared/golden/SwizzleByIndex.glsl
John Stiles bf282c05e5 Replace array indexing on vector types with swizzles.
Our optimizer ignores index expressions, but has a few simplifications
that it can perform on swizzles. (Added extra code to SwizzleByIndex
which demonstrates this.)

Change-Id: If3c85a0456d98749008d796e422944b602ee6933
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-07 21:16:40 +00:00

28 lines
610 B
GLSL

out vec4 sk_FragColor;
void main() {
{
ivec4 _0_i = ivec4(int(sqrt(1.0)));
vec4 _1_v = vec4(sqrt(1.0));
float _2_x = _1_v[_0_i.x];
float _3_y = _1_v[_0_i.y];
float _4_z = _1_v[_0_i.z];
float _5_w = _1_v[_0_i.w];
sk_FragColor = vec4(_2_x, _3_y, _4_z, _5_w);
}
{
vec4 _6_v = vec4(sqrt(1.0));
float _7_x = _6_v.x;
float _8_y = _6_v.y;
float _9_z = _6_v.z;
float _10_w = _6_v.w;
sk_FragColor = vec4(_7_x, _8_y, _9_z, _10_w);
}
{
sk_FragColor = vec4(2.0, 2.0, 2.0, 2.0);
}
}