; SPIR-V
; Version: 1.0
; Generator: rspirv
; Bound: 139
OpCapability Shader
OpCapability SampleRateShading
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %30 "vert_main" %10 %12 %14 %15 %16 %18 %20 %22 %23 %24 %25 %26 %27
OpEntryPoint Fragment %137 "frag_main" %108 %111 %114 %116 %118 %121 %124 %127 %129 %131 %133 %135
OpExecutionMode %137 OriginUpperLeft
OpMemberName %8 0 "position"
OpMemberName %8 1 "_flat"
OpMemberName %8 2 "flat_first"
OpMemberName %8 3 "flat_either"
OpMemberName %8 4 "_linear"
OpMemberName %8 5 "linear_centroid"
OpMemberName %8 6 "linear_sample"
OpMemberName %8 7 "linear_center"
OpMemberName %8 8 "perspective"
OpMemberName %8 9 "perspective_centroid"
OpMemberName %8 10 "perspective_sample"
OpMemberName %8 11 "perspective_center"
OpName %8 "FragmentInput"
OpName %10 "position"
OpName %12 "_flat"
OpName %14 "flat_first"
OpName %15 "flat_either"
OpName %16 "_linear"
OpName %18 "linear_centroid"
OpName %20 "linear_sample"
OpName %22 "linear_center"
OpName %23 "perspective"
OpName %24 "perspective_centroid"
OpName %25 "perspective_sample"
OpName %26 "perspective_center"
OpName %30 "vert_main"
OpName %60 "out"
OpName %108 "position"
OpName %111 "_flat"
OpName %114 "flat_first"
OpName %116 "flat_either"
OpName %118 "_linear"
OpName %121 "linear_centroid"
OpName %124 "linear_sample"
OpName %127 "linear_center"
OpName %129 "perspective"
OpName %131 "perspective_centroid"
OpName %133 "perspective_sample"
OpName %135 "perspective_center"
OpName %137 "frag_main"
OpMemberDecorate %8 0 Offset 0
OpMemberDecorate %8 1 Offset 16
OpMemberDecorate %8 2 Offset 20
OpMemberDecorate %8 3 Offset 24
OpMemberDecorate %8 4 Offset 28
OpMemberDecorate %8 5 Offset 32
OpMemberDecorate %8 6 Offset 48
OpMemberDecorate %8 7 Offset 64
OpMemberDecorate %8 8 Offset 80
OpMemberDecorate %8 9 Offset 96
OpMemberDecorate %8 10 Offset 100
OpMemberDecorate %8 11 Offset 104
OpDecorate %10 BuiltIn Position
OpDecorate %12 Location 0
OpDecorate %12 Flat
OpDecorate %14 Location 1
OpDecorate %14 Flat
OpDecorate %15 Location 2
OpDecorate %15 Flat
OpDecorate %16 Location 3
OpDecorate %16 NoPerspective
OpDecorate %18 Location 4
OpDecorate %18 NoPerspective
OpDecorate %18 Centroid
OpDecorate %20 Location 6
OpDecorate %20 NoPerspective
OpDecorate %20 Sample
OpDecorate %22 Location 7
OpDecorate %22 NoPerspective
OpDecorate %23 Location 8
OpDecorate %24 Location 9
OpDecorate %24 Centroid
OpDecorate %25 Location 10
OpDecorate %25 Sample
OpDecorate %26 Location 11
OpDecorate %27 BuiltIn PointSize
OpDecorate %108 BuiltIn FragCoord
OpDecorate %111 Location 0
OpDecorate %111 Flat
OpDecorate %114 Location 1
OpDecorate %114 Flat
OpDecorate %116 Location 2
OpDecorate %116 Flat
OpDecorate %118 Location 3
OpDecorate %118 NoPerspective
OpDecorate %121 Location 4
OpDecorate %121 NoPerspective
OpDecorate %121 Centroid
OpDecorate %124 Location 6
OpDecorate %124 NoPerspective
OpDecorate %124 Sample
OpDecorate %127 Location 7
OpDecorate %127 NoPerspective
OpDecorate %129 Location 8
OpDecorate %131 Location 9
OpDecorate %131 Centroid
OpDecorate %133 Location 10
OpDecorate %133 Sample
OpDecorate %135 Location 11
%2 = OpTypeVoid
%3 = OpTypeFloat 32
%4 = OpTypeVector %3 4
%5 = OpTypeInt 32 0
%6 = OpTypeVector %3 2
%7 = OpTypeVector %3 3
%8 = OpTypeStruct %4 %5 %5 %5 %3 %6 %7 %7 %4 %3 %3 %3
%11 = OpTypePointer Output %4
%10 = OpVariable  %11  Output
%13 = OpTypePointer Output %5
%12 = OpVariable  %13  Output
%14 = OpVariable  %13  Output
%15 = OpVariable  %13  Output
%17 = OpTypePointer Output %3
%16 = OpVariable  %17  Output
%19 = OpTypePointer Output %6
%18 = OpVariable  %19  Output
%21 = OpTypePointer Output %7
%20 = OpVariable  %21  Output
%22 = OpVariable  %21  Output
%23 = OpVariable  %11  Output
%24 = OpVariable  %17  Output
%25 = OpVariable  %17  Output
%26 = OpVariable  %17  Output
%28 = OpTypePointer Output %3
%27 = OpVariable  %28  Output
%29 = OpConstant  %3  1.0
%31 = OpTypeFunction %2
%32 = OpConstant  %3  2.0
%33 = OpConstant  %3  4.0
%34 = OpConstant  %3  5.0
%35 = OpConstant  %3  6.0
%36 = OpConstantComposite  %4  %32 %33 %34 %35
%37 = OpConstant  %5  8
%38 = OpConstant  %5  9
%39 = OpConstant  %5  10
%40 = OpConstant  %3  27.0
%41 = OpConstant  %3  64.0
%42 = OpConstant  %3  125.0
%43 = OpConstantComposite  %6  %41 %42
%44 = OpConstant  %3  216.0
%45 = OpConstant  %3  343.0
%46 = OpConstant  %3  512.0
%47 = OpConstantComposite  %7  %44 %45 %46
%48 = OpConstant  %3  255.0
%49 = OpConstant  %3  511.0
%50 = OpConstant  %3  1024.0
%51 = OpConstantComposite  %7  %48 %49 %50
%52 = OpConstant  %3  729.0
%53 = OpConstant  %3  1000.0
%54 = OpConstant  %3  1331.0
%55 = OpConstant  %3  1728.0
%56 = OpConstantComposite  %4  %52 %53 %54 %55
%57 = OpConstant  %3  2197.0
%58 = OpConstant  %3  2744.0
%59 = OpConstant  %3  2812.0
%61 = OpTypePointer Function %8
%62 = OpConstantNull  %8
%64 = OpTypePointer Function %4
%65 = OpConstant  %5  0
%67 = OpTypePointer Function %5
%68 = OpConstant  %5  1
%70 = OpConstant  %5  2
%72 = OpConstant  %5  3
%74 = OpTypePointer Function %3
%75 = OpConstant  %5  4
%77 = OpTypePointer Function %6
%78 = OpConstant  %5  5
%80 = OpTypePointer Function %7
%81 = OpConstant  %5  6
%83 = OpConstant  %5  7
%88 = OpConstant  %5  11
%109 = OpTypePointer Input %4
%108 = OpVariable  %109  Input
%112 = OpTypePointer Input %5
%111 = OpVariable  %112  Input
%114 = OpVariable  %112  Input
%116 = OpVariable  %112  Input
%119 = OpTypePointer Input %3
%118 = OpVariable  %119  Input
%122 = OpTypePointer Input %6
%121 = OpVariable  %122  Input
%125 = OpTypePointer Input %7
%124 = OpVariable  %125  Input
%127 = OpVariable  %125  Input
%129 = OpVariable  %109  Input
%131 = OpVariable  %119  Input
%133 = OpVariable  %119  Input
%135 = OpVariable  %119  Input
%30 = OpFunction  %2  None %31
%9 = OpLabel
%60 = OpVariable  %61  Function %62
OpStore %27 %29
OpBranch %63
%63 = OpLabel
%66 = OpAccessChain  %64  %60 %65
OpStore %66 %36
%69 = OpAccessChain  %67  %60 %68
OpStore %69 %37
%71 = OpAccessChain  %67  %60 %70
OpStore %71 %38
%73 = OpAccessChain  %67  %60 %72
OpStore %73 %39
%76 = OpAccessChain  %74  %60 %75
OpStore %76 %40
%79 = OpAccessChain  %77  %60 %78
OpStore %79 %43
%82 = OpAccessChain  %80  %60 %81
OpStore %82 %47
%84 = OpAccessChain  %80  %60 %83
OpStore %84 %51
%85 = OpAccessChain  %64  %60 %37
OpStore %85 %56
%86 = OpAccessChain  %74  %60 %38
OpStore %86 %57
%87 = OpAccessChain  %74  %60 %39
OpStore %87 %58
%89 = OpAccessChain  %74  %60 %88
OpStore %89 %59
%90 = OpLoad  %8  %60
%91 = OpCompositeExtract  %4  %90 0
OpStore %10 %91
%92 = OpAccessChain  %28  %10 %68
%93 = OpLoad  %3  %92
%94 = OpFNegate  %3  %93
OpStore %92 %94
%95 = OpCompositeExtract  %5  %90 1
OpStore %12 %95
%96 = OpCompositeExtract  %5  %90 2
OpStore %14 %96
%97 = OpCompositeExtract  %5  %90 3
OpStore %15 %97
%98 = OpCompositeExtract  %3  %90 4
OpStore %16 %98
%99 = OpCompositeExtract  %6  %90 5
OpStore %18 %99
%100 = OpCompositeExtract  %7  %90 6
OpStore %20 %100
%101 = OpCompositeExtract  %7  %90 7
OpStore %22 %101
%102 = OpCompositeExtract  %4  %90 8
OpStore %23 %102
%103 = OpCompositeExtract  %3  %90 9
OpStore %24 %103
%104 = OpCompositeExtract  %3  %90 10
OpStore %25 %104
%105 = OpCompositeExtract  %3  %90 11
OpStore %26 %105
OpReturn
OpFunctionEnd
%137 = OpFunction  %2  None %31
%106 = OpLabel
%110 = OpLoad  %4  %108
%113 = OpLoad  %5  %111
%115 = OpLoad  %5  %114
%117 = OpLoad  %5  %116
%120 = OpLoad  %3  %118
%123 = OpLoad  %6  %121
%126 = OpLoad  %7  %124
%128 = OpLoad  %7  %127
%130 = OpLoad  %4  %129
%132 = OpLoad  %3  %131
%134 = OpLoad  %3  %133
%136 = OpLoad  %3  %135
%107 = OpCompositeConstruct  %8  %110 %113 %115 %117 %120 %123 %126 %128 %130 %132 %134 %136
OpBranch %138
%138 = OpLabel
OpReturn
OpFunctionEnd