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 <post@arntzen-software.no>2021-11-07 13:27:20 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-11-07 13:36:44 +0300
commit4561ecddbd8c0569506d968a28acd611cb0d45c8 (patch)
treeaaa2c1f3b425d8962279ef18948fdfaa948a44d1 /reference/opt/shaders-msl
parent04293e03fdc6205ba9e0e52c54d7901a4e67ae13 (diff)
Handle Modf/Frexp in more cases.
Consider it a write to a variable, similar to OpStore.
Diffstat (limited to 'reference/opt/shaders-msl')
-rw-r--r--reference/opt/shaders-msl/frag/modf-access-tracking-function.frag24
1 files changed, 24 insertions, 0 deletions
diff --git a/reference/opt/shaders-msl/frag/modf-access-tracking-function.frag b/reference/opt/shaders-msl/frag/modf-access-tracking-function.frag
new file mode 100644
index 00000000..612dd4e9
--- /dev/null
+++ b/reference/opt/shaders-msl/frag/modf-access-tracking-function.frag
@@ -0,0 +1,24 @@
+#include <metal_stdlib>
+#include <simd/simd.h>
+
+using namespace metal;
+
+struct main0_out
+{
+ float4 vo0 [[color(0)]];
+ float4 vo1 [[color(1)]];
+};
+
+struct main0_in
+{
+ float4 v [[user(locn0)]];
+};
+
+fragment main0_out main0(main0_in in [[stage_in]])
+{
+ main0_out out = {};
+ float4 _25 = modf(in.v, out.vo1);
+ out.vo0 = _25;
+ return out;
+}
+