skia2/tests/sksl/shared/golden/IntFolding.metal
John Stiles 8bc1a72cba Add unit test to demonstrate error with modulo in FP files.
(This CL also adds modulo to the IntFolding shared test, since this was
absent from the test. It's implemented and working properly already.)

Change-Id: I24a947ab38754bff2624cd5b58cf7a39553ca888
Bug: skia:10870
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/330596
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>
2020-10-29 20:46:08 +00:00

51 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 _outputStruct;
thread Outputs* _out = &_outputStruct;
_out->sk_FragColor.x = 34.0;
_out->sk_FragColor.x = 30.0;
_out->sk_FragColor.x = 64.0;
_out->sk_FragColor.x = 16.0;
_out->sk_FragColor.x = 14.0;
_out->sk_FragColor.x = 6.0;
_out->sk_FragColor.x = 5.0;
_out->sk_FragColor.x = 16.0;
_out->sk_FragColor.x = 32.0;
_out->sk_FragColor.x = 33.0;
_out->sk_FragColor.x = 1.0;
_out->sk_FragColor.x = -2.0;
_out->sk_FragColor.x = 3.0;
_out->sk_FragColor.x = -4.0;
_out->sk_FragColor.x = 5.0;
_out->sk_FragColor.x = -6.0;
_out->sk_FragColor.x = 7.0;
_out->sk_FragColor.x = -8.0;
_out->sk_FragColor.x = 9.0;
_out->sk_FragColor.x = -10.0;
_out->sk_FragColor.x = 11.0;
_out->sk_FragColor.x = -12.0;
_out->sk_FragColor.x = float(int(sqrt(1.0)));
_out->sk_FragColor.x = float(int(sqrt(2.0)));
_out->sk_FragColor.x = float(int(sqrt(3.0)));
_out->sk_FragColor.x = 0.0;
_out->sk_FragColor.x = float(int(sqrt(5.0)));
_out->sk_FragColor.x = float(int(sqrt(6.0)));
_out->sk_FragColor.x = 0.0;
_out->sk_FragColor.x = float(int(sqrt(8.0)));
_out->sk_FragColor.x = 0.0;
int x = int(sqrt(2.0));
x += 1;
x -= 1;
x *= 2;
x /= 2;
_out->sk_FragColor.x = float(x);
return *_out;
}