diff options
Diffstat (limited to 'reference/shaders-msl/asm/frag/pass-by-value.asm.frag')
-rw-r--r-- | reference/shaders-msl/asm/frag/pass-by-value.asm.frag | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/reference/shaders-msl/asm/frag/pass-by-value.asm.frag b/reference/shaders-msl/asm/frag/pass-by-value.asm.frag new file mode 100644 index 00000000..6ed945ec --- /dev/null +++ b/reference/shaders-msl/asm/frag/pass-by-value.asm.frag @@ -0,0 +1,29 @@ +#pragma clang diagnostic ignored "-Wmissing-prototypes" + +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +struct Registers +{ + float foo; +}; + +struct main0_out +{ + float FragColor [[color(0)]]; +}; + +float add_value(float v, float w) +{ + return v + w; +} + +fragment main0_out main0(constant Registers& registers [[buffer(0)]]) +{ + main0_out out = {}; + out.FragColor = add_value(10.0, registers.foo); + return out; +} + |