| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 0 |
| ; Bound: 106 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint GLCompute %main "main" |
| OpExecutionMode %main LocalSize 1 1 1 |
| OpName %s_block "s_block" |
| OpMemberName %s_block 0 "inner" |
| OpName %s "s" |
| OpName %main "main" |
| OpDecorate %s_block Block |
| OpMemberDecorate %s_block 0 Offset 0 |
| OpDecorate %s DescriptorSet 0 |
| OpDecorate %s Binding 0 |
| OpDecorate %_arr_int_uint_4 ArrayStride 4 |
| OpDecorate %_arr__arr_int_uint_4_uint_3 ArrayStride 16 |
| OpDecorate %_arr__arr__arr_int_uint_4_uint_3_uint_2 ArrayStride 48 |
| OpDecorate %_arr__arr_int_uint_4_uint_2 ArrayStride 16 |
| %int = OpTypeInt 32 1 |
| %s_block = OpTypeStruct %int |
| %_ptr_StorageBuffer_s_block = OpTypePointer StorageBuffer %s_block |
| %s = OpVariable %_ptr_StorageBuffer_s_block StorageBuffer |
| %void = OpTypeVoid |
| %5 = OpTypeFunction %void |
| %int_42 = OpConstant %int 42 |
| %uint = OpTypeInt 32 0 |
| %uint_4 = OpConstant %uint 4 |
| %_arr_int_uint_4 = OpTypeArray %int %uint_4 |
| %13 = OpConstantNull %_arr_int_uint_4 |
| %int_1 = OpConstant %int 1 |
| %int_2 = OpConstant %int 2 |
| %int_3 = OpConstant %int 3 |
| %int_4 = OpConstant %int 4 |
| %18 = OpConstantComposite %_arr_int_uint_4 %int_1 %int_2 %int_3 %int_4 |
| %uint_3 = OpConstant %uint 3 |
| %_arr__arr_int_uint_4_uint_3 = OpTypeArray %_arr_int_uint_4 %uint_3 |
| %uint_2 = OpConstant %uint 2 |
| %_arr__arr__arr_int_uint_4_uint_3_uint_2 = OpTypeArray %_arr__arr_int_uint_4_uint_3 %uint_2 |
| %26 = OpConstantNull %_arr__arr__arr_int_uint_4_uint_3_uint_2 |
| %int_5 = OpConstant %int 5 |
| %int_6 = OpConstant %int 6 |
| %int_7 = OpConstant %int 7 |
| %int_8 = OpConstant %int 8 |
| %31 = OpConstantComposite %_arr_int_uint_4 %int_5 %int_6 %int_7 %int_8 |
| %int_9 = OpConstant %int 9 |
| %int_10 = OpConstant %int 10 |
| %int_11 = OpConstant %int 11 |
| %int_12 = OpConstant %int 12 |
| %36 = OpConstantComposite %_arr_int_uint_4 %int_9 %int_10 %int_11 %int_12 |
| %37 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %18 %31 %36 |
| %int_13 = OpConstant %int 13 |
| %int_14 = OpConstant %int 14 |
| %int_15 = OpConstant %int 15 |
| %int_16 = OpConstant %int 16 |
| %42 = OpConstantComposite %_arr_int_uint_4 %int_13 %int_14 %int_15 %int_16 |
| %int_17 = OpConstant %int 17 |
| %int_18 = OpConstant %int 18 |
| %int_19 = OpConstant %int 19 |
| %int_20 = OpConstant %int 20 |
| %47 = OpConstantComposite %_arr_int_uint_4 %int_17 %int_18 %int_19 %int_20 |
| %int_21 = OpConstant %int 21 |
| %int_22 = OpConstant %int 22 |
| %int_23 = OpConstant %int 23 |
| %int_24 = OpConstant %int 24 |
| %52 = OpConstantComposite %_arr_int_uint_4 %int_21 %int_22 %int_23 %int_24 |
| %53 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %42 %47 %52 |
| %54 = OpConstantComposite %_arr__arr__arr_int_uint_4_uint_3_uint_2 %37 %53 |
| %64 = OpConstantNull %int |
| %_arr__arr_int_uint_4_uint_2 = OpTypeArray %_arr_int_uint_4 %uint_2 |
| %uint_0 = OpConstant %uint 0 |
| %_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int |
| %main = OpFunction %void None %5 |
| %8 = OpLabel |
| %19 = OpIAdd %int %int_42 %int_1 |
| %20 = OpCompositeExtract %int %18 3 |
| %21 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_42 %19 %20 |
| %55 = OpIAdd %int %int_42 %int_1 |
| %56 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_2 %int_42 %55 |
| %57 = OpCompositeExtract %int %18 2 |
| %58 = OpCompositeExtract %int %18 3 |
| %59 = OpIAdd %int %58 %int_1 |
| %60 = OpCompositeConstruct %_arr_int_uint_4 %int_5 %int_6 %57 %59 |
| %61 = OpCompositeConstruct %_arr__arr_int_uint_4_uint_3 %56 %60 %18 |
| %62 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %54 1 |
| %63 = OpCompositeConstruct %_arr__arr__arr_int_uint_4_uint_3_uint_2 %61 %62 |
| %65 = OpIAdd %int %int_42 %int_1 |
| %66 = OpCompositeExtract %int %18 3 |
| %67 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_42 %65 %66 |
| %68 = OpCompositeExtract %int %67 2 |
| %70 = OpIAdd %int %int_42 %int_1 |
| %71 = OpCompositeExtract %int %18 3 |
| %72 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_42 %70 %71 |
| %73 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %54 1 |
| %74 = OpCompositeExtract %_arr_int_uint_4 %73 2 |
| %75 = OpCompositeConstruct %_arr__arr_int_uint_4_uint_2 %72 %74 |
| %76 = OpCompositeExtract %_arr_int_uint_4 %75 1 |
| %79 = OpAccessChain %_ptr_StorageBuffer_int %s %uint_0 |
| %80 = OpCompositeExtract %int %13 0 |
| %81 = OpCompositeExtract %int %18 0 |
| %82 = OpIAdd %int %80 %81 |
| %83 = OpCompositeExtract %int %21 0 |
| %84 = OpIAdd %int %82 %83 |
| %85 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %26 0 |
| %86 = OpCompositeExtract %_arr_int_uint_4 %85 0 |
| %87 = OpCompositeExtract %int %86 0 |
| %88 = OpIAdd %int %84 %87 |
| %89 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %54 0 |
| %90 = OpCompositeExtract %_arr_int_uint_4 %89 0 |
| %91 = OpCompositeExtract %int %90 0 |
| %92 = OpIAdd %int %88 %91 |
| %93 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %63 0 |
| %94 = OpCompositeExtract %_arr_int_uint_4 %93 0 |
| %95 = OpCompositeExtract %int %94 0 |
| %96 = OpIAdd %int %92 %95 |
| %97 = OpIAdd %int %96 %64 |
| %98 = OpIAdd %int %97 %int_3 |
| %99 = OpIAdd %int %98 %68 |
| %100 = OpCompositeExtract %int %13 0 |
| %101 = OpIAdd %int %99 %100 |
| %102 = OpCompositeExtract %int %31 0 |
| %103 = OpIAdd %int %101 %102 |
| %104 = OpCompositeExtract %int %76 0 |
| %105 = OpIAdd %int %103 %104 |
| OpStore %79 %105 |
| OpReturn |
| OpFunctionEnd |