d310060f92
Implement this by flattening outputs and unflattening inputs explicitly. This allows us to pass down a single struct instead of dealing with the insanity that would be passing down each flattened member separately. Remove stage_uniforms_var_id. Seems to be dead code. Naked uniforms do not exist in SPIR-V for Vulkan, which this seems to have been intended for. It was also unused elsewhere.
33 lines
554 B
GLSL
33 lines
554 B
GLSL
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct VertexOut
|
|
{
|
|
float4 color;
|
|
float4 color2;
|
|
};
|
|
|
|
struct main0_out
|
|
{
|
|
float4 FragColor [[color(0)]];
|
|
};
|
|
|
|
struct main0_in
|
|
{
|
|
float4 VertexOut_color [[user(locn2)]];
|
|
float4 VertexOut_color2 [[user(locn3)]];
|
|
};
|
|
|
|
fragment main0_out main0(main0_in in [[stage_in]])
|
|
{
|
|
main0_out out = {};
|
|
VertexOut inputs = {};
|
|
inputs.color = in.VertexOut_color;
|
|
inputs.color2 = in.VertexOut_color2;
|
|
out.FragColor = inputs.color + inputs.color2;
|
|
return out;
|
|
}
|
|
|