1; SPIR-V 2; Version: 1.3 3; Generator: Khronos Glslang Reference Front End; 6 4; Bound: 51 5; Schema: 0 6 OpCapability Shader 7 OpCapability SampleRateShading 8 %1 = OpExtInstImport "GLSL.std.450" 9 OpMemoryModel Logical GLSL450 10 OpEntryPoint Fragment %main "main" %FragColor %inp 11 OpExecutionMode %main OriginUpperLeft 12 OpSource GLSL 450 13 OpName %main "main" 14 OpName %FragColor "FragColor" 15 OpName %Input "Input" 16 OpMemberName %Input 0 "v0" 17 OpMemberName %Input 1 "v1" 18 OpMemberName %Input 2 "v2" 19 OpMemberName %Input 3 "v3" 20 OpMemberName %Input 4 "v4" 21 OpMemberName %Input 5 "v5" 22 OpMemberName %Input 6 "v6" 23 OpName %inp "inp" 24 OpDecorate %FragColor Location 0 25 OpDecorate %inp Location 0 26 OpMemberDecorate %Input 1 NoPerspective 27 OpMemberDecorate %Input 2 Centroid 28 OpMemberDecorate %Input 3 Centroid 29 OpMemberDecorate %Input 3 NoPerspective 30 OpMemberDecorate %Input 4 Sample 31 OpMemberDecorate %Input 5 Sample 32 OpMemberDecorate %Input 5 NoPerspective 33 OpMemberDecorate %Input 6 Flat 34 %void = OpTypeVoid 35 %3 = OpTypeFunction %void 36 %float = OpTypeFloat 32 37 %v4float = OpTypeVector %float 4 38%_ptr_Output_v4float = OpTypePointer Output %v4float 39 %FragColor = OpVariable %_ptr_Output_v4float Output 40 %v2float = OpTypeVector %float 2 41 %v3float = OpTypeVector %float 3 42 %Input = OpTypeStruct %v2float %v2float %v3float %v4float %float %float %float 43%_ptr_Input_Input = OpTypePointer Input %Input 44 %inp = OpVariable %_ptr_Input_Input Input 45 %int = OpTypeInt 32 1 46 %int_0 = OpConstant %int 0 47 %uint = OpTypeInt 32 0 48 %uint_0 = OpConstant %uint 0 49%_ptr_Input_float = OpTypePointer Input %float 50 %int_1 = OpConstant %int 1 51 %uint_1 = OpConstant %uint 1 52 %int_2 = OpConstant %int 2 53%_ptr_Input_v3float = OpTypePointer Input %v3float 54 %int_3 = OpConstant %int 3 55 %uint_3 = OpConstant %uint 3 56 %int_4 = OpConstant %int 4 57 %int_5 = OpConstant %int 5 58 %int_6 = OpConstant %int 6 59 %main = OpFunction %void None %3 60 %5 = OpLabel 61 %20 = OpAccessChain %_ptr_Input_float %inp %int_0 %uint_0 62 %21 = OpLoad %float %20 63 %24 = OpAccessChain %_ptr_Input_float %inp %int_1 %uint_1 64 %25 = OpLoad %float %24 65 %26 = OpFAdd %float %21 %25 66 %29 = OpAccessChain %_ptr_Input_v3float %inp %int_2 67 %30 = OpLoad %v3float %29 68 %31 = OpVectorShuffle %v2float %30 %30 0 1 69 %34 = OpAccessChain %_ptr_Input_float %inp %int_3 %uint_3 70 %35 = OpLoad %float %34 71 %37 = OpAccessChain %_ptr_Input_float %inp %int_4 72 %38 = OpLoad %float %37 73 %39 = OpFMul %float %35 %38 74 %41 = OpAccessChain %_ptr_Input_float %inp %int_5 75 %42 = OpLoad %float %41 76 %43 = OpFAdd %float %39 %42 77 %45 = OpAccessChain %_ptr_Input_float %inp %int_6 78 %46 = OpLoad %float %45 79 %47 = OpFSub %float %43 %46 80 %48 = OpCompositeExtract %float %31 0 81 %49 = OpCompositeExtract %float %31 1 82 %50 = OpCompositeConstruct %v4float %26 %48 %49 %47 83 OpStore %FragColor %50 84 OpReturn 85 OpFunctionEnd 86