blob: 0cc2d1b185e790ebf4f3ff089b72269a0c199421 [file] [log] [blame] [edit]
; 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