blob: 4b7a4b1509a840e39c7ffaceafcbce83bc5fe92a [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %foo "foo"
OpExecutionMode %foo LocalSize 1 1 1
OpName %output_block "output_block"
OpMemberName %output_block 0 "inner"
OpName %output "output"
OpName %foo "foo"
OpName %i "i"
OpName %x "x"
OpName %x_1 "x_1"
OpDecorate %output_block Block
OpMemberDecorate %output_block 0 Offset 0
OpDecorate %_arr_int_uint_10 ArrayStride 4
OpDecorate %output DescriptorSet 0
OpDecorate %output Binding 0
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_10 = OpConstant %uint 10
%_arr_int_uint_10 = OpTypeArray %int %uint_10
%output_block = OpTypeStruct %_arr_int_uint_10
%_ptr_StorageBuffer_output_block = OpTypePointer StorageBuffer %output_block
%output = OpVariable %_ptr_StorageBuffer_output_block StorageBuffer
%void = OpTypeVoid
%8 = OpTypeFunction %void
%12 = OpConstantNull %int
%_ptr_Function_int = OpTypePointer Function %int
%uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_int = OpTypePointer StorageBuffer %int
%int_10 = OpConstant %int 10
%bool = OpTypeBool
%foo = OpFunction %void None %8
%11 = OpLabel
%i = OpVariable %_ptr_Function_int Function %12
%x = OpVariable %_ptr_Function_int Function %12
%x_1 = OpVariable %_ptr_Function_int Function %12
OpStore %i %12
OpBranch %15
%15 = OpLabel
OpLoopMerge %16 %17 None
OpBranch %18
%18 = OpLabel
%20 = OpLoad %int %i
%22 = OpAccessChain %_ptr_StorageBuffer_int %output %uint_0 %20
%23 = OpLoad %int %22
OpStore %x %23
OpBranch %17
%17 = OpLabel
%25 = OpLoad %int %x
%26 = OpAccessChain %_ptr_StorageBuffer_int %output %uint_0 %25
%27 = OpLoad %int %26
OpStore %x_1 %27
%29 = OpLoad %int %i
%30 = OpLoad %int %x_1
%31 = OpIAdd %int %29 %30
OpStore %i %31
%32 = OpLoad %int %i
%34 = OpSGreaterThan %bool %32 %int_10
OpBranchConditional %34 %16 %15
%16 = OpLabel
%36 = OpAccessChain %_ptr_StorageBuffer_int %output %uint_0 %12
%37 = OpLoad %int %i
OpStore %36 %37
OpReturn
OpFunctionEnd