blob: 90962fa1d0b3deebcc5719eb99f162d86aeffe2c [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 49
; 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 %f1 "f1"
OpName %a "a"
OpName %f2 "f2"
OpName %a_0 "a"
OpName %f3 "f3"
OpName %a_1 "a"
OpName %main "main"
OpDecorate %s_block Block
OpMemberDecorate %s_block 0 Offset 0
OpDecorate %s DescriptorSet 0
OpDecorate %s Binding 0
OpDecorate %_arr_float_uint_4 ArrayStride 4
OpDecorate %_arr__arr_float_uint_4_uint_3 ArrayStride 16
OpDecorate %_arr__arr__arr_float_uint_4_uint_3_uint_2 ArrayStride 48
%float = OpTypeFloat 32
%s_block = OpTypeStruct %float
%_ptr_StorageBuffer_s_block = OpTypePointer StorageBuffer %s_block
%s = OpVariable %_ptr_StorageBuffer_s_block StorageBuffer
%uint = OpTypeInt 32 0
%uint_4 = OpConstant %uint 4
%_arr_float_uint_4 = OpTypeArray %float %uint_4
%5 = OpTypeFunction %float %_arr_float_uint_4
%int = OpTypeInt 32 1
%int_3 = OpConstant %int 3
%uint_3 = OpConstant %uint 3
%_arr__arr_float_uint_4_uint_3 = OpTypeArray %_arr_float_uint_4 %uint_3
%15 = OpTypeFunction %float %_arr__arr_float_uint_4_uint_3
%int_2 = OpConstant %int 2
%uint_2 = OpConstant %uint 2
%_arr__arr__arr_float_uint_4_uint_3_uint_2 = OpTypeArray %_arr__arr_float_uint_4_uint_3 %uint_2
%24 = OpTypeFunction %float %_arr__arr__arr_float_uint_4_uint_3_uint_2
%int_1 = OpConstant %int 1
%void = OpTypeVoid
%34 = OpTypeFunction %void
%38 = OpConstantNull %_arr_float_uint_4
%39 = OpConstantNull %_arr__arr_float_uint_4_uint_3
%40 = OpConstantNull %_arr__arr__arr_float_uint_4_uint_3_uint_2
%uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%f1 = OpFunction %float None %5
%a = OpFunctionParameter %_arr_float_uint_4
%11 = OpLabel
%14 = OpCompositeExtract %float %a 3
OpReturnValue %14
OpFunctionEnd
%f2 = OpFunction %float None %15
%a_0 = OpFunctionParameter %_arr__arr_float_uint_4_uint_3
%20 = OpLabel
%22 = OpCompositeExtract %_arr_float_uint_4 %a_0 2
%23 = OpCompositeExtract %float %22 3
OpReturnValue %23
OpFunctionEnd
%f3 = OpFunction %float None %24
%a_1 = OpFunctionParameter %_arr__arr__arr_float_uint_4_uint_3_uint_2
%29 = OpLabel
%31 = OpCompositeExtract %_arr__arr_float_uint_4_uint_3 %a_1 1
%32 = OpCompositeExtract %_arr_float_uint_4 %31 2
%33 = OpCompositeExtract %float %32 3
OpReturnValue %33
OpFunctionEnd
%main = OpFunction %void None %34
%37 = OpLabel
%41 = OpFunctionCall %float %f1 %38
%42 = OpFunctionCall %float %f2 %39
%43 = OpFunctionCall %float %f3 %40
%46 = OpAccessChain %_ptr_StorageBuffer_float %s %uint_0
%47 = OpFAdd %float %41 %42
%48 = OpFAdd %float %47 %43
OpStore %46 %48
OpReturn
OpFunctionEnd