blob: 3a481ed2bf79e06b6206642cc465daeb5571b794 [file]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 147
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpMemberName %s_block 0 "inner"
OpName %s_block "s_block"
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 %s_block 0 Offset 0
OpDecorate %s_block Block
OpDecorate %1 DescriptorSet 0
OpDecorate %1 Binding 0
OpDecorate %1 Coherent
%int = OpTypeInt 32 1
%s_block = OpTypeStruct %int
%_ptr_StorageBuffer_s_block = OpTypePointer StorageBuffer %s_block
%1 = OpVariable %_ptr_StorageBuffer_s_block 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
%37 = OpConstantComposite %_arr_int_uint_4 %int_9 %int_10 %int_11 %int_12
%31 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %nonempty %subexpr_nested_nonempty %37
%int_13 = OpConstant %int 13
%int_14 = OpConstant %int 14
%int_15 = OpConstant %int 15
%int_16 = OpConstant %int 16
%43 = 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
%48 = 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
%53 = OpConstantComposite %_arr_int_uint_4 %int_21 %int_22 %int_23 %int_24
%42 = OpConstantComposite %_arr__arr_int_uint_4_uint_3 %43 %48 %53
%nested_nonempty = OpConstantComposite %_arr__arr__arr_int_uint_4_uint_3_uint_2 %31 %42
%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 = OpBitcast %uint %x
%20 = OpBitcast %uint %int_1
%21 = OpIAdd %uint %19 %20
%22 = OpBitcast %int %21
%23 = OpCompositeExtract %int %nonempty 3
%nonempty_with_expr = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %22 %23
%58 = OpBitcast %uint %x
%59 = OpBitcast %uint %int_1
%60 = OpIAdd %uint %58 %59
%61 = OpBitcast %int %60
%62 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %int_2 %x %61
%63 = OpCompositeExtract %int %nonempty 2
%64 = OpCompositeExtract %int %nonempty 3
%65 = OpBitcast %uint %64
%66 = OpBitcast %uint %int_1
%67 = OpIAdd %uint %65 %66
%68 = OpBitcast %int %67
%69 = OpCompositeConstruct %_arr_int_uint_4 %int_5 %int_6 %63 %68
%70 = OpCompositeConstruct %_arr__arr_int_uint_4_uint_3 %62 %69 %nonempty
%71 = 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 %70 %71
%74 = OpBitcast %uint %x
%75 = OpBitcast %uint %int_1
%76 = OpIAdd %uint %74 %75
%77 = OpBitcast %int %76
%78 = OpCompositeExtract %int %nonempty 3
%79 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %77 %78
%subexpr_nonempty_with_expr = OpCompositeExtract %int %79 2
%81 = OpBitcast %uint %x
%82 = OpBitcast %uint %int_1
%83 = OpIAdd %uint %81 %82
%84 = OpBitcast %int %83
%85 = OpCompositeExtract %int %nonempty 3
%86 = OpCompositeConstruct %_arr_int_uint_4 %int_1 %x %84 %85
%87 = OpCompositeExtract %_arr_int_uint_4 %nested_nonempty 1 2
%89 = OpCompositeConstruct %_arr__arr_int_uint_4_uint_2 %86 %87
%subexpr_nested_nonempty_with_expr = OpCompositeExtract %_arr_int_uint_4 %89 1
%91 = OpCompositeExtract %int %empty 0
%92 = OpCompositeExtract %int %nonempty 0
%93 = OpBitcast %uint %91
%94 = OpBitcast %uint %92
%95 = OpIAdd %uint %93 %94
%96 = OpBitcast %int %95
%97 = OpCompositeExtract %int %nonempty_with_expr 0
%98 = OpBitcast %uint %96
%99 = OpBitcast %uint %97
%100 = OpIAdd %uint %98 %99
%101 = OpBitcast %int %100
%102 = OpCompositeExtract %int %nested_empty 0 0 0
%103 = OpBitcast %uint %101
%104 = OpBitcast %uint %102
%105 = OpIAdd %uint %103 %104
%106 = OpBitcast %int %105
%107 = OpCompositeExtract %int %nested_nonempty 0 0 0
%108 = OpBitcast %uint %106
%109 = OpBitcast %uint %107
%110 = OpIAdd %uint %108 %109
%111 = OpBitcast %int %110
%112 = OpCompositeExtract %int %nested_nonempty_with_expr 0 0 0
%113 = OpBitcast %uint %111
%114 = OpBitcast %uint %112
%115 = OpIAdd %uint %113 %114
%116 = OpBitcast %int %115
%117 = OpBitcast %uint %116
%118 = OpBitcast %uint %subexpr_empty
%119 = OpIAdd %uint %117 %118
%120 = OpBitcast %int %119
%121 = OpBitcast %uint %120
%122 = OpBitcast %uint %subexpr_nonempty
%123 = OpIAdd %uint %121 %122
%124 = OpBitcast %int %123
%125 = OpBitcast %uint %124
%126 = OpBitcast %uint %subexpr_nonempty_with_expr
%127 = OpIAdd %uint %125 %126
%128 = OpBitcast %int %127
%129 = OpCompositeExtract %int %empty 0
%130 = OpBitcast %uint %128
%131 = OpBitcast %uint %129
%132 = OpIAdd %uint %130 %131
%133 = OpBitcast %int %132
%134 = OpCompositeExtract %int %subexpr_nested_nonempty 0
%135 = OpBitcast %uint %133
%136 = OpBitcast %uint %134
%137 = OpIAdd %uint %135 %136
%138 = OpBitcast %int %137
%139 = OpCompositeExtract %int %subexpr_nested_nonempty_with_expr 0
%140 = OpBitcast %uint %138
%141 = OpBitcast %uint %139
%142 = OpIAdd %uint %140 %141
%143 = OpBitcast %int %142
%144 = OpAccessChain %_ptr_StorageBuffer_int %1 %uint_0
OpStore %144 %143 None
OpReturn
OpFunctionEnd