Michael Ludwig | bf58add | 2021-03-16 10:40:11 -0400 | [diff] [blame] | 1 | #include <metal_stdlib> |
| 2 | #include <simd/simd.h> |
| 3 | using namespace metal; |
Brian Osman | 8c595fe | 2021-03-15 14:58:57 -0400 | [diff] [blame] | 4 | struct Uniforms { |
John Stiles | 4e24948 | 2021-08-13 11:43:21 -0400 | [diff] [blame^] | 5 | float4 testInputs; |
| 6 | float4 colorGreen; |
| 7 | float4 colorRed; |
John Stiles | 5f675be | 2020-12-09 16:19:37 -0500 | [diff] [blame] | 8 | }; |
Brian Osman | 8c595fe | 2021-03-15 14:58:57 -0400 | [diff] [blame] | 9 | struct Inputs { |
| 10 | }; |
John Stiles | 5f675be | 2020-12-09 16:19:37 -0500 | [diff] [blame] | 11 | struct Outputs { |
| 12 | float4 sk_FragColor [[color(0)]]; |
| 13 | }; |
John Stiles | 4e24948 | 2021-08-13 11:43:21 -0400 | [diff] [blame^] | 14 | fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { |
John Stiles | f7410bd | 2021-01-19 13:07:55 -0500 | [diff] [blame] | 15 | Outputs _out; |
John Stiles | 3727917 | 2021-01-21 22:24:28 -0500 | [diff] [blame] | 16 | (void)_out; |
John Stiles | 4e24948 | 2021-08-13 11:43:21 -0400 | [diff] [blame^] | 17 | 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 Stiles | f7410bd | 2021-01-19 13:07:55 -0500 | [diff] [blame] | 19 | return _out; |
John Stiles | 5f675be | 2020-12-09 16:19:37 -0500 | [diff] [blame] | 20 | } |