SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences.
This commit is contained in:
parent
1f4d04687b
commit
fbb6bdf046
9 changed files with 636 additions and 0 deletions
115
Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out
Normal file
115
Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
spv.1.4.OpCopyLogical.funcall.frag
|
||||
Validation failed
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 60
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 25 37
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 9 "S"
|
||||
MemberName 9(S) 0 "m"
|
||||
Name 12 "fooConst(struct-S-mf441;"
|
||||
Name 11 "s"
|
||||
Name 17 "foo(struct-S-mf441;"
|
||||
Name 16 "s"
|
||||
Name 20 "fooOut(struct-S-mf441;"
|
||||
Name 19 "s"
|
||||
Name 22 "S"
|
||||
MemberName 22(S) 0 "m"
|
||||
Name 23 "blockName"
|
||||
MemberName 23(blockName) 0 "s1"
|
||||
Name 25 ""
|
||||
Name 31 "S"
|
||||
MemberName 31(S) 0 "m"
|
||||
Name 32 "arg"
|
||||
Name 37 "s2"
|
||||
Name 40 "param"
|
||||
Name 45 "param"
|
||||
Name 48 "param"
|
||||
Name 56 "param"
|
||||
MemberDecorate 22(S) 0 ColMajor
|
||||
MemberDecorate 22(S) 0 Offset 0
|
||||
MemberDecorate 22(S) 0 MatrixStride 16
|
||||
MemberDecorate 23(blockName) 0 Offset 0
|
||||
Decorate 23(blockName) Block
|
||||
Decorate 25 DescriptorSet 0
|
||||
Decorate 25 Binding 0
|
||||
MemberDecorate 31(S) 0 ColMajor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeMatrix 7(fvec4) 4
|
||||
9(S): TypeStruct 8
|
||||
10: TypeFunction 2 9(S)
|
||||
14: TypePointer Function 9(S)
|
||||
15: TypeFunction 2 14(ptr)
|
||||
22(S): TypeStruct 8
|
||||
23(blockName): TypeStruct 22(S)
|
||||
24: TypePointer StorageBuffer 23(blockName)
|
||||
25: 24(ptr) Variable StorageBuffer
|
||||
26: TypeInt 32 1
|
||||
27: 26(int) Constant 0
|
||||
28: TypePointer StorageBuffer 22(S)
|
||||
31(S): TypeStruct 8
|
||||
36: TypePointer Private 9(S)
|
||||
37(s2): 36(ptr) Variable Private
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
32(arg): 14(ptr) Variable Function
|
||||
40(param): 14(ptr) Variable Function
|
||||
45(param): 14(ptr) Variable Function
|
||||
48(param): 14(ptr) Variable Function
|
||||
56(param): 14(ptr) Variable Function
|
||||
29: 28(ptr) AccessChain 25 27
|
||||
30: 22(S) Load 29
|
||||
33: 9(S) CopyLogical 30
|
||||
Store 32(arg) 33
|
||||
34: 9(S) Load 32(arg)
|
||||
35: 2 FunctionCall 12(fooConst(struct-S-mf441;) 34
|
||||
38: 9(S) Load 37(s2)
|
||||
39: 2 FunctionCall 12(fooConst(struct-S-mf441;) 38
|
||||
41: 28(ptr) AccessChain 25 27
|
||||
42: 22(S) Load 41
|
||||
43: 9(S) CopyLogical 42
|
||||
Store 40(param) 43
|
||||
44: 2 FunctionCall 17(foo(struct-S-mf441;) 40(param)
|
||||
46: 9(S) Load 37(s2)
|
||||
Store 45(param) 46
|
||||
47: 2 FunctionCall 17(foo(struct-S-mf441;) 45(param)
|
||||
49: 28(ptr) AccessChain 25 27
|
||||
50: 22(S) Load 49
|
||||
51: 9(S) CopyLogical 50
|
||||
Store 48(param) 51
|
||||
52: 2 FunctionCall 20(fooOut(struct-S-mf441;) 48(param)
|
||||
53: 9(S) Load 48(param)
|
||||
54: 28(ptr) AccessChain 25 27
|
||||
55: 22(S) CopyLogical 53
|
||||
Store 54 55
|
||||
57: 9(S) Load 37(s2)
|
||||
Store 56(param) 57
|
||||
58: 2 FunctionCall 20(fooOut(struct-S-mf441;) 56(param)
|
||||
59: 9(S) Load 56(param)
|
||||
Store 37(s2) 59
|
||||
Return
|
||||
FunctionEnd
|
||||
12(fooConst(struct-S-mf441;): 2 Function None 10
|
||||
11(s): 9(S) FunctionParameter
|
||||
13: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
17(foo(struct-S-mf441;): 2 Function None 15
|
||||
16(s): 14(ptr) FunctionParameter
|
||||
18: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
20(fooOut(struct-S-mf441;): 2 Function None 15
|
||||
19(s): 14(ptr) FunctionParameter
|
||||
21: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
Loading…
Add table
Add a link
Reference in a new issue