| ; SPIR-V |
| ; Version: 1.3 |
| ; Generator: Google Tint Compiler; 1 |
| ; Bound: 99 |
| ; Schema: 0 |
| OpCapability Shader |
| OpMemoryModel Logical GLSL450 |
| OpEntryPoint GLCompute %main "main" |
| OpExecutionMode %main LocalSize 1 1 1 |
| OpMemberName %tint_symbol_1 0 "tint_symbol" |
| OpName %tint_symbol_1 "tint_symbol_1" |
| OpName %main "main" |
| OpName %x "x" |
| OpName %empty "empty" |
| OpName %nonempty "nonempty" |
| OpName %nonempty_with_expr "nonempty_with_expr" |
| OpName %nested_empty "nested_empty" |
| OpName %nested_nonempty "nested_nonempty" |
| OpName %nested_nonempty_with_expr "nested_nonempty_with_expr" |
| OpName %subexpr_empty "subexpr_empty" |
| OpName %subexpr_nonempty "subexpr_nonempty" |
| OpName %subexpr_nonempty_with_expr "subexpr_nonempty_with_expr" |
| OpName %empty "subexpr_nested_empty" |
| OpName %subexpr_nested_nonempty "subexpr_nested_nonempty" |
| OpName %subexpr_nested_nonempty_with_expr "subexpr_nested_nonempty_with_expr" |
| OpMemberDecorate %tint_symbol_1 0 Offset 0 |
| OpDecorate %tint_symbol_1 Block |
| OpDecorate %1 DescriptorSet 0 |
| OpDecorate %1 Binding 0 |
| OpDecorate %1 Coherent |
| 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 |
| %tint_symbol_1 = OpTypeStruct %int |
| %_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1 |
| %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer |
| %void = OpTypeVoid |
| %7 = OpTypeFunction %void |
| %x = OpConstant %int 42 |
| %uint = OpTypeInt 32 0 |
| %uint_4 = OpConstant %uint 4 |
| %_arr_int_uint_4 = OpTypeArray %int %uint_4 |
| %empty = OpConstantNull %_arr_int_uint_4 |
| %int_1 = OpConstant %int 1 |
| %int_2 = OpConstant %int 2 |
| %subexpr_nonempty = OpConstant %int 3 |
| %int_4 = OpConstant %int 4 |
| %nonempty = OpConstantComposite %_arr_int_uint_4 %int_1 %int_2 %subexpr_nonempty %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 |
| %nested_empty = 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 |
| %subexpr_nested_nonempty = 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 |
| %34 = OpConstantComposite %_arr_int_uint_4 %int_9 %int_10 %int_11 %int_12 |
| %28 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %nonempty %subexpr_nested_nonempty %34 |
| %int_13 = OpConstant %int 13 |
| %int_14 = OpConstant %int 14 |
| %int_15 = OpConstant %int 15 |
| %int_16 = OpConstant %int 16 |
| %40 = 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 |
| %45 = 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 |
| %50 = OpConstantComposite %_arr_int_uint_4 %int_21 %int_22 %int_23 %int_24 |
| %39 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %40 %45 %50 |
| %nested_nonempty = OpConstantComposite %_arr__arr__arr_int_uint_4_uint_3_uint_2 %28 %39 |
| %subexpr_empty = OpConstant %int 0 |
| %_arr__arr_int_uint_4_uint_2 = OpTypeArray %_arr_int_uint_4 %uint_2 |
| %_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int |
| %uint_0 = OpConstant %uint 0 |
| %main = OpFunction %void None %7 |
| %8 = OpLabel |
| %19 = OpIAdd %int %x %int_1 |
| %20 = OpCompositeExtract %int %nonempty 3 |
| %nonempty_with_expr = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %19 %20 |
| %55 = OpIAdd %int %x %int_1 |
| %56 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_2 %x %55 |
| %57 = OpCompositeExtract %int %nonempty 2 |
| %58 = OpCompositeExtract %int %nonempty 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 %nonempty |
| %62 = OpCompositeExtract %_arr__arr_int_uint_4_uint_3 %nested_nonempty 1 |
| %nested_nonempty_with_expr = OpCompositeConstruct %_arr__arr__arr_int_uint_4_uint_3_uint_2 %61 %62 |
| %65 = OpIAdd %int %x %int_1 |
| %66 = OpCompositeExtract %int %nonempty 3 |
| %67 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %65 %66 |
| %subexpr_nonempty_with_expr = OpCompositeExtract %int %67 2 |
| %69 = OpIAdd %int %x %int_1 |
| %70 = OpCompositeExtract %int %nonempty 3 |
| %71 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %69 %70 |
| %72 = OpCompositeExtract %_arr_int_uint_4 %nested_nonempty 1 2 |
| %74 = OpCompositeConstruct %_arr__arr_int_uint_4_uint_2 %71 %72 |
| %subexpr_nested_nonempty_with_expr = OpCompositeExtract %_arr_int_uint_4 %74 1 |
| %76 = OpCompositeExtract %int %empty 0 |
| %77 = OpCompositeExtract %int %nonempty 0 |
| %78 = OpIAdd %int %76 %77 |
| %79 = OpCompositeExtract %int %nonempty_with_expr 0 |
| %80 = OpIAdd %int %78 %79 |
| %81 = OpCompositeExtract %int %nested_empty 0 0 0 |
| %82 = OpIAdd %int %80 %81 |
| %83 = OpCompositeExtract %int %nested_nonempty 0 0 0 |
| %84 = OpIAdd %int %82 %83 |
| %85 = OpCompositeExtract %int %nested_nonempty_with_expr 0 0 0 |
| %86 = OpIAdd %int %84 %85 |
| %87 = OpIAdd %int %86 %subexpr_empty |
| %88 = OpIAdd %int %87 %subexpr_nonempty |
| %89 = OpIAdd %int %88 %subexpr_nonempty_with_expr |
| %90 = OpCompositeExtract %int %empty 0 |
| %91 = OpIAdd %int %89 %90 |
| %92 = OpCompositeExtract %int %subexpr_nested_nonempty 0 |
| %93 = OpIAdd %int %91 %92 |
| %94 = OpCompositeExtract %int %subexpr_nested_nonempty_with_expr 0 |
| %95 = OpIAdd %int %93 %94 |
| %96 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0 |
| OpStore %96 %95 None |
| OpReturn |
| OpFunctionEnd |