SPIRV-Cross/reference/shaders-msl/frag/binary-unpack-pack-arguments.frag
Hans-Kristian Arntzen 192a882df3 Also unpack regular unary/binary operations on MSL.
Apparently MSL gets confused when you have packed_float3 op float3 ...
2018-06-11 16:23:09 +02:00

29 lines
431 B
GLSL

#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct UBO
{
packed_float3 color;
float v;
};
struct main0_in
{
float3 vIn [[user(locn0)]];
};
struct main0_out
{
float3 FragColor [[color(0)]];
};
fragment main0_out main0(main0_in in [[stage_in]], constant UBO& _15 [[buffer(0)]])
{
main0_out out = {};
out.FragColor = cross(in.vIn, float3(_15.color) - in.vIn);
return out;
}