; SPIR-V ; Version: 1.0 ; Generator: Google spiregg; 0 ; Bound: 30 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %out_var_SV_Target OpExecutionMode %main OriginUpperLeft OpSource HLSL 600 OpName %type_Foo "type.Foo" OpMemberName %type_Foo 0 "a" OpMemberName %type_Foo 1 "b" OpName %Foo "Foo" OpName %out_var_SV_Target "out.var.SV_Target" OpName %main "main" OpDecorate %out_var_SV_Target Location 0 OpDecorate %Foo DescriptorSet 0 OpDecorate %Foo Binding 0 OpMemberDecorate %type_Foo 0 Offset 0 OpMemberDecorate %type_Foo 0 MatrixStride 16 OpMemberDecorate %type_Foo 0 ColMajor OpMemberDecorate %type_Foo 1 Offset 28 OpDecorate %type_Foo Block %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 %int = OpTypeInt 32 1 %int_0 = OpConstant %int 0 %uint_1 = OpConstant %uint 1 %int_1 = OpConstant %int 1 %float = OpTypeFloat 32 %v3float = OpTypeVector %float 3 %mat2v3float = OpTypeMatrix %v3float 2 %type_Foo = OpTypeStruct %mat2v3float %float %_ptr_Uniform_type_Foo = OpTypePointer Uniform %type_Foo %_ptr_Output_v3float = OpTypePointer Output %v3float %void = OpTypeVoid %17 = OpTypeFunction %void %_ptr_Uniform_v3float = OpTypePointer Uniform %v3float %_ptr_Uniform_float = OpTypePointer Uniform %float %Foo = OpVariable %_ptr_Uniform_type_Foo Uniform %out_var_SV_Target = OpVariable %_ptr_Output_v3float Output %main = OpFunction %void None %17 %20 = OpLabel %21 = OpAccessChain %_ptr_Uniform_v3float %Foo %int_0 %uint_0 %22 = OpLoad %v3float %21 %23 = OpAccessChain %_ptr_Uniform_v3float %Foo %int_0 %uint_1 %24 = OpLoad %v3float %23 %25 = OpFAdd %v3float %22 %24 %26 = OpAccessChain %_ptr_Uniform_float %Foo %int_1 %27 = OpLoad %float %26 %28 = OpCompositeConstruct %v3float %27 %27 %27 %29 = OpFAdd %v3float %25 %28 OpStore %out_var_SV_Target %29 OpReturn OpFunctionEnd