diff options
author | Hans-Kristian Arntzen <hans-kristian.arntzen@arm.com> | 2018-08-06 17:02:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-06 17:02:35 +0300 |
commit | 1d1b5eb865a85013a5981b45757baaaa9a3b0f62 (patch) | |
tree | 951029eb94b09f4ad8906a161616a3760632299e /reference/opt/shaders-msl/asm | |
parent | de5195cbb2e814598566dd17cc4db1cefcdf68a7 (diff) | |
parent | 361fe52c9dfebf83c79d64daabf08e1111ab3fbf (diff) |
Merge pull request #655 from KhronosGroup/fix-6432018-08-07
MSL: Properly support passing parameters by value.
Diffstat (limited to 'reference/opt/shaders-msl/asm')
-rw-r--r-- | reference/opt/shaders-msl/asm/frag/pass-by-value.asm.frag | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/reference/opt/shaders-msl/asm/frag/pass-by-value.asm.frag b/reference/opt/shaders-msl/asm/frag/pass-by-value.asm.frag new file mode 100644 index 00000000..3858f6da --- /dev/null +++ b/reference/opt/shaders-msl/asm/frag/pass-by-value.asm.frag @@ -0,0 +1,22 @@ +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +struct Registers +{ + float foo; +}; + +struct main0_out +{ + float FragColor [[color(0)]]; +}; + +fragment main0_out main0(constant Registers& registers [[buffer(0)]]) +{ + main0_out out = {}; + out.FragColor = 10.0 + registers.foo; + return out; +} + |