mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-13 21:50:06 +00:00
33c7e30860
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
307 lines
15 KiB
Plaintext
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
|