From 58262986979ba11fa6a49d8e98e9dc0fc55c158a Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Wed, 14 Apr 2021 13:51:55 +0200 Subject: MSL: Handle CullDistance better. --- .../shaders-msl/frag/cull-distance-varying.frag | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 reference/opt/shaders-msl/frag/cull-distance-varying.frag (limited to 'reference/opt/shaders-msl') diff --git a/reference/opt/shaders-msl/frag/cull-distance-varying.frag b/reference/opt/shaders-msl/frag/cull-distance-varying.frag new file mode 100644 index 00000000..ddde8e1d --- /dev/null +++ b/reference/opt/shaders-msl/frag/cull-distance-varying.frag @@ -0,0 +1,26 @@ +#include +#include + +using namespace metal; + +struct main0_out +{ + float4 FragColor [[color(0)]]; +}; + +struct main0_in +{ + float gl_CullDistance_0 [[user(cull0)]]; + float gl_CullDistance_1 [[user(cull1)]]; +}; + +fragment main0_out main0(main0_in in [[stage_in]]) +{ + main0_out out = {}; + float gl_CullDistance[2] = {}; + gl_CullDistance[0] = in.gl_CullDistance_0; + gl_CullDistance[1] = in.gl_CullDistance_1; + out.FragColor = float4((1.0 - gl_CullDistance[0]) - gl_CullDistance[1]); + return out; +} + -- cgit v1.2.3