glslang/Test/baseResults/spv.bufferhandle12.frag.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

307 lines
15 KiB
Plaintext

spv.bufferhandle12.frag
WARNING: 0:6: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
"precision mediump int; precision highp float;"
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 183
Capability Shader
Capability StorageUniformBufferBlock16
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_KHR_16bit_storage"
Extension "SPV_KHR_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
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_shader_16bit_storage"
SourceExtension "GL_EXT_shader_8bit_storage"
Name 4 "main"
Name 12 "compare_float(f1;f1;"
Name 10 "a"
Name 11 "b"
Name 19 "compare_vec3(vf3;vf3;"
Name 17 "a"
Name 18 "b"
Name 26 "compare_mat2x3(mf23;mf23;"
Name 24 "a"
Name 25 "b"
Name 34 "compare_ivec2(vi2;vi2;"
Name 32 "a"
Name 33 "b"
Name 42 "compare_uvec3(vu3;vu3;"
Name 40 "a"
Name 41 "b"
Name 46 "compare_float16_t(f1;f1;"
Name 44 "a"
Name 45 "b"
Name 56 "param"
Name 60 "param"
Name 66 "param"
Name 70 "param"
Name 77 "param"
Name 81 "param"
Name 89 "param"
Name 92 "param"
Name 99 "param"
Name 102 "param"
Name 131 "allOk"
Name 139 "PC"
MemberName 139(PC) 0 "blockB"
MemberName 139(PC) 1 "blockC"
MemberName 139(PC) 2 "blockD"
Name 141 "BlockB"
MemberName 141(BlockB) 0 "a"
MemberName 141(BlockB) 1 "b"
Name 142 "BlockC"
MemberName 142(BlockC) 0 "c"
Name 143 "BlockD"
MemberName 143(BlockD) 0 "d"
Name 145 ""
Name 157 "param"
Name 161 "param"
Name 167 "AcBlock"
MemberName 167(AcBlock) 0 "ac_numPassed"
Name 169 ""
Decorate 139(PC) Block
MemberDecorate 139(PC) 0 Offset 0
MemberDecorate 139(PC) 1 Offset 8
MemberDecorate 139(PC) 2 Offset 16
Decorate 141(BlockB) Block
MemberDecorate 141(BlockB) 0 Offset 0
MemberDecorate 141(BlockB) 1 Offset 8
Decorate 142(BlockC) Block
MemberDecorate 142(BlockC) 0 RelaxedPrecision
MemberDecorate 142(BlockC) 0 ColMajor
MemberDecorate 142(BlockC) 0 MatrixStride 16
MemberDecorate 142(BlockC) 0 Offset 0
Decorate 143(BlockD) Block
MemberDecorate 143(BlockD) 0 RelaxedPrecision
MemberDecorate 143(BlockD) 0 Offset 0
Decorate 160 RelaxedPrecision
Decorate 167(AcBlock) Block
MemberDecorate 167(AcBlock) 0 Offset 0
Decorate 169 Binding 0
Decorate 169 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeBool
9: TypeFunction 8(bool) 7(ptr) 7(ptr)
14: TypeVector 6(float) 3
15: TypePointer Function 14(fvec3)
16: TypeFunction 8(bool) 15(ptr) 15(ptr)
21: TypeMatrix 14(fvec3) 2
22: TypePointer Function 21
23: TypeFunction 8(bool) 22(ptr) 22(ptr)
28: TypeInt 32 1
29: TypeVector 28(int) 2
30: TypePointer Function 29(ivec2)
31: TypeFunction 8(bool) 30(ptr) 30(ptr)
36: TypeInt 32 0
37: TypeVector 36(int) 3
38: TypePointer Function 37(ivec3)
39: TypeFunction 8(bool) 38(ptr) 38(ptr)
52: 6(float) Constant 1028443341
57: 36(int) Constant 0
67: 36(int) Constant 1
78: 36(int) Constant 2
88: 28(int) Constant 0
98: 28(int) Constant 1
111: TypeVector 8(bool) 2
118: TypeVector 8(bool) 3
130: TypePointer Function 8(bool)
132: 8(bool) ConstantTrue
TypeForwardPointer 136 PhysicalStorageBufferEXT
TypeForwardPointer 137 PhysicalStorageBufferEXT
TypeForwardPointer 138 PhysicalStorageBufferEXT
139(PC): TypeStruct 136 137 138
140: TypeFloat 16
141(BlockB): TypeStruct 140(float16_t) 29(ivec2)
136: TypePointer PhysicalStorageBufferEXT 141(BlockB)
142(BlockC): TypeStruct 21
137: TypePointer PhysicalStorageBufferEXT 142(BlockC)
143(BlockD): TypeStruct 37(ivec3)
138: TypePointer PhysicalStorageBufferEXT 143(BlockD)
144: TypePointer PushConstant 139(PC)
145: 144(ptr) Variable PushConstant
146: TypePointer PushConstant 137(ptr)
149: 6(float) Constant 3231711232
150: 6(float) Constant 1065353216
151: 6(float) Constant 3235905536
152: 14(fvec3) ConstantComposite 149 150 151
153: 6(float) Constant 1073741824
154: 6(float) Constant 1090519040
155: 14(fvec3) ConstantComposite 150 153 154
156: 21 ConstantComposite 152 155
158: TypePointer PhysicalStorageBufferEXT 21
167(AcBlock): TypeStruct 36(int)
168: TypePointer StorageBuffer 167(AcBlock)
169: 168(ptr) Variable StorageBuffer
170: TypePointer StorageBuffer 36(int)
174: 28(int) Constant 2
175: TypePointer PushConstant 138(ptr)
178: 36(int) Constant 8
179: 36(int) Constant 5
180: 37(ivec3) ConstantComposite 178 67 179
181: TypePointer PhysicalStorageBufferEXT 37(ivec3)
4(main): 2 Function None 3
5: Label
131(allOk): 130(ptr) Variable Function
157(param): 22(ptr) Variable Function
161(param): 22(ptr) Variable Function
Store 131(allOk) 132
133: 8(bool) Load 131(allOk)
SelectionMerge 135 None
BranchConditional 133 134 135
134: Label
147: 146(ptr) AccessChain 145 98
148: 137(ptr) Load 147
159: 158(ptr) AccessChain 148 88
160: 21 Load 159 Aligned 16
Store 157(param) 160
Store 161(param) 156
162: 8(bool) FunctionCall 26(compare_mat2x3(mf23;mf23;) 157(param) 161(param)
Branch 135
135: Label
163: 8(bool) Phi 133 5 162 134
Store 131(allOk) 163
164: 8(bool) Load 131(allOk)
SelectionMerge 166 None
BranchConditional 164 165 166
165: Label
171: 170(ptr) AccessChain 169 88
172: 36(int) Load 171
173: 36(int) IAdd 172 98
Store 171 173
Branch 166
166: Label
176: 175(ptr) AccessChain 145 174
177: 138(ptr) Load 176
182: 181(ptr) AccessChain 177 88
Store 182 180 Aligned 16
Return
FunctionEnd
12(compare_float(f1;f1;): 8(bool) Function None 9
10(a): 7(ptr) FunctionParameter
11(b): 7(ptr) FunctionParameter
13: Label
48: 6(float) Load 10(a)
49: 6(float) Load 11(b)
50: 6(float) FSub 48 49
51: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 50
53: 8(bool) FOrdLessThan 51 52
ReturnValue 53
FunctionEnd
19(compare_vec3(vf3;vf3;): 8(bool) Function None 16
17(a): 15(ptr) FunctionParameter
18(b): 15(ptr) FunctionParameter
20: Label
56(param): 7(ptr) Variable Function
60(param): 7(ptr) Variable Function
66(param): 7(ptr) Variable Function
70(param): 7(ptr) Variable Function
77(param): 7(ptr) Variable Function
81(param): 7(ptr) Variable Function
58: 7(ptr) AccessChain 17(a) 57
59: 6(float) Load 58
Store 56(param) 59
61: 7(ptr) AccessChain 18(b) 57
62: 6(float) Load 61
Store 60(param) 62
63: 8(bool) FunctionCall 12(compare_float(f1;f1;) 56(param) 60(param)
SelectionMerge 65 None
BranchConditional 63 64 65
64: Label
68: 7(ptr) AccessChain 17(a) 67
69: 6(float) Load 68
Store 66(param) 69
71: 7(ptr) AccessChain 18(b) 67
72: 6(float) Load 71
Store 70(param) 72
73: 8(bool) FunctionCall 12(compare_float(f1;f1;) 66(param) 70(param)
Branch 65
65: Label
74: 8(bool) Phi 63 20 73 64
SelectionMerge 76 None
BranchConditional 74 75 76
75: Label
79: 7(ptr) AccessChain 17(a) 78
80: 6(float) Load 79
Store 77(param) 80
82: 7(ptr) AccessChain 18(b) 78
83: 6(float) Load 82
Store 81(param) 83
84: 8(bool) FunctionCall 12(compare_float(f1;f1;) 77(param) 81(param)
Branch 76
76: Label
85: 8(bool) Phi 74 65 84 75
ReturnValue 85
FunctionEnd
26(compare_mat2x3(mf23;mf23;): 8(bool) Function None 23
24(a): 22(ptr) FunctionParameter
25(b): 22(ptr) FunctionParameter
27: Label
89(param): 15(ptr) Variable Function
92(param): 15(ptr) Variable Function
99(param): 15(ptr) Variable Function
102(param): 15(ptr) Variable Function
90: 15(ptr) AccessChain 24(a) 88
91: 14(fvec3) Load 90
Store 89(param) 91
93: 15(ptr) AccessChain 25(b) 88
94: 14(fvec3) Load 93
Store 92(param) 94
95: 8(bool) FunctionCall 19(compare_vec3(vf3;vf3;) 89(param) 92(param)
SelectionMerge 97 None
BranchConditional 95 96 97
96: Label
100: 15(ptr) AccessChain 24(a) 98
101: 14(fvec3) Load 100
Store 99(param) 101
103: 15(ptr) AccessChain 25(b) 98
104: 14(fvec3) Load 103
Store 102(param) 104
105: 8(bool) FunctionCall 19(compare_vec3(vf3;vf3;) 99(param) 102(param)
Branch 97
97: Label
106: 8(bool) Phi 95 27 105 96
ReturnValue 106
FunctionEnd
34(compare_ivec2(vi2;vi2;): 8(bool) Function None 31
32(a): 30(ptr) FunctionParameter
33(b): 30(ptr) FunctionParameter
35: Label
109: 29(ivec2) Load 32(a)
110: 29(ivec2) Load 33(b)
112: 111(bvec2) IEqual 109 110
113: 8(bool) All 112
ReturnValue 113
FunctionEnd
42(compare_uvec3(vu3;vu3;): 8(bool) Function None 39
40(a): 38(ptr) FunctionParameter
41(b): 38(ptr) FunctionParameter
43: Label
116: 37(ivec3) Load 40(a)
117: 37(ivec3) Load 41(b)
119: 118(bvec3) IEqual 116 117
120: 8(bool) All 119
ReturnValue 120
FunctionEnd
46(compare_float16_t(f1;f1;): 8(bool) Function None 9
44(a): 7(ptr) FunctionParameter
45(b): 7(ptr) FunctionParameter
47: Label
123: 6(float) Load 44(a)
124: 6(float) Load 45(b)
125: 6(float) FSub 123 124
126: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 125
127: 8(bool) FOrdLessThan 126 52
ReturnValue 127
FunctionEnd