Add support for GL_EXT_buffer_reference2
This commit is contained in:
274
Test/baseResults/spv.bufferhandle18.frag.out
Normal file
274
Test/baseResults/spv.bufferhandle18.frag.out
Normal file
@@ -0,0 +1,274 @@
|
||||
spv.bufferhandle18.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 196
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
Capability CapabilityPhysicalStorageBufferAddressesEXT
|
||||
Extension "SPV_EXT_physical_storage_buffer"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel PhysicalStorageBuffer64EXT GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_buffer_reference"
|
||||
SourceExtension "GL_EXT_buffer_reference2"
|
||||
SourceExtension "GL_EXT_scalar_block_layout"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
Name 4 "main"
|
||||
Name 9 "T1"
|
||||
MemberName 9(T1) 0 "x"
|
||||
MemberName 9(T1) 1 "y"
|
||||
Name 11 "a"
|
||||
Name 15 "b"
|
||||
Name 18 "c"
|
||||
Name 24 "d"
|
||||
Name 26 "e"
|
||||
Name 29 "f"
|
||||
Name 59 "arr"
|
||||
Name 71 "i"
|
||||
Name 130 "j"
|
||||
Name 153 "k"
|
||||
Name 160 "x"
|
||||
Name 171 "y"
|
||||
Name 178 "T2"
|
||||
MemberName 178(T2) 0 "x"
|
||||
Name 180 "m"
|
||||
Name 190 "x"
|
||||
Name 195 "buf"
|
||||
MemberDecorate 9(T1) 0 Offset 0
|
||||
MemberDecorate 9(T1) 1 Offset 4
|
||||
Decorate 9(T1) Block
|
||||
Decorate 11(a) DecorationAliasedPointerEXT
|
||||
Decorate 15(b) DecorationAliasedPointerEXT
|
||||
Decorate 18(c) DecorationAliasedPointerEXT
|
||||
Decorate 24(d) DecorationAliasedPointerEXT
|
||||
Decorate 26(e) DecorationAliasedPointerEXT
|
||||
Decorate 29(f) DecorationAliasedPointerEXT
|
||||
Decorate 59(arr) DecorationAliasedPointerEXT
|
||||
Decorate 130(j) DecorationAliasedPointerEXT
|
||||
Decorate 153(k) DecorationAliasedPointerEXT
|
||||
MemberDecorate 178(T2) 0 Offset 0
|
||||
Decorate 178(T2) Block
|
||||
Decorate 180(m) DecorationAliasedPointerEXT
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
TypeForwardPointer 6 PhysicalStorageBufferEXT
|
||||
7: TypeInt 32 1
|
||||
8: TypeInt 32 0
|
||||
9(T1): TypeStruct 7(int) 8(int)
|
||||
6: TypePointer PhysicalStorageBufferEXT 9(T1)
|
||||
10: TypePointer Function 6(ptr)
|
||||
12: TypeInt 64 0
|
||||
13: 12(int64_t) Constant 4 0
|
||||
16: 12(int64_t) Constant 5 0
|
||||
19: TypeBool
|
||||
20: 19(bool) ConstantTrue
|
||||
27: 12(int64_t) Constant 6 0
|
||||
31: 7(int) Constant 1
|
||||
32: TypePointer PhysicalStorageBufferEXT 8(int)
|
||||
35: 8(int) Constant 0
|
||||
37: 12(int64_t) Constant 8 0
|
||||
39: 12(int64_t) Constant 9 0
|
||||
44: 12(int64_t) Constant 24 0
|
||||
47: 7(int) Constant 0
|
||||
48: TypePointer PhysicalStorageBufferEXT 7(int)
|
||||
52: 12(int64_t) Constant 40 0
|
||||
56: 8(int) Constant 2
|
||||
57: TypeArray 6(ptr) 56
|
||||
58: TypePointer Function 57
|
||||
66: 12(int64_t) Constant 56 0
|
||||
70: TypePointer Function 7(int)
|
||||
77: TypeInt 64 1
|
||||
137: 12(int64_t) Constant 16 0
|
||||
146: 12(int64_t) Constant 32 0
|
||||
156: 12(int64_t) Constant 48 0
|
||||
159: TypePointer Function 77(int64_t)
|
||||
168: 77(int64_t) Constant 8 0
|
||||
170: TypePointer Function 12(int64_t)
|
||||
174: 12(int64_t) Constant 4294967288 4294967295
|
||||
TypeForwardPointer 177 PhysicalStorageBufferEXT
|
||||
178(T2): TypeStruct 7(int)
|
||||
177: TypePointer PhysicalStorageBufferEXT 178(T2)
|
||||
179: TypePointer Function 177(ptr)
|
||||
183: 12(int64_t) Constant 64 0
|
||||
186: 7(int) Constant 3
|
||||
187: 8(int) Constant 3
|
||||
188: TypeArray 7(int) 187
|
||||
189: TypePointer Private 188
|
||||
190(x): 189(ptr) Variable Private
|
||||
191: 12(int64_t) Constant 10 0
|
||||
192: 8(int) Constant 8
|
||||
193: TypeArray 8(int) 192
|
||||
194: TypePointer Private 193
|
||||
195(buf): 194(ptr) Variable Private
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
11(a): 10(ptr) Variable Function
|
||||
15(b): 10(ptr) Variable Function
|
||||
18(c): 10(ptr) Variable Function
|
||||
24(d): 10(ptr) Variable Function
|
||||
26(e): 10(ptr) Variable Function
|
||||
29(f): 10(ptr) Variable Function
|
||||
59(arr): 58(ptr) Variable Function
|
||||
71(i): 70(ptr) Variable Function
|
||||
130(j): 10(ptr) Variable Function
|
||||
153(k): 10(ptr) Variable Function
|
||||
160(x): 159(ptr) Variable Function
|
||||
171(y): 170(ptr) Variable Function
|
||||
180(m): 179(ptr) Variable Function
|
||||
14: 6(ptr) Bitcast 13
|
||||
Store 11(a) 14
|
||||
17: 6(ptr) Bitcast 16
|
||||
Store 15(b) 17
|
||||
21: 6(ptr) Load 11(a)
|
||||
22: 6(ptr) Load 15(b)
|
||||
23: 6(ptr) Select 20 21 22
|
||||
Store 18(c) 23
|
||||
25: 6(ptr) Load 15(b)
|
||||
Store 24(d) 25
|
||||
28: 6(ptr) Bitcast 27
|
||||
Store 26(e) 28
|
||||
30: 6(ptr) Load 11(a)
|
||||
33: 32(ptr) AccessChain 30 31
|
||||
34: 8(int) Load 33 Aligned 4
|
||||
36: 19(bool) INotEqual 34 35
|
||||
38: 6(ptr) Bitcast 37
|
||||
40: 6(ptr) Bitcast 39
|
||||
41: 6(ptr) Select 36 38 40
|
||||
Store 29(f) 41
|
||||
42: 6(ptr) Load 29(f)
|
||||
43: 12(int64_t) ConvertPtrToU 42
|
||||
45: 12(int64_t) IAdd 43 44
|
||||
46: 6(ptr) ConvertUToPtr 45
|
||||
49: 48(ptr) AccessChain 46 47
|
||||
Store 49 31 Aligned 8
|
||||
50: 6(ptr) Load 29(f)
|
||||
51: 12(int64_t) ConvertPtrToU 50
|
||||
53: 12(int64_t) IAdd 51 52
|
||||
54: 6(ptr) ConvertUToPtr 53
|
||||
55: 48(ptr) AccessChain 54 47
|
||||
Store 55 31 Aligned 8
|
||||
60: 6(ptr) Load 11(a)
|
||||
61: 6(ptr) Load 29(f)
|
||||
62: 57 CompositeConstruct 60 61
|
||||
Store 59(arr) 62
|
||||
63: 10(ptr) AccessChain 59(arr) 31
|
||||
64: 6(ptr) Load 63
|
||||
65: 12(int64_t) ConvertPtrToU 64
|
||||
67: 12(int64_t) IAdd 65 66
|
||||
68: 6(ptr) ConvertUToPtr 67
|
||||
69: 48(ptr) AccessChain 68 47
|
||||
Store 69 31 Aligned 8
|
||||
72: 7(int) Load 71(i)
|
||||
73: 10(ptr) AccessChain 59(arr) 72
|
||||
74: 6(ptr) Load 73
|
||||
75: 12(int64_t) ConvertPtrToU 74
|
||||
76: 7(int) Load 71(i)
|
||||
78: 77(int64_t) SConvert 76
|
||||
79: 12(int64_t) Bitcast 78
|
||||
80: 12(int64_t) IMul 79 37
|
||||
81: 12(int64_t) IAdd 75 80
|
||||
82: 6(ptr) ConvertUToPtr 81
|
||||
83: 48(ptr) AccessChain 82 47
|
||||
Store 83 31 Aligned 8
|
||||
84: 7(int) Load 71(i)
|
||||
85: 10(ptr) AccessChain 59(arr) 84
|
||||
86: 6(ptr) Load 85
|
||||
87: 12(int64_t) ConvertPtrToU 86
|
||||
88: 7(int) Load 71(i)
|
||||
89: 77(int64_t) SConvert 88
|
||||
90: 12(int64_t) Bitcast 89
|
||||
91: 12(int64_t) IMul 90 37
|
||||
92: 12(int64_t) IAdd 87 91
|
||||
93: 6(ptr) ConvertUToPtr 92
|
||||
94: 12(int64_t) ConvertPtrToU 93
|
||||
95: 7(int) Load 71(i)
|
||||
96: 77(int64_t) SConvert 95
|
||||
97: 12(int64_t) Bitcast 96
|
||||
98: 12(int64_t) IMul 97 37
|
||||
99: 12(int64_t) IAdd 94 98
|
||||
100: 6(ptr) ConvertUToPtr 99
|
||||
101: 12(int64_t) ConvertPtrToU 100
|
||||
102: 7(int) Load 71(i)
|
||||
103: 77(int64_t) SConvert 102
|
||||
104: 12(int64_t) Bitcast 103
|
||||
105: 12(int64_t) IMul 104 37
|
||||
106: 12(int64_t) IAdd 101 105
|
||||
107: 6(ptr) ConvertUToPtr 106
|
||||
108: 12(int64_t) ConvertPtrToU 107
|
||||
109: 7(int) Load 71(i)
|
||||
110: 77(int64_t) SConvert 109
|
||||
111: 12(int64_t) Bitcast 110
|
||||
112: 12(int64_t) IMul 111 37
|
||||
113: 12(int64_t) IAdd 108 112
|
||||
114: 6(ptr) ConvertUToPtr 113
|
||||
115: 12(int64_t) ConvertPtrToU 114
|
||||
116: 7(int) Load 71(i)
|
||||
117: 77(int64_t) SConvert 116
|
||||
118: 12(int64_t) Bitcast 117
|
||||
119: 12(int64_t) IMul 118 37
|
||||
120: 12(int64_t) IAdd 115 119
|
||||
121: 6(ptr) ConvertUToPtr 120
|
||||
122: 12(int64_t) ConvertPtrToU 121
|
||||
123: 7(int) Load 71(i)
|
||||
124: 77(int64_t) SConvert 123
|
||||
125: 12(int64_t) Bitcast 124
|
||||
126: 12(int64_t) IMul 125 37
|
||||
127: 12(int64_t) IAdd 122 126
|
||||
128: 6(ptr) ConvertUToPtr 127
|
||||
129: 48(ptr) AccessChain 128 47
|
||||
Store 129 31 Aligned 8
|
||||
131: 6(ptr) Load 130(j)
|
||||
132: 12(int64_t) ConvertPtrToU 131
|
||||
133: 12(int64_t) IAdd 132 37
|
||||
134: 6(ptr) ConvertUToPtr 133
|
||||
Store 130(j) 134
|
||||
135: 6(ptr) Load 130(j)
|
||||
136: 12(int64_t) ConvertPtrToU 135
|
||||
138: 12(int64_t) ISub 136 137
|
||||
139: 6(ptr) ConvertUToPtr 138
|
||||
Store 130(j) 139
|
||||
140: 6(ptr) Load 130(j)
|
||||
141: 12(int64_t) ConvertPtrToU 140
|
||||
142: 12(int64_t) IAdd 141 44
|
||||
143: 6(ptr) ConvertUToPtr 142
|
||||
Store 130(j) 143
|
||||
144: 6(ptr) Load 130(j)
|
||||
145: 12(int64_t) ConvertPtrToU 144
|
||||
147: 12(int64_t) ISub 145 146
|
||||
148: 6(ptr) ConvertUToPtr 147
|
||||
Store 130(j) 148
|
||||
149: 6(ptr) Load 130(j)
|
||||
150: 12(int64_t) ConvertPtrToU 149
|
||||
151: 12(int64_t) IAdd 52 150
|
||||
152: 6(ptr) ConvertUToPtr 151
|
||||
Store 130(j) 152
|
||||
154: 6(ptr) Load 130(j)
|
||||
155: 12(int64_t) ConvertPtrToU 154
|
||||
157: 12(int64_t) IAdd 155 156
|
||||
158: 6(ptr) ConvertUToPtr 157
|
||||
Store 153(k) 158
|
||||
161: 6(ptr) Load 153(k)
|
||||
162: 12(int64_t) ConvertPtrToU 161
|
||||
163: 77(int64_t) Bitcast 162
|
||||
164: 6(ptr) Load 130(j)
|
||||
165: 12(int64_t) ConvertPtrToU 164
|
||||
166: 77(int64_t) Bitcast 165
|
||||
167: 77(int64_t) ISub 163 166
|
||||
169: 77(int64_t) SDiv 167 168
|
||||
Store 160(x) 169
|
||||
Store 171(y) 37
|
||||
172: 6(ptr) Load 153(k)
|
||||
173: 12(int64_t) ConvertPtrToU 172
|
||||
175: 12(int64_t) IAdd 173 174
|
||||
176: 6(ptr) ConvertUToPtr 175
|
||||
Store 153(k) 176
|
||||
181: 177(ptr) Load 180(m)
|
||||
182: 12(int64_t) ConvertPtrToU 181
|
||||
184: 12(int64_t) IAdd 182 183
|
||||
185: 177(ptr) ConvertUToPtr 184
|
||||
Store 180(m) 185
|
||||
Return
|
||||
FunctionEnd
|
||||
17
Test/baseResults/spv.bufferhandle19_Errors.frag.out
Normal file
17
Test/baseResults/spv.bufferhandle19_Errors.frag.out
Normal file
@@ -0,0 +1,17 @@
|
||||
spv.bufferhandle19_Errors.frag
|
||||
ERROR: 0:18: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:19: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:20: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' const int' and a right operand of type ' temp reference' (or there is no acceptable conversion)
|
||||
ERROR: 0:21: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' temp reference' (or there is no acceptable conversion)
|
||||
ERROR: 0:22: 'assign' : cannot convert from ' const int' to ' temp reference'
|
||||
ERROR: 0:23: 'assign' : cannot convert from ' const int' to ' temp reference'
|
||||
ERROR: 0:24: 'assign' : cannot convert from ' temp reference' to ' temp reference'
|
||||
ERROR: 0:25: 'assign' : cannot convert from ' temp reference' to ' temp reference'
|
||||
ERROR: 0:28: 'assign' : cannot convert from ' temp reference' to ' temp reference'
|
||||
ERROR: 0:29: 'assign' : cannot convert from ' temp reference' to ' temp reference'
|
||||
ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' temp reference' (or there is no acceptable conversion)
|
||||
ERROR: 0:31: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' const int' and a right operand of type ' temp reference' (or there is no acceptable conversion)
|
||||
ERROR: 12 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
Reference in New Issue
Block a user