bug/chromium/1273230.wgsl:4:7 warning: use of deprecated builtin _ = isNormal(4.); ^^^^^^^^ bug/chromium/1273230.wgsl:7:3 warning: use of deprecated builtin isNormal(vec4()); ^^^^^^^^ bug/chromium/1273230.wgsl:10:6 warning: use of deprecated builtin isNormal(0.); ^^^^^^^^ bug/chromium/1273230.wgsl:11:9 warning: use of deprecated builtin _ = isNormal(4.); ^^^^^^^^ bug/chromium/1273230.wgsl:12:9 warning: use of deprecated builtin _ = isNormal(2.); ^^^^^^^^ ; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 308 ; Schema: 0 OpCapability Shader %38 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %main_count "main_count" %GlobalInvocationID_1 OpExecutionMode %main_count LocalSize 128 1 1 OpName %GlobalInvocationID_1 "GlobalInvocationID_1" OpName %Uniforms "Uniforms" OpMemberName %Uniforms 0 "numTriangles" OpMemberName %Uniforms 1 "gridSize" OpMemberName %Uniforms 2 "puuuuuuuuuuuuuuuuad1" OpMemberName %Uniforms 3 "pad2" OpMemberName %Uniforms 4 "bbMin" OpMemberName %Uniforms 5 "bbMax" OpName %uniforms "uniforms" OpName %U32s "U32s" OpMemberName %U32s 0 "values" OpName %indices "indices" OpName %F32s "F32s" OpMemberName %F32s 0 "values" OpName %positions "positions" OpName %AU32s "AU32s" OpMemberName %AU32s 0 "values" OpName %counters "counters" OpName %AI32s "AI32s" OpMemberName %AI32s 0 "values" OpName %LUT "LUT" OpName %Dbg "Dbg" OpMemberName %Dbg 0 "offsetCounter" OpMemberName %Dbg 1 "pad0" OpMemberName %Dbg 2 "pad1" OpMemberName %Dbg 3 "pad2" OpMemberName %Dbg 4 "value0" OpMemberName %Dbg 5 "value1" OpMemberName %Dbg 6 "value2" OpMemberName %Dbg 7 "value3" OpMemberName %Dbg 8 "value_f32_0" OpMemberName %Dbg 9 "value_f32_1" OpMemberName %Dbg 10 "value_f32_2" OpMemberName %Dbg 11 "value_f32_3" OpName %dbg "dbg" OpName %marg8uintin "marg8uintin" OpName %toVoxelPos "toVoxelPos" OpName %position "position" OpName %bbMin "bbMin" OpName %bbMax "bbMax" OpName %bbSize "bbSize" OpName %cubeSize "cubeSize" OpName %gridSize "gridSize" OpName %gx "gx" OpName %gy "gy" OpName %gz "gz" OpName %toIndex1D "toIndex1D" OpName %gridSize_0 "gridSize" OpName %voxelPos "voxelPos" OpName %icoord "icoord" OpName %toIndex4D "toIndex4D" OpName %gridSize_1 "gridSize" OpName %index "index" OpName %z "z" OpName %y "y" OpName %x "x" OpName %loadPosition "loadPosition" OpName %vertexIndex "vertexIndex" OpName %position_0 "position" OpName %doIgnore "doIgnore" OpName %g43 "g43" OpName %kj6 "kj6" OpName %b53 "b53" OpName %rwg "rwg" OpName %rb5 "rb5" OpName %g55 "g55" OpName %main_count_inner "main_count_inner" OpName %GlobalInvocationID "GlobalInvocationID" OpName %triangleIndex "triangleIndex" OpName %i0 "i0" OpName %i1 "i1" OpName %i2 "i2" OpName %p0 "p0" OpName %p1 "p1" OpName %p2 "p2" OpName %center "center" OpName %voxelPos_0 "voxelPos" OpName %lIndex "lIndex" OpName %triangleOffset "triangleOffset" OpName %main_count "main_count" OpDecorate %GlobalInvocationID_1 BuiltIn GlobalInvocationId OpDecorate %Uniforms Block OpMemberDecorate %Uniforms 0 Offset 0 OpMemberDecorate %Uniforms 1 Offset 4 OpMemberDecorate %Uniforms 2 Offset 8 OpMemberDecorate %Uniforms 3 Offset 12 OpMemberDecorate %Uniforms 4 Offset 16 OpMemberDecorate %Uniforms 5 Offset 32 OpDecorate %uniforms NonWritable OpDecorate %uniforms Binding 0 OpDecorate %uniforms DescriptorSet 0 OpDecorate %U32s Block OpMemberDecorate %U32s 0 Offset 0 OpDecorate %_runtimearr_uint ArrayStride 4 OpDecorate %indices Binding 10 OpDecorate %indices DescriptorSet 0 OpDecorate %F32s Block OpMemberDecorate %F32s 0 Offset 0 OpDecorate %_runtimearr_float ArrayStride 4 OpDecorate %positions Binding 11 OpDecorate %positions DescriptorSet 0 OpDecorate %AU32s Block OpMemberDecorate %AU32s 0 Offset 0 OpDecorate %_runtimearr_uint_0 ArrayStride 4 OpDecorate %counters Binding 20 OpDecorate %counters DescriptorSet 0 OpDecorate %AI32s Block OpMemberDecorate %AI32s 0 Offset 0 OpDecorate %_runtimearr_int ArrayStride 4 OpDecorate %LUT Binding 21 OpDecorate %LUT DescriptorSet 0 OpDecorate %Dbg Block OpMemberDecorate %Dbg 0 Offset 0 OpMemberDecorate %Dbg 1 Offset 4 OpMemberDecorate %Dbg 2 Offset 8 OpMemberDecorate %Dbg 3 Offset 12 OpMemberDecorate %Dbg 4 Offset 16 OpMemberDecorate %Dbg 5 Offset 20 OpMemberDecorate %Dbg 6 Offset 24 OpMemberDecorate %Dbg 7 Offset 28 OpMemberDecorate %Dbg 8 Offset 32 OpMemberDecorate %Dbg 9 Offset 36 OpMemberDecorate %Dbg 10 Offset 40 OpMemberDecorate %Dbg 11 Offset 44 OpDecorate %dbg Binding 50 OpDecorate %dbg DescriptorSet 0 %uint = OpTypeInt 32 0 %v3uint = OpTypeVector %uint 3 %_ptr_Input_v3uint = OpTypePointer Input %v3uint %GlobalInvocationID_1 = OpVariable %_ptr_Input_v3uint Input %float = OpTypeFloat 32 %v3float = OpTypeVector %float 3 %Uniforms = OpTypeStruct %uint %uint %uint %uint %v3float %v3float %_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms %uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform %_runtimearr_uint = OpTypeRuntimeArray %uint %U32s = OpTypeStruct %_runtimearr_uint %_ptr_StorageBuffer_U32s = OpTypePointer StorageBuffer %U32s %indices = OpVariable %_ptr_StorageBuffer_U32s StorageBuffer %_runtimearr_float = OpTypeRuntimeArray %float %F32s = OpTypeStruct %_runtimearr_float %_ptr_StorageBuffer_F32s = OpTypePointer StorageBuffer %F32s %positions = OpVariable %_ptr_StorageBuffer_F32s StorageBuffer %_runtimearr_uint_0 = OpTypeRuntimeArray %uint %AU32s = OpTypeStruct %_runtimearr_uint_0 %_ptr_StorageBuffer_AU32s = OpTypePointer StorageBuffer %AU32s %counters = OpVariable %_ptr_StorageBuffer_AU32s StorageBuffer %int = OpTypeInt 32 1 %_runtimearr_int = OpTypeRuntimeArray %int %AI32s = OpTypeStruct %_runtimearr_int %_ptr_StorageBuffer_AI32s = OpTypePointer StorageBuffer %AI32s %LUT = OpVariable %_ptr_StorageBuffer_AI32s StorageBuffer %Dbg = OpTypeStruct %uint %uint %uint %uint %uint %uint %uint %uint %float %float %float %float %_ptr_StorageBuffer_Dbg = OpTypePointer StorageBuffer %Dbg %dbg = OpVariable %_ptr_StorageBuffer_Dbg StorageBuffer %void = OpTypeVoid %30 = OpTypeFunction %void %int_0 = OpConstant %int 0 %bool = OpTypeBool %float_4 = OpConstant %float 4 %uint_133693440 = OpConstant %uint 133693440 %uint_524288 = OpConstant %uint 524288 %uint_133169152 = OpConstant %uint 133169152 %v4float = OpTypeVector %float 4 %float_2 = OpConstant %float 2 %47 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2 %v4bool = OpTypeVector %bool 4 %50 = OpConstantNull %v4float %v4uint = OpTypeVector %uint 4 %float_0 = OpConstant %float 0 %71 = OpTypeFunction %v3float %v3float %uint_4 = OpConstant %uint 4 %uint_0 = OpConstant %uint 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %uint_1 = OpConstant %uint 1 %uint_2 = OpConstant %uint 2 %_ptr_Function_v3float = OpTypePointer Function %v3float %89 = OpConstantNull %v3float %uint_5 = OpConstant %uint 5 %_ptr_Function_float = OpTypePointer Function %float %113 = OpConstantNull %float %_ptr_Uniform_uint = OpTypePointer Uniform %uint %150 = OpTypeFunction %uint %uint %v3float %_ptr_Function_v3uint = OpTypePointer Function %v3uint %158 = OpConstantNull %v3uint %_ptr_Function_uint = OpTypePointer Function %uint %171 = OpTypeFunction %v3uint %uint %uint %179 = OpConstantNull %uint %192 = OpTypeFunction %v3float %uint %uint_3 = OpConstant %uint 3 %_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float %_ptr_StorageBuffer_uint = OpTypePointer StorageBuffer %uint %_ptr_StorageBuffer_uint_0 = OpTypePointer StorageBuffer %uint %_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int %_ptr_Function_int = OpTypePointer Function %int %239 = OpConstantNull %int %240 = OpTypeFunction %void %v3uint %float_3 = OpConstant %float 3 %int_1 = OpConstant %int 1 %marg8uintin = OpFunction %void None %30 %33 = OpLabel %42 = OpBitcast %uint %float_4 %43 = OpBitwiseAnd %uint %42 %uint_133693440 %44 = OpExtInst %uint %38 UClamp %43 %uint_524288 %uint_133169152 %35 = OpIEqual %bool %43 %44 %52 = OpCompositeConstruct %v4uint %uint_133693440 %uint_133693440 %uint_133693440 %uint_133693440 %53 = OpCompositeConstruct %v4uint %uint_524288 %uint_524288 %uint_524288 %uint_524288 %54 = OpCompositeConstruct %v4uint %uint_133169152 %uint_133169152 %uint_133169152 %uint_133169152 %55 = OpBitcast %v4uint %50 %56 = OpBitwiseAnd %v4uint %55 %52 %57 = OpExtInst %v4uint %38 UClamp %56 %53 %54 %48 = OpIEqual %v4bool %56 %57 %60 = OpBitcast %uint %float_0 %61 = OpBitwiseAnd %uint %60 %uint_133693440 %62 = OpExtInst %uint %38 UClamp %61 %uint_524288 %uint_133169152 %58 = OpIEqual %bool %61 %62 %64 = OpBitcast %uint %float_4 %65 = OpBitwiseAnd %uint %64 %uint_133693440 %66 = OpExtInst %uint %38 UClamp %65 %uint_524288 %uint_133169152 %63 = OpIEqual %bool %65 %66 %68 = OpBitcast %uint %float_2 %69 = OpBitwiseAnd %uint %68 %uint_133693440 %70 = OpExtInst %uint %38 UClamp %69 %uint_524288 %uint_133169152 %67 = OpIEqual %bool %69 %70 OpReturn OpFunctionEnd %toVoxelPos = OpFunction %v3float None %71 %position = OpFunctionParameter %v3float %74 = OpLabel %bbMin = OpVariable %_ptr_Function_v3float Function %89 %bbMax = OpVariable %_ptr_Function_v3float Function %89 %bbSize = OpVariable %_ptr_Function_v3float Function %89 %cubeSize = OpVariable %_ptr_Function_float Function %113 %gridSize = OpVariable %_ptr_Function_float Function %113 %gx = OpVariable %_ptr_Function_float Function %113 %gy = OpVariable %_ptr_Function_float Function %113 %gz = OpVariable %_ptr_Function_float Function %113 %78 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_0 %79 = OpLoad %float %78 %81 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_1 %82 = OpLoad %float %81 %84 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_2 %85 = OpLoad %float %84 %86 = OpCompositeConstruct %v3float %79 %82 %85 OpStore %bbMin %86 %91 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_5 %uint_0 %92 = OpLoad %float %91 %93 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_5 %uint_1 %94 = OpLoad %float %93 %95 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_5 %uint_2 %96 = OpLoad %float %95 %97 = OpCompositeConstruct %v3float %92 %94 %96 OpStore %bbMax %97 %99 = OpLoad %v3float %bbMin %100 = OpLoad %v3float %bbMin %101 = OpFSub %v3float %99 %100 OpStore %bbSize %101 %106 = OpAccessChain %_ptr_Function_float %bbMax %uint_0 %107 = OpLoad %float %106 %108 = OpAccessChain %_ptr_Function_float %bbMax %uint_1 %109 = OpLoad %float %108 %104 = OpExtInst %float %38 NMax %107 %109 %110 = OpAccessChain %_ptr_Function_float %bbSize %uint_2 %111 = OpLoad %float %110 %103 = OpExtInst %float %38 NMax %104 %111 OpStore %cubeSize %103 %116 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_1 %117 = OpLoad %uint %116 %114 = OpConvertUToF %float %117 OpStore %gridSize %114 %119 = OpLoad %float %cubeSize %120 = OpCompositeExtract %float %position 0 %121 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_0 %122 = OpLoad %float %121 %123 = OpFSub %float %120 %122 %124 = OpFMul %float %119 %123 %125 = OpLoad %float %cubeSize %126 = OpFDiv %float %124 %125 OpStore %gx %126 %128 = OpLoad %float %gx %129 = OpCompositeExtract %float %position 1 %130 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_1 %131 = OpLoad %float %130 %132 = OpFSub %float %129 %131 %133 = OpFMul %float %128 %132 %134 = OpLoad %float %gridSize %135 = OpFDiv %float %133 %134 OpStore %gy %135 %137 = OpLoad %float %gridSize %138 = OpCompositeExtract %float %position 2 %139 = OpAccessChain %_ptr_Uniform_float %uniforms %uint_4 %uint_2 %140 = OpLoad %float %139 %141 = OpFSub %float %138 %140 %142 = OpFMul %float %137 %141 %143 = OpLoad %float %gridSize %144 = OpFDiv %float %142 %143 OpStore %gz %144 %146 = OpLoad %float %gz %147 = OpLoad %float %gz %148 = OpLoad %float %gz %149 = OpCompositeConstruct %v3float %146 %147 %148 OpReturnValue %149 OpFunctionEnd %toIndex1D = OpFunction %uint None %150 %gridSize_0 = OpFunctionParameter %uint %voxelPos = OpFunctionParameter %v3float %154 = OpLabel %icoord = OpVariable %_ptr_Function_v3uint Function %158 %155 = OpConvertFToU %v3uint %voxelPos OpStore %icoord %155 %160 = OpAccessChain %_ptr_Function_uint %icoord %uint_0 %161 = OpLoad %uint %160 %162 = OpAccessChain %_ptr_Function_uint %icoord %uint_1 %163 = OpLoad %uint %162 %164 = OpIMul %uint %gridSize_0 %163 %165 = OpIAdd %uint %161 %164 %166 = OpIMul %uint %gridSize_0 %gridSize_0 %167 = OpAccessChain %_ptr_Function_uint %icoord %uint_2 %168 = OpLoad %uint %167 %169 = OpIMul %uint %166 %168 %170 = OpIAdd %uint %165 %169 OpReturnValue %170 OpFunctionEnd %toIndex4D = OpFunction %v3uint None %171 %gridSize_1 = OpFunctionParameter %uint %index = OpFunctionParameter %uint %175 = OpLabel %z = OpVariable %_ptr_Function_uint Function %179 %y = OpVariable %_ptr_Function_uint Function %179 %x = OpVariable %_ptr_Function_uint Function %179 %176 = OpIMul %uint %index %index %177 = OpUDiv %uint %gridSize_1 %176 OpStore %z %177 %180 = OpIMul %uint %gridSize_1 %gridSize_1 %181 = OpLoad %uint %z %182 = OpIMul %uint %180 %181 %183 = OpISub %uint %gridSize_1 %182 %184 = OpUDiv %uint %183 %gridSize_1 OpStore %y %184 %186 = OpUMod %uint %index %gridSize_1 OpStore %x %186 %188 = OpLoad %uint %z %189 = OpLoad %uint %y %190 = OpLoad %uint %y %191 = OpCompositeConstruct %v3uint %188 %189 %190 OpReturnValue %191 OpFunctionEnd %loadPosition = OpFunction %v3float None %192 %vertexIndex = OpFunctionParameter %uint %195 = OpLabel %position_0 = OpVariable %_ptr_Function_v3float Function %89 %197 = OpIMul %uint %uint_3 %vertexIndex %198 = OpIAdd %uint %197 %uint_0 %200 = OpAccessChain %_ptr_StorageBuffer_float %positions %uint_0 %198 %201 = OpLoad %float %200 %202 = OpIMul %uint %uint_3 %vertexIndex %203 = OpIAdd %uint %202 %uint_1 %204 = OpAccessChain %_ptr_StorageBuffer_float %positions %uint_0 %203 %205 = OpLoad %float %204 %206 = OpIMul %uint %uint_3 %vertexIndex %207 = OpIAdd %uint %206 %uint_2 %208 = OpAccessChain %_ptr_StorageBuffer_float %positions %uint_0 %207 %209 = OpLoad %float %208 %210 = OpCompositeConstruct %v3float %201 %205 %209 OpStore %position_0 %210 %212 = OpLoad %v3float %position_0 OpReturnValue %212 OpFunctionEnd %doIgnore = OpFunction %void None %30 %214 = OpLabel %g43 = OpVariable %_ptr_Function_uint Function %179 %kj6 = OpVariable %_ptr_Function_uint Function %179 %b53 = OpVariable %_ptr_Function_uint Function %179 %rwg = OpVariable %_ptr_Function_uint Function %179 %rb5 = OpVariable %_ptr_Function_float Function %113 %g55 = OpVariable %_ptr_Function_int Function %239 %215 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0 %216 = OpLoad %uint %215 OpStore %g43 %216 %219 = OpAccessChain %_ptr_StorageBuffer_uint %dbg %uint_5 %220 = OpLoad %uint %219 OpStore %kj6 %220 %225 = OpAccessChain %_ptr_StorageBuffer_uint_0 %counters %uint_0 %int_0 %222 = OpAtomicLoad %uint %225 %uint_1 %uint_0 OpStore %b53 %222 %227 = OpAccessChain %_ptr_StorageBuffer_uint %indices %uint_0 %int_0 %228 = OpLoad %uint %227 OpStore %rwg %228 %230 = OpAccessChain %_ptr_StorageBuffer_float %positions %uint_0 %int_0 %231 = OpLoad %float %230 OpStore %rb5 %231 %236 = OpAccessChain %_ptr_StorageBuffer_int %LUT %uint_0 %int_0 %233 = OpAtomicLoad %int %236 %uint_1 %uint_0 OpStore %g55 %233 OpReturn OpFunctionEnd %main_count_inner = OpFunction %void None %240 %GlobalInvocationID = OpFunctionParameter %v3uint %243 = OpLabel %triangleIndex = OpVariable %_ptr_Function_uint Function %179 %i0 = OpVariable %_ptr_Function_uint Function %179 %i1 = OpVariable %_ptr_Function_uint Function %179 %i2 = OpVariable %_ptr_Function_uint Function %179 %p0 = OpVariable %_ptr_Function_v3float Function %89 %p1 = OpVariable %_ptr_Function_v3float Function %89 %p2 = OpVariable %_ptr_Function_v3float Function %89 %287 = OpVariable %_ptr_Function_v3float Function %89 %center = OpVariable %_ptr_Function_v3float Function %89 %voxelPos_0 = OpVariable %_ptr_Function_v3float Function %89 %lIndex = OpVariable %_ptr_Function_uint Function %179 %triangleOffset = OpVariable %_ptr_Function_int Function %239 %244 = OpCompositeExtract %uint %GlobalInvocationID 0 OpStore %triangleIndex %244 %246 = OpLoad %uint %triangleIndex %247 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0 %248 = OpLoad %uint %247 %249 = OpUGreaterThanEqual %bool %246 %248 OpSelectionMerge %250 None OpBranchConditional %249 %251 %250 %251 = OpLabel OpReturn %250 = OpLabel %252 = OpFunctionCall %void %doIgnore %253 = OpLoad %uint %triangleIndex %254 = OpIMul %uint %uint_3 %253 %255 = OpIAdd %uint %254 %uint_0 %256 = OpAccessChain %_ptr_StorageBuffer_uint %indices %uint_0 %255 %257 = OpLoad %uint %256 OpStore %i0 %257 %259 = OpLoad %uint %i0 %260 = OpIMul %uint %uint_3 %259 %261 = OpIAdd %uint %260 %uint_1 %262 = OpAccessChain %_ptr_StorageBuffer_uint %indices %uint_0 %261 %263 = OpLoad %uint %262 OpStore %i1 %263 %265 = OpLoad %uint %i0 %266 = OpIMul %uint %uint_3 %265 %267 = OpIAdd %uint %266 %uint_2 %268 = OpAccessChain %_ptr_StorageBuffer_uint %indices %uint_0 %267 %269 = OpLoad %uint %268 OpStore %i2 %269 %272 = OpLoad %uint %i0 %271 = OpFunctionCall %v3float %loadPosition %272 OpStore %p0 %271 %275 = OpLoad %uint %i0 %274 = OpFunctionCall %v3float %loadPosition %275 OpStore %p1 %274 %278 = OpLoad %uint %i2 %277 = OpFunctionCall %v3float %loadPosition %278 OpStore %p2 %277 %280 = OpLoad %v3float %p0 %281 = OpLoad %v3float %p2 %282 = OpFAdd %v3float %280 %281 %283 = OpLoad %v3float %p1 %284 = OpFAdd %v3float %282 %283 %288 = OpCompositeConstruct %v3float %float_3 %float_3 %float_3 %286 = OpFDiv %v3float %284 %288 OpStore %center %286 %291 = OpLoad %v3float %p1 %290 = OpFunctionCall %v3float %toVoxelPos %291 OpStore %voxelPos_0 %290 %294 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_1 %295 = OpLoad %uint %294 %296 = OpLoad %v3float %p0 %293 = OpFunctionCall %uint %toIndex1D %295 %296 OpStore %lIndex %293 %300 = OpLoad %uint %i1 %301 = OpAccessChain %_ptr_StorageBuffer_int %LUT %uint_0 %300 %298 = OpAtomicIAdd %int %301 %uint_1 %uint_0 %int_1 OpStore %triangleOffset %298 OpReturn OpFunctionEnd %main_count = OpFunction %void None %30 %305 = OpLabel %307 = OpLoad %v3uint %GlobalInvocationID_1 %306 = OpFunctionCall %void %main_count_inner %307 OpReturn OpFunctionEnd