diff options
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/frag/mix.frag')
-rw-r--r-- | 3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/frag/mix.frag | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/frag/mix.frag b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/frag/mix.frag new file mode 100644 index 00000000000..ee28bf92616 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/frag/mix.frag @@ -0,0 +1,30 @@ +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +struct main0_out +{ + float4 FragColor [[color(0)]]; +}; + +struct main0_in +{ + float4 vIn0 [[user(locn0)]]; + float4 vIn1 [[user(locn1)]]; + float vIn2 [[user(locn2)]]; + float vIn3 [[user(locn3)]]; +}; + +fragment main0_out main0(main0_in in [[stage_in]]) +{ + main0_out out = {}; + bool4 l = bool4(false, true, false, false); + out.FragColor = select(in.vIn0, in.vIn1, l); + bool f = true; + out.FragColor = float4(f ? in.vIn3 : in.vIn2); + out.FragColor = select(in.vIn1, in.vIn0, bool4(f)); + out.FragColor = float4(f ? in.vIn2 : in.vIn3); + return out; +} + |