blob: 451fc473118947917e287d616e0c7dc57c80c810 [file] [log] [blame]
Michael Ludwigbf58add2021-03-16 10:40:11 -04001#include <metal_stdlib>
2#include <simd/simd.h>
3using namespace metal;
Brian Osman8c595fe2021-03-15 14:58:57 -04004struct Uniforms {
John Stiles4e249482021-08-13 11:43:21 -04005 float4 testInputs;
6 float4 colorGreen;
7 float4 colorRed;
John Stiles5f675be2020-12-09 16:19:37 -05008};
Brian Osman8c595fe2021-03-15 14:58:57 -04009struct Inputs {
10};
John Stiles5f675be2020-12-09 16:19:37 -050011struct Outputs {
12 float4 sk_FragColor [[color(0)]];
13};
John Stiles4e249482021-08-13 11:43:21 -040014fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
John Stilesf7410bd2021-01-19 13:07:55 -050015 Outputs _out;
John Stiles37279172021-01-21 22:24:28 -050016 (void)_out;
John Stiles4e249482021-08-13 11:43:21 -040017 float4 expected = float4(0.0);
18 _out.sk_FragColor = ((dfdx(_uniforms.testInputs.x) == expected.x && all(dfdx(_uniforms.testInputs.xy) == expected.xy)) && all(dfdx(_uniforms.testInputs.xyz) == expected.xyz)) && all(dfdx(_uniforms.testInputs) == expected) ? _uniforms.colorGreen : _uniforms.colorRed;
John Stilesf7410bd2021-01-19 13:07:55 -050019 return _out;
John Stiles5f675be2020-12-09 16:19:37 -050020}