1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 3 4; Bound: 39 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint Fragment %main "main" %foo %FooOut 10 OpExecutionMode %main OriginUpperLeft 11 OpSource ESSL 310 12 OpName %main "main" 13 OpName %foo "foo" 14 OpName %SwizzleTest "SwizzleTest" 15 OpMemberName %SwizzleTest 0 "a" 16 OpMemberName %SwizzleTest 1 "b" 17 OpName %FooOut "FooOut" 18 OpDecorate %foo RelaxedPrecision 19 OpDecorate %foo Location 0 20 OpDecorate %12 RelaxedPrecision 21 OpMemberDecorate %SwizzleTest 0 RelaxedPrecision 22 OpMemberDecorate %SwizzleTest 1 RelaxedPrecision 23 OpDecorate %FooOut RelaxedPrecision 24 OpDecorate %FooOut Location 0 25 OpDecorate %34 RelaxedPrecision 26 %void = OpTypeVoid 27 %3 = OpTypeFunction %void 28 %float = OpTypeFloat 32 29 %v2float = OpTypeVector %float 2 30%_ptr_Function_v2float = OpTypePointer Function %v2float 31%_ptr_Input_v2float = OpTypePointer Input %v2float 32 %foo = OpVariable %_ptr_Input_v2float Input 33%SwizzleTest = OpTypeStruct %float %float 34%_ptr_Function_SwizzleTest = OpTypePointer Function %SwizzleTest 35 %uint = OpTypeInt 32 0 36%_ptr_Function_float = OpTypePointer Function %float 37%_ptr_Output_float = OpTypePointer Output %float 38 %FooOut = OpVariable %_ptr_Output_float Output 39 %int = OpTypeInt 32 1 40 %main = OpFunction %void None %3 41 %5 = OpLabel 42 %12 = OpLoad %v2float %foo 43 %36 = OpCompositeExtract %float %12 0 44 %38 = OpCompositeExtract %float %12 1 45 %test0 = OpCompositeConstruct %SwizzleTest %36 %38 46 %new0 = OpCompositeExtract %float %test0 0 47 %new1 = OpCompositeExtract %float %test0 1 48 %34 = OpFAdd %float %new0 %new1 49 OpStore %FooOut %34 50 OpReturn 51 OpFunctionEnd 52