; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 48 ; Schema: 0 OpCapability Shader %38 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint GLCompute %f "f" OpExecutionMode %f LocalSize 1 1 1 OpName %u_block "u_block" OpMemberName %u_block 0 "inner" OpName %S_std140 "S_std140" OpMemberName %S_std140 0 "before" OpMemberName %S_std140 1 "m_0" OpMemberName %S_std140 2 "m_1" OpMemberName %S_std140 3 "m_2" OpMemberName %S_std140 4 "m_3" OpMemberName %S_std140 5 "after" OpName %u "u" OpName %load_u_2_m "load_u_2_m" OpName %f "f" OpDecorate %u_block Block OpMemberDecorate %u_block 0 Offset 0 OpMemberDecorate %S_std140 0 Offset 0 OpMemberDecorate %S_std140 1 Offset 8 OpMemberDecorate %S_std140 2 Offset 16 OpMemberDecorate %S_std140 3 Offset 24 OpMemberDecorate %S_std140 4 Offset 32 OpMemberDecorate %S_std140 5 Offset 40 OpDecorate %_arr_S_std140_uint_4 ArrayStride 48 OpDecorate %u NonWritable OpDecorate %u DescriptorSet 0 OpDecorate %u Binding 0 %int = OpTypeInt 32 1 %float = OpTypeFloat 32 %v2float = OpTypeVector %float 2 %S_std140 = OpTypeStruct %int %v2float %v2float %v2float %v2float %int %uint = OpTypeInt 32 0 %uint_4 = OpConstant %uint 4 %_arr_S_std140_uint_4 = OpTypeArray %S_std140 %uint_4 %u_block = OpTypeStruct %_arr_S_std140_uint_4 %_ptr_Uniform_u_block = OpTypePointer Uniform %u_block %u = OpVariable %_ptr_Uniform_u_block Uniform %mat4v2float = OpTypeMatrix %v2float 4 %11 = OpTypeFunction %mat4v2float %uint_0 = OpConstant %uint 0 %uint_2 = OpConstant %uint 2 %uint_1 = OpConstant %uint 1 %_ptr_Uniform_v2float = OpTypePointer Uniform %v2float %uint_3 = OpConstant %uint 3 %void = OpTypeVoid %29 = OpTypeFunction %void %v4float = OpTypeVector %float 4 %mat2v4float = OpTypeMatrix %v4float 2 %39 = OpConstantNull %uint %load_u_2_m = OpFunction %mat4v2float None %11 %14 = OpLabel %19 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_1 %20 = OpLoad %v2float %19 %21 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_2 %22 = OpLoad %v2float %21 %24 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_3 %25 = OpLoad %v2float %24 %26 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %uint_2 %uint_4 %27 = OpLoad %v2float %26 %28 = OpCompositeConstruct %mat4v2float %20 %22 %25 %27 OpReturnValue %28 OpFunctionEnd %f = OpFunction %void None %29 %32 = OpLabel %36 = OpFunctionCall %mat4v2float %load_u_2_m %33 = OpTranspose %mat2v4float %36 %40 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %39 %uint_2 %41 = OpLoad %v2float %40 %42 = OpVectorShuffle %v2float %41 %41 1 0 %37 = OpExtInst %float %38 Length %42 %44 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %39 %uint_2 %45 = OpLoad %v2float %44 %46 = OpVectorShuffle %v2float %45 %45 1 0 %47 = OpCompositeExtract %float %46 0 %43 = OpExtInst %float %38 FAbs %47 OpReturn OpFunctionEnd