2de947e780
This test fell into disrepair when constant propagation was removed; it assumed that @if and @switch would work on all unchanging variables, not just those with the `const` modifier. Change-Id: Ie9c1816f9c0852fdea998e4e156047e4cca9ad5b Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395000 Commit-Queue: John Stiles <johnstiles@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
66 lines
1.6 KiB
Metal
66 lines
1.6 KiB
Metal
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
using namespace metal;
|
|
struct Inputs {
|
|
};
|
|
struct Outputs {
|
|
float4 sk_FragColor [[color(0)]];
|
|
};
|
|
fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
|
Outputs _out;
|
|
(void)_out;
|
|
{
|
|
_out.sk_FragColor = float4(1.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(2.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(6.0);
|
|
}
|
|
_out.sk_FragColor = float4(7.0);
|
|
_out.sk_FragColor = float4(-8.0);
|
|
_out.sk_FragColor = float4(-9.0);
|
|
_out.sk_FragColor = float4(10.0);
|
|
{
|
|
_out.sk_FragColor = float4(11.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(13.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(15.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(16.0);
|
|
}
|
|
{
|
|
_out.sk_FragColor = float4(18.0);
|
|
}
|
|
_out.sk_FragColor = float4(19.0);
|
|
_out.sk_FragColor = float4(20.0);
|
|
{
|
|
_out.sk_FragColor = float4(21.0);
|
|
}
|
|
int f = 1;
|
|
if (f == 1) {
|
|
_out.sk_FragColor = float4(1.0);
|
|
}
|
|
if (f != 1) {
|
|
_out.sk_FragColor = float4(4.0);
|
|
}
|
|
_out.sk_FragColor = f == 0 ? float4(7.0) : float4(-7.0);
|
|
_out.sk_FragColor = f != 0 ? float4(8.0) : float4(-8.0);
|
|
_out.sk_FragColor = f == 1 ? float4(9.0) : float4(-9.0);
|
|
_out.sk_FragColor = f != 1 ? float4(10.0) : float4(-10.0);
|
|
switch (f) {
|
|
case 0:
|
|
_out.sk_FragColor = float4(11.0);
|
|
break;
|
|
case 1:
|
|
_out.sk_FragColor = float4(12.0);
|
|
break;
|
|
}
|
|
return _out;
|
|
}
|