Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-08-06 17:02:35 +0300
committerGitHub <noreply@github.com>2018-08-06 17:02:35 +0300
commit1d1b5eb865a85013a5981b45757baaaa9a3b0f62 (patch)
tree951029eb94b09f4ad8906a161616a3760632299e /reference/opt/shaders-msl/asm
parentde5195cbb2e814598566dd17cc4db1cefcdf68a7 (diff)
parent361fe52c9dfebf83c79d64daabf08e1111ab3fbf (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.frag22
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;
+}
+