ef6bde6580
Need to force temporaries eventually, or compilers have a tendency to explode.
289 lines
11 KiB
Plaintext
289 lines
11 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: Khronos SPIR-V Tools Assembler; 0
|
|
; Bound: 10117
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %1 "main" %gl_GlobalInvocationID
|
|
OpExecutionMode %1 LocalSize 1 1 1
|
|
OpSource GLSL 430
|
|
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId
|
|
OpDecorate %_arr_uint_int_16 ArrayStride 4
|
|
OpMemberDecorate %_struct_4 0 Offset 0
|
|
OpDecorate %_struct_4 BufferBlock
|
|
OpDecorate %5 DescriptorSet 0
|
|
OpDecorate %5 Binding 0
|
|
OpDecorate %6 DescriptorSet 0
|
|
OpDecorate %6 Binding 1
|
|
OpDecorate %7 DescriptorSet 0
|
|
OpDecorate %7 Binding 2
|
|
%void = OpTypeVoid
|
|
%bool = OpTypeBool
|
|
%int = OpTypeInt 32 1
|
|
%uint = OpTypeInt 32 0
|
|
%float = OpTypeFloat 32
|
|
%v2int = OpTypeVector %int 2
|
|
%v2uint = OpTypeVector %uint 2
|
|
%v2float = OpTypeVector %float 2
|
|
%v3int = OpTypeVector %int 3
|
|
%v3uint = OpTypeVector %uint 3
|
|
%v3float = OpTypeVector %float 3
|
|
%v4int = OpTypeVector %int 4
|
|
%v4uint = OpTypeVector %uint 4
|
|
%v4float = OpTypeVector %float 4
|
|
%v4bool = OpTypeVector %bool 4
|
|
%23 = OpTypeFunction %v4float %v4float
|
|
%24 = OpTypeFunction %bool
|
|
%25 = OpTypeFunction %void
|
|
%_ptr_Input_float = OpTypePointer Input %float
|
|
%_ptr_Input_int = OpTypePointer Input %int
|
|
%_ptr_Input_uint = OpTypePointer Input %uint
|
|
%_ptr_Input_v2float = OpTypePointer Input %v2float
|
|
%_ptr_Input_v2int = OpTypePointer Input %v2int
|
|
%_ptr_Input_v2uint = OpTypePointer Input %v2uint
|
|
%_ptr_Input_v3float = OpTypePointer Input %v3float
|
|
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
|
%_ptr_Input_v4int = OpTypePointer Input %v4int
|
|
%_ptr_Input_v4uint = OpTypePointer Input %v4uint
|
|
%_ptr_Output_float = OpTypePointer Output %float
|
|
%_ptr_Output_int = OpTypePointer Output %int
|
|
%_ptr_Output_uint = OpTypePointer Output %uint
|
|
%_ptr_Output_v2float = OpTypePointer Output %v2float
|
|
%_ptr_Output_v2int = OpTypePointer Output %v2int
|
|
%_ptr_Output_v2uint = OpTypePointer Output %v2uint
|
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
|
%_ptr_Output_v4int = OpTypePointer Output %v4int
|
|
%_ptr_Output_v4uint = OpTypePointer Output %v4uint
|
|
%_ptr_Function_float = OpTypePointer Function %float
|
|
%_ptr_Function_int = OpTypePointer Function %int
|
|
%_ptr_Function_v4float = OpTypePointer Function %v4float
|
|
%float_1 = OpConstant %float 1
|
|
%float_0 = OpConstant %float 0
|
|
%float_0_5 = OpConstant %float 0.5
|
|
%float_n1 = OpConstant %float -1
|
|
%float_7 = OpConstant %float 7
|
|
%float_8 = OpConstant %float 8
|
|
%int_0 = OpConstant %int 0
|
|
%int_1 = OpConstant %int 1
|
|
%int_2 = OpConstant %int 2
|
|
%int_3 = OpConstant %int 3
|
|
%int_4 = OpConstant %int 4
|
|
%uint_0 = OpConstant %uint 0
|
|
%uint_1 = OpConstant %uint 1
|
|
%uint_2 = OpConstant %uint 2
|
|
%uint_3 = OpConstant %uint 3
|
|
%uint_32 = OpConstant %uint 32
|
|
%uint_4 = OpConstant %uint 4
|
|
%uint_2147483647 = OpConstant %uint 2147483647
|
|
%66 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
|
|
%67 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
|
%68 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_0_5 %float_0_5
|
|
%_arr_float_uint_1 = OpTypeArray %float %uint_1
|
|
%_arr_float_uint_2 = OpTypeArray %float %uint_2
|
|
%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
|
|
%_arr_float_uint_4 = OpTypeArray %float %uint_4
|
|
%_arr_v4float_uint_32 = OpTypeArray %v4float %uint_32
|
|
%_ptr_Input__arr_v4float_uint_3 = OpTypePointer Input %_arr_v4float_uint_3
|
|
%_ptr_Input__arr_v4float_uint_32 = OpTypePointer Input %_arr_v4float_uint_32
|
|
%_ptr_Output__arr_float_uint_2 = OpTypePointer Output %_arr_float_uint_2
|
|
%_ptr_Output__arr_v4float_uint_3 = OpTypePointer Output %_arr_v4float_uint_3
|
|
%_ptr_Output__arr_float_uint_4 = OpTypePointer Output %_arr_float_uint_4
|
|
%_ptr_Input_v3uint = OpTypePointer Input %v3uint
|
|
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input
|
|
%int_16 = OpConstant %int 16
|
|
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
|
|
%_arr_uint_int_16 = OpTypeArray %uint %int_16
|
|
%_struct_4 = OpTypeStruct %_arr_uint_int_16
|
|
%_ptr_Uniform__struct_4 = OpTypePointer Uniform %_struct_4
|
|
%5 = OpVariable %_ptr_Uniform__struct_4 Uniform
|
|
%6 = OpVariable %_ptr_Uniform__struct_4 Uniform
|
|
%7 = OpVariable %_ptr_Uniform__struct_4 Uniform
|
|
%1 = OpFunction %void None %25
|
|
%83 = OpLabel
|
|
%84 = OpLoad %v3uint %gl_GlobalInvocationID
|
|
%85 = OpCompositeConstruct %v4uint %84 %uint_0
|
|
%86 = OpConvertUToF %v4float %85
|
|
%87 = OpFunctionCall %v4float %88 %86
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%88 = OpFunction %v4float None %23
|
|
%89 = OpFunctionParameter %v4float
|
|
%92 = OpLabel
|
|
%93 = OpVariable %_ptr_Function_int Function
|
|
OpStore %93 %int_0
|
|
OpBranch %94
|
|
%94 = OpLabel
|
|
%95 = OpLoad %int %93
|
|
%96 = OpSLessThan %bool %95 %int_16
|
|
OpLoopMerge %97 %10100 None
|
|
OpBranchConditional %96 %10101 %97
|
|
%10101 = OpLabel
|
|
%10102 = OpLoad %int %93
|
|
%90 = OpAccessChain %_ptr_Uniform_uint %6 %int_0 %10102
|
|
%91 = OpLoad %uint %90
|
|
%98 = OpAccessChain %_ptr_Uniform_uint %5 %int_0 %10102
|
|
%99 = OpLoad %uint %98
|
|
%100 = OpIAdd %uint %91 %99
|
|
%101 = OpIAdd %uint %91 %100
|
|
%102 = OpIAdd %uint %91 %101
|
|
%103 = OpIAdd %uint %91 %102
|
|
%104 = OpIAdd %uint %91 %103
|
|
%105 = OpIAdd %uint %91 %104
|
|
%106 = OpIAdd %uint %91 %105
|
|
%107 = OpIAdd %uint %91 %106
|
|
%108 = OpIAdd %uint %91 %107
|
|
%109 = OpIAdd %uint %91 %108
|
|
%110 = OpIAdd %uint %91 %109
|
|
%111 = OpIAdd %uint %91 %110
|
|
%112 = OpIAdd %uint %91 %111
|
|
%113 = OpIAdd %uint %91 %112
|
|
%114 = OpIAdd %uint %91 %113
|
|
%115 = OpIAdd %uint %91 %114
|
|
%116 = OpIAdd %uint %91 %115
|
|
%117 = OpIAdd %uint %91 %116
|
|
%118 = OpIAdd %uint %91 %117
|
|
%119 = OpIAdd %uint %91 %118
|
|
%120 = OpIAdd %uint %91 %119
|
|
%121 = OpIAdd %uint %91 %120
|
|
%122 = OpIAdd %uint %91 %121
|
|
%123 = OpIAdd %uint %91 %122
|
|
%124 = OpIAdd %uint %91 %123
|
|
%125 = OpIAdd %uint %91 %124
|
|
%126 = OpIAdd %uint %91 %125
|
|
%127 = OpIAdd %uint %91 %126
|
|
%128 = OpIAdd %uint %91 %127
|
|
%129 = OpIAdd %uint %91 %128
|
|
%130 = OpIAdd %uint %91 %129
|
|
%131 = OpIAdd %uint %91 %130
|
|
%132 = OpIAdd %uint %91 %131
|
|
%133 = OpIAdd %uint %91 %132
|
|
%134 = OpIAdd %uint %91 %133
|
|
%135 = OpIAdd %uint %91 %134
|
|
%136 = OpIAdd %uint %91 %135
|
|
%137 = OpIAdd %uint %91 %136
|
|
%138 = OpIAdd %uint %91 %137
|
|
%139 = OpIAdd %uint %91 %138
|
|
%140 = OpIAdd %uint %91 %139
|
|
%141 = OpIAdd %uint %91 %140
|
|
%142 = OpIAdd %uint %91 %141
|
|
%143 = OpIAdd %uint %91 %142
|
|
%144 = OpIAdd %uint %91 %143
|
|
%145 = OpIAdd %uint %91 %144
|
|
%146 = OpIAdd %uint %91 %145
|
|
%147 = OpIAdd %uint %91 %146
|
|
%148 = OpIAdd %uint %91 %147
|
|
%149 = OpIAdd %uint %91 %148
|
|
%150 = OpIAdd %uint %91 %149
|
|
%151 = OpIAdd %uint %91 %150
|
|
%152 = OpIAdd %uint %91 %151
|
|
%153 = OpIAdd %uint %91 %152
|
|
%154 = OpIAdd %uint %91 %153
|
|
%155 = OpIAdd %uint %91 %154
|
|
%156 = OpIAdd %uint %91 %155
|
|
%157 = OpIAdd %uint %91 %156
|
|
%158 = OpIAdd %uint %91 %157
|
|
%159 = OpIAdd %uint %91 %158
|
|
%160 = OpIAdd %uint %91 %159
|
|
%161 = OpIAdd %uint %91 %160
|
|
%162 = OpIAdd %uint %91 %161
|
|
%163 = OpIAdd %uint %91 %162
|
|
%164 = OpIAdd %uint %91 %163
|
|
%165 = OpIAdd %uint %91 %164
|
|
%166 = OpIAdd %uint %91 %165
|
|
%167 = OpIAdd %uint %91 %166
|
|
%168 = OpIAdd %uint %91 %167
|
|
%169 = OpIAdd %uint %91 %168
|
|
%170 = OpIAdd %uint %91 %169
|
|
%171 = OpIAdd %uint %91 %170
|
|
%172 = OpIAdd %uint %91 %171
|
|
%173 = OpIAdd %uint %91 %172
|
|
%174 = OpIAdd %uint %91 %173
|
|
%175 = OpIAdd %uint %91 %174
|
|
%176 = OpIAdd %uint %91 %175
|
|
%177 = OpIAdd %uint %91 %176
|
|
%178 = OpIAdd %uint %91 %177
|
|
%179 = OpIAdd %uint %91 %178
|
|
%180 = OpIAdd %uint %91 %179
|
|
%181 = OpIAdd %uint %91 %180
|
|
%182 = OpIAdd %uint %91 %181
|
|
%183 = OpIAdd %uint %91 %182
|
|
%184 = OpIAdd %uint %91 %183
|
|
%185 = OpIAdd %uint %91 %184
|
|
%186 = OpIAdd %uint %91 %185
|
|
%187 = OpIAdd %uint %91 %186
|
|
%188 = OpIAdd %uint %91 %187
|
|
%189 = OpIAdd %uint %91 %188
|
|
%190 = OpIAdd %uint %91 %189
|
|
%191 = OpIAdd %uint %91 %190
|
|
%192 = OpIAdd %uint %91 %191
|
|
%193 = OpIAdd %uint %91 %192
|
|
%194 = OpIAdd %uint %91 %193
|
|
%195 = OpIAdd %uint %91 %194
|
|
%196 = OpIAdd %uint %91 %195
|
|
%197 = OpIAdd %uint %91 %196
|
|
%198 = OpIAdd %uint %91 %197
|
|
%199 = OpIAdd %uint %91 %198
|
|
%200 = OpIAdd %uint %91 %199
|
|
%201 = OpIAdd %uint %91 %200
|
|
%202 = OpIAdd %uint %91 %201
|
|
%203 = OpIAdd %uint %91 %202
|
|
%204 = OpIAdd %uint %91 %203
|
|
%205 = OpIAdd %uint %91 %204
|
|
%206 = OpIAdd %uint %91 %205
|
|
%207 = OpIAdd %uint %91 %206
|
|
%208 = OpIAdd %uint %91 %207
|
|
%209 = OpIAdd %uint %91 %208
|
|
%210 = OpIAdd %uint %91 %209
|
|
%211 = OpIAdd %uint %91 %210
|
|
%212 = OpIAdd %uint %91 %211
|
|
%213 = OpIAdd %uint %91 %212
|
|
%214 = OpIAdd %uint %91 %213
|
|
%215 = OpIAdd %uint %91 %214
|
|
%216 = OpIAdd %uint %91 %215
|
|
%217 = OpIAdd %uint %91 %216
|
|
%218 = OpIAdd %uint %91 %217
|
|
%219 = OpIAdd %uint %91 %218
|
|
%220 = OpIAdd %uint %91 %219
|
|
%221 = OpIAdd %uint %91 %220
|
|
%222 = OpIAdd %uint %91 %221
|
|
%223 = OpIAdd %uint %91 %222
|
|
%224 = OpIAdd %uint %91 %223
|
|
%225 = OpIAdd %uint %91 %224
|
|
%226 = OpIAdd %uint %91 %225
|
|
%227 = OpIAdd %uint %91 %226
|
|
%228 = OpIAdd %uint %91 %227
|
|
%229 = OpIAdd %uint %91 %228
|
|
%230 = OpIAdd %uint %91 %229
|
|
%231 = OpIAdd %uint %91 %230
|
|
%232 = OpIAdd %uint %91 %231
|
|
%233 = OpIAdd %uint %91 %232
|
|
%234 = OpIAdd %uint %91 %233
|
|
%235 = OpIAdd %uint %91 %234
|
|
%236 = OpIAdd %uint %91 %235
|
|
%result = OpIAdd %uint %91 %236
|
|
%10103 = OpAccessChain %_ptr_Uniform_uint %7 %int_0 %10102
|
|
OpStore %10103 %result
|
|
OpBranch %10100
|
|
%10100 = OpLabel
|
|
%10104 = OpLoad %int %93
|
|
%10105 = OpIAdd %int %10104 %int_1
|
|
OpStore %93 %10105
|
|
OpBranch %94
|
|
%97 = OpLabel
|
|
OpReturnValue %89
|
|
OpFunctionEnd
|
|
%10106 = OpFunction %bool None %24
|
|
%10107 = OpLabel
|
|
%10108 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_0
|
|
%10109 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_1
|
|
%10110 = OpAccessChain %_ptr_Input_uint %gl_GlobalInvocationID %uint_2
|
|
%10111 = OpLoad %uint %10108
|
|
%10112 = OpLoad %uint %10109
|
|
%10113 = OpLoad %uint %10110
|
|
%10114 = OpBitwiseOr %uint %10111 %10112
|
|
%10115 = OpBitwiseOr %uint %10113 %10114
|
|
%10116 = OpIEqual %bool %10115 %uint_0
|
|
OpReturnValue %10116
|
|
OpFunctionEnd
|