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 /shaders-msl-no-opt
parent04293e03fdc6205ba9e0e52c54d7901a4e67ae13 (diff)
Handle Modf/Frexp in more cases.
Consider it a write to a variable, similar to OpStore.
Diffstat (limited to 'shaders-msl-no-opt')
-rw-r--r--shaders-msl-no-opt/asm/frag/usage-tracking-modf-io-pointer.asm.frag28
1 files changed, 28 insertions, 0 deletions
diff --git a/shaders-msl-no-opt/asm/frag/usage-tracking-modf-io-pointer.asm.frag b/shaders-msl-no-opt/asm/frag/usage-tracking-modf-io-pointer.asm.frag
new file mode 100644
index 00000000..702b826e
--- /dev/null
+++ b/shaders-msl-no-opt/asm/frag/usage-tracking-modf-io-pointer.asm.frag
@@ -0,0 +1,28 @@
+; SPIR-V
+; Version: 1.0
+; Generator: Khronos SPIR-V Tools Assembler; 0
+; Bound: 14
+; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %_GLF_color
+ OpExecutionMode %main OriginUpperLeft
+ OpSource ESSL 310
+ OpName %main "main"
+ OpName %_GLF_color "_GLF_color"
+ OpDecorate %_GLF_color Location 0
+ %void = OpTypeVoid
+ %3 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+ %float_1 = OpConstant %float 1
+ %float_0 = OpConstant %float 0
+ %10 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
+%_ptr_Output_v4float = OpTypePointer Output %v4float
+ %_GLF_color = OpVariable %_ptr_Output_v4float Output
+ %main = OpFunction %void None %3
+ %5 = OpLabel
+ %13 = OpExtInst %v4float %1 Modf %10 %_GLF_color
+ OpReturn
+ OpFunctionEnd