; SPIR-V ; Version: 1.0 ; Generator: Wine VKD3D Shader Compiler; 0 ; Bound: 43 ; Schema: 0 OpCapability Shader OpCapability SampledBuffer OpCapability ImageBuffer OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %3 "main" %15 OpExecutionMode %3 LocalSize 4 1 1 OpName %3 "main" OpName %8 "u0" OpName %9 "u0_counters" OpMemberName %9 0 "c" OpName %11 "u0_counter" OpName %15 "vThreadID" OpName %19 "r0" OpDecorate %8 DescriptorSet 0 OpDecorate %8 Binding 0 OpMemberDecorate %9 0 Offset 0 OpDecorate %9 BufferBlock OpDecorate %11 DescriptorSet 1 OpDecorate %11 Binding 1 OpDecorate %15 BuiltIn GlobalInvocationId %1 = OpTypeVoid %2 = OpTypeFunction %1 %5 = OpTypeInt 32 0 %6 = OpTypeImage %5 Buffer 0 0 0 2 R32ui %7 = OpTypePointer UniformConstant %6 %8 = OpVariable %7 UniformConstant %9 = OpTypeStruct %5 %10 = OpTypePointer Uniform %9 %11 = OpVariable %10 Uniform %12 = OpTypeInt 32 1 %13 = OpTypeVector %12 3 %14 = OpTypePointer Input %13 %15 = OpVariable %14 Input %16 = OpTypeFloat 32 %17 = OpTypeVector %16 4 %18 = OpTypePointer Function %17 %20 = OpTypePointer Uniform %5 %21 = OpConstant %5 0 %23 = OpConstant %5 1 %26 = OpTypePointer Function %16 %33 = OpConstant %12 0 %34 = OpConstant %5 2 %37 = OpTypePointer Input %12 %41 = OpTypeVector %5 4 %3 = OpFunction %1 None %2 %4 = OpLabel %19 = OpVariable %18 Function %22 = OpAccessChain %20 %11 %21 %24 = OpAtomicIDecrement %5 %22 %23 %21 %25 = OpBitcast %16 %24 %27 = OpInBoundsAccessChain %26 %19 %21 OpStore %27 %25 %28 = OpLoad %6 %8 %29 = OpInBoundsAccessChain %26 %19 %21 %30 = OpLoad %16 %29 %31 = OpBitcast %12 %30 %32 = OpIMul %5 %31 %23 %35 = OpShiftRightLogical %5 %33 %34 %36 = OpIAdd %5 %32 %35 %38 = OpInBoundsAccessChain %37 %15 %21 %39 = OpLoad %12 %38 %40 = OpBitcast %5 %39 %42 = OpCompositeConstruct %41 %40 %40 %40 %40 OpImageWrite %28 %36 %42 OpReturn OpFunctionEnd