blob: 329d21a6b594a91ca5e80b5a8d5537b3ec462108 [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 42
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %Uniforms "Uniforms"
OpMemberName %Uniforms 0 "i"
OpName %uniforms "uniforms"
OpName %f "f"
OpName %i "i"
OpName %main "main"
OpName %OuterS "OuterS"
OpMemberName %OuterS 0 "a1"
OpName %s1 "s1"
OpName %v "v"
OpDecorate %Uniforms Block
OpMemberDecorate %Uniforms 0 Offset 0
OpDecorate %uniforms NonWritable
OpDecorate %uniforms DescriptorSet 1
OpDecorate %uniforms Binding 4
OpMemberDecorate %OuterS 0 Offset 0
OpDecorate %_arr_uint_uint_8 ArrayStride 4
%uint = OpTypeInt 32 0
%Uniforms = OpTypeStruct %uint
%_ptr_Uniform_Uniforms = OpTypePointer Uniform %Uniforms
%uniforms = OpVariable %_ptr_Uniform_Uniforms Uniform
%5 = OpTypeFunction %uint %uint
%uint_1 = OpConstant %uint 1
%void = OpTypeVoid
%11 = OpTypeFunction %void
%uint_8 = OpConstant %uint 8
%_arr_uint_uint_8 = OpTypeArray %uint %uint_8
%OuterS = OpTypeStruct %_arr_uint_uint_8
%_ptr_Function_OuterS = OpTypePointer Function %OuterS
%20 = OpConstantNull %OuterS
%float = OpTypeFloat 32
%v3float = OpTypeVector %float 3
%_ptr_Function_v3float = OpTypePointer Function %v3float
%25 = OpConstantNull %v3float
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_float = OpTypePointer Function %float
%float_1 = OpConstant %float 1
%f = OpFunction %uint None %5
%i = OpFunctionParameter %uint
%8 = OpLabel
%10 = OpIAdd %uint %i %uint_1
OpReturnValue %10
OpFunctionEnd
%main = OpFunction %void None %11
%14 = OpLabel
%s1 = OpVariable %_ptr_Function_OuterS Function %20
%v = OpVariable %_ptr_Function_v3float Function %25
%28 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0
%29 = OpLoad %uint %28
%31 = OpAccessChain %_ptr_Function_uint %s1 %uint_0 %29
%32 = OpLoad %uint %31
%34 = OpAccessChain %_ptr_Function_float %v %32
OpStore %34 %float_1
%37 = OpAccessChain %_ptr_Uniform_uint %uniforms %uint_0
%38 = OpLoad %uint %37
%39 = OpAccessChain %_ptr_Function_uint %s1 %uint_0 %38
%40 = OpLoad %uint %39
%36 = OpFunctionCall %uint %f %40
%41 = OpAccessChain %_ptr_Function_float %v %36
OpStore %41 %float_1
OpReturn
OpFunctionEnd