SPV 1.4: Add support for OpCopyLogical, careful of Boolean differences.
This commit is contained in:
233
Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out
Normal file
233
Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out
Normal file
@@ -0,0 +1,233 @@
|
||||
spv.1.4.OpCopyLogicalBool.comp
|
||||
Validation failed
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 135
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 19 37 53 79 109
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 12 "MyStruct"
|
||||
MemberName 12(MyStruct) 0 "foo"
|
||||
MemberName 12(MyStruct) 1 "sb"
|
||||
Name 14 "t"
|
||||
Name 16 "MyStruct"
|
||||
MemberName 16(MyStruct) 0 "foo"
|
||||
MemberName 16(MyStruct) 1 "sb"
|
||||
Name 17 "SSBO0"
|
||||
MemberName 17(SSBO0) 0 "a"
|
||||
Name 19 "inBuf"
|
||||
Name 35 "SSBO1"
|
||||
MemberName 35(SSBO1) 0 "b"
|
||||
Name 37 "outBuf"
|
||||
Name 50 "MyStruct"
|
||||
MemberName 50(MyStruct) 0 "foo"
|
||||
MemberName 50(MyStruct) 1 "sb"
|
||||
Name 51 "UBO"
|
||||
MemberName 51(UBO) 0 "c"
|
||||
Name 53 "uBuf"
|
||||
Name 72 "Nested"
|
||||
MemberName 72(Nested) 0 "b"
|
||||
MemberName 72(Nested) 1 "S"
|
||||
Name 74 "n"
|
||||
Name 76 "Nested"
|
||||
MemberName 76(Nested) 0 "b"
|
||||
MemberName 76(Nested) 1 "S"
|
||||
Name 77 "UBON"
|
||||
MemberName 77(UBON) 0 "N1"
|
||||
Name 79 "uBufN"
|
||||
Name 106 "Nested"
|
||||
MemberName 106(Nested) 0 "b"
|
||||
MemberName 106(Nested) 1 "S"
|
||||
Name 107 "SSBO1N"
|
||||
MemberName 107(SSBO1N) 0 "N2"
|
||||
Name 109 "outBufN"
|
||||
Decorate 15 ArrayStride 8
|
||||
MemberDecorate 16(MyStruct) 0 Offset 0
|
||||
MemberDecorate 16(MyStruct) 1 Offset 16
|
||||
MemberDecorate 17(SSBO0) 0 Offset 0
|
||||
Decorate 17(SSBO0) Block
|
||||
Decorate 19(inBuf) DescriptorSet 0
|
||||
Decorate 19(inBuf) Binding 0
|
||||
MemberDecorate 35(SSBO1) 0 Offset 0
|
||||
Decorate 35(SSBO1) Block
|
||||
Decorate 37(outBuf) DescriptorSet 0
|
||||
Decorate 37(outBuf) Binding 1
|
||||
Decorate 49 ArrayStride 16
|
||||
MemberDecorate 50(MyStruct) 0 Offset 0
|
||||
MemberDecorate 50(MyStruct) 1 Offset 32
|
||||
MemberDecorate 51(UBO) 0 Offset 0
|
||||
Decorate 51(UBO) Block
|
||||
Decorate 53(uBuf) DescriptorSet 0
|
||||
Decorate 53(uBuf) Binding 2
|
||||
Decorate 75 ArrayStride 48
|
||||
MemberDecorate 76(Nested) 0 Offset 0
|
||||
MemberDecorate 76(Nested) 1 Offset 16
|
||||
MemberDecorate 77(UBON) 0 Offset 0
|
||||
Decorate 77(UBON) Block
|
||||
Decorate 79(uBufN) DescriptorSet 0
|
||||
Decorate 79(uBufN) Binding 2
|
||||
Decorate 105 ArrayStride 24
|
||||
MemberDecorate 106(Nested) 0 Offset 0
|
||||
MemberDecorate 106(Nested) 1 Offset 8
|
||||
MemberDecorate 107(SSBO1N) 0 Offset 0
|
||||
Decorate 107(SSBO1N) Block
|
||||
Decorate 109(outBufN) DescriptorSet 0
|
||||
Decorate 109(outBufN) Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypeInt 32 0
|
||||
9: 8(int) Constant 2
|
||||
10: TypeArray 7(fvec2) 9
|
||||
11: TypeBool
|
||||
12(MyStruct): TypeStruct 10 11(bool)
|
||||
13: TypePointer Function 12(MyStruct)
|
||||
15: TypeArray 7(fvec2) 9
|
||||
16(MyStruct): TypeStruct 15 8(int)
|
||||
17(SSBO0): TypeStruct 16(MyStruct)
|
||||
18: TypePointer StorageBuffer 17(SSBO0)
|
||||
19(inBuf): 18(ptr) Variable StorageBuffer
|
||||
20: TypeInt 32 1
|
||||
21: 20(int) Constant 0
|
||||
22: TypePointer StorageBuffer 16(MyStruct)
|
||||
26: TypePointer Function 10
|
||||
30: 20(int) Constant 1
|
||||
31: 8(int) Constant 0
|
||||
33: TypePointer Function 11(bool)
|
||||
35(SSBO1): TypeStruct 16(MyStruct)
|
||||
36: TypePointer StorageBuffer 35(SSBO1)
|
||||
37(outBuf): 36(ptr) Variable StorageBuffer
|
||||
41: TypePointer StorageBuffer 15
|
||||
45: 8(int) Constant 1
|
||||
47: TypePointer StorageBuffer 8(int)
|
||||
49: TypeArray 7(fvec2) 9
|
||||
50(MyStruct): TypeStruct 49 8(int)
|
||||
51(UBO): TypeStruct 50(MyStruct)
|
||||
52: TypePointer Uniform 51(UBO)
|
||||
53(uBuf): 52(ptr) Variable Uniform
|
||||
54: TypePointer Uniform 50(MyStruct)
|
||||
71: TypeArray 12(MyStruct) 9
|
||||
72(Nested): TypeStruct 11(bool) 71
|
||||
73: TypePointer Function 72(Nested)
|
||||
75: TypeArray 50(MyStruct) 9
|
||||
76(Nested): TypeStruct 8(int) 75
|
||||
77(UBON): TypeStruct 76(Nested)
|
||||
78: TypePointer Uniform 77(UBON)
|
||||
79(uBufN): 78(ptr) Variable Uniform
|
||||
80: TypePointer Uniform 76(Nested)
|
||||
87: TypePointer Function 71
|
||||
105: TypeArray 16(MyStruct) 9
|
||||
106(Nested): TypeStruct 8(int) 105
|
||||
107(SSBO1N): TypeStruct 106(Nested)
|
||||
108: TypePointer StorageBuffer 107(SSBO1N)
|
||||
109(outBufN): 108(ptr) Variable StorageBuffer
|
||||
111: TypePointer StorageBuffer 106(Nested)
|
||||
117: TypePointer StorageBuffer 105
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
14(t): 13(ptr) Variable Function
|
||||
74(n): 73(ptr) Variable Function
|
||||
23: 22(ptr) AccessChain 19(inBuf) 21
|
||||
24:16(MyStruct) Load 23
|
||||
25: 15 CompositeExtract 24 0
|
||||
27: 26(ptr) AccessChain 14(t) 21
|
||||
28: 10 CopyLogical 25
|
||||
Store 27 28
|
||||
29: 8(int) CompositeExtract 24 1
|
||||
32: 11(bool) INotEqual 29 31
|
||||
34: 33(ptr) AccessChain 14(t) 30
|
||||
Store 34 32
|
||||
38:12(MyStruct) Load 14(t)
|
||||
39: 22(ptr) AccessChain 37(outBuf) 21
|
||||
40: 10 CompositeExtract 38 0
|
||||
42: 41(ptr) AccessChain 39 21
|
||||
43: 15 CopyLogical 40
|
||||
Store 42 43
|
||||
44: 11(bool) CompositeExtract 38 1
|
||||
46: 8(int) Select 44 45 31
|
||||
48: 47(ptr) AccessChain 39 30
|
||||
Store 48 46
|
||||
55: 54(ptr) AccessChain 53(uBuf) 21
|
||||
56:50(MyStruct) Load 55
|
||||
57: 49 CompositeExtract 56 0
|
||||
58: 26(ptr) AccessChain 14(t) 21
|
||||
59: 10 CopyLogical 57
|
||||
Store 58 59
|
||||
60: 8(int) CompositeExtract 56 1
|
||||
61: 11(bool) INotEqual 60 31
|
||||
62: 33(ptr) AccessChain 14(t) 30
|
||||
Store 62 61
|
||||
63:12(MyStruct) Load 14(t)
|
||||
64: 22(ptr) AccessChain 37(outBuf) 21
|
||||
65: 10 CompositeExtract 63 0
|
||||
66: 41(ptr) AccessChain 64 21
|
||||
67: 15 CopyLogical 65
|
||||
Store 66 67
|
||||
68: 11(bool) CompositeExtract 63 1
|
||||
69: 8(int) Select 68 45 31
|
||||
70: 47(ptr) AccessChain 64 30
|
||||
Store 70 69
|
||||
81: 80(ptr) AccessChain 79(uBufN) 21
|
||||
82: 76(Nested) Load 81
|
||||
83: 8(int) CompositeExtract 82 0
|
||||
84: 11(bool) INotEqual 83 31
|
||||
85: 33(ptr) AccessChain 74(n) 21
|
||||
Store 85 84
|
||||
86: 75 CompositeExtract 82 1
|
||||
88: 87(ptr) AccessChain 74(n) 30
|
||||
89:50(MyStruct) CompositeExtract 86 0
|
||||
90: 13(ptr) AccessChain 88 21
|
||||
91: 49 CompositeExtract 89 0
|
||||
92: 26(ptr) AccessChain 90 21
|
||||
93: 10 CopyLogical 91
|
||||
Store 92 93
|
||||
94: 8(int) CompositeExtract 89 1
|
||||
95: 11(bool) INotEqual 94 31
|
||||
96: 33(ptr) AccessChain 90 30
|
||||
Store 96 95
|
||||
97:50(MyStruct) CompositeExtract 86 1
|
||||
98: 13(ptr) AccessChain 88 30
|
||||
99: 49 CompositeExtract 97 0
|
||||
100: 26(ptr) AccessChain 98 21
|
||||
101: 10 CopyLogical 99
|
||||
Store 100 101
|
||||
102: 8(int) CompositeExtract 97 1
|
||||
103: 11(bool) INotEqual 102 31
|
||||
104: 33(ptr) AccessChain 98 30
|
||||
Store 104 103
|
||||
110: 72(Nested) Load 74(n)
|
||||
112: 111(ptr) AccessChain 109(outBufN) 21
|
||||
113: 11(bool) CompositeExtract 110 0
|
||||
114: 8(int) Select 113 45 31
|
||||
115: 47(ptr) AccessChain 112 21
|
||||
Store 115 114
|
||||
116: 71 CompositeExtract 110 1
|
||||
118: 117(ptr) AccessChain 112 30
|
||||
119:12(MyStruct) CompositeExtract 116 0
|
||||
120: 22(ptr) AccessChain 118 21
|
||||
121: 10 CompositeExtract 119 0
|
||||
122: 41(ptr) AccessChain 120 21
|
||||
123: 15 CopyLogical 121
|
||||
Store 122 123
|
||||
124: 11(bool) CompositeExtract 119 1
|
||||
125: 8(int) Select 124 45 31
|
||||
126: 47(ptr) AccessChain 120 30
|
||||
Store 126 125
|
||||
127:12(MyStruct) CompositeExtract 116 1
|
||||
128: 22(ptr) AccessChain 118 30
|
||||
129: 10 CompositeExtract 127 0
|
||||
130: 41(ptr) AccessChain 128 21
|
||||
131: 15 CopyLogical 129
|
||||
Store 130 131
|
||||
132: 11(bool) CompositeExtract 127 1
|
||||
133: 8(int) Select 132 45 31
|
||||
134: 47(ptr) AccessChain 128 30
|
||||
Store 134 133
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user