SPIRV-Cross/reference/opt/shaders-msl/frag/binary-func-unpack-pack-arguments.frag
Hans-Kristian Arntzen b86bd0a265 Unpack expressions when used in functions on MSL.
OSX 10.14 broke (?) how overload resolution works,
so overloading e.g. dot(float3, packed_float3) no longer works.

Fix this by unpacking expressions before various func ops.
This fix might need to be applied elsewhere, but do so later if needed.
2018-06-11 10:56:45 +02:00

29 lines
419 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
{
float FragColor [[color(0)]];
};
fragment main0_out main0(main0_in in [[stage_in]], constant UBO& _15 [[buffer(0)]])
{
main0_out out = {};
out.FragColor = dot(in.vIn, float3(_15.color));
return out;
}