; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 46 ; Schema: 0 OpCapability Shader %36 = 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 "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 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 %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 %mat3v2float = OpTypeMatrix %v2float 3 %11 = OpTypeFunction %mat3v2float %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 %27 = OpTypeFunction %void %v3float = OpTypeVector %float 3 %mat2v3float = OpTypeMatrix %v3float 2 %37 = OpConstantNull %uint %load_u_2_m = OpFunction %mat3v2float 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 = OpCompositeConstruct %mat3v2float %20 %22 %25 OpReturnValue %26 OpFunctionEnd %f = OpFunction %void None %27 %30 = OpLabel %34 = OpFunctionCall %mat3v2float %load_u_2_m %31 = OpTranspose %mat2v3float %34 %38 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %37 %uint_2 %39 = OpLoad %v2float %38 %40 = OpVectorShuffle %v2float %39 %39 1 0 %35 = OpExtInst %float %36 Length %40 %42 = OpAccessChain %_ptr_Uniform_v2float %u %uint_0 %37 %uint_2 %43 = OpLoad %v2float %42 %44 = OpVectorShuffle %v2float %43 %43 1 0 %45 = OpCompositeExtract %float %44 0 %41 = OpExtInst %float %36 FAbs %45 OpReturn OpFunctionEnd