hlsl.intrinsics.evalfns.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 274

                              Capability Shader
                              Capability InterpolationFunction
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 138 142 146 150 154 157 161
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 138  "inF1"
                              Name 142  "inF2"
                              Name 146  "inF3"
                              Name 150  "inF4"
                              Name 154  "inI2"
                              Name 157  "i.vPos"
                              Name 161  "@entryPointOutput"
                              Decorate 138(inF1) Location 0
                              Decorate 142(inF2) Location 1
                              Decorate 146(inF3) Location 2
                              Decorate 150(inF4) Location 3
                              Decorate 154(inI2) Flat
                              Decorate 154(inI2) Location 4
                              Decorate 157(i.vPos) Location 5
                              Decorate 161(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               8:             TypeVector 6(float) 2
              10:             TypeVector 6(float) 3
              12:             TypeVector 6(float) 4
              14:             TypeInt 32 1
              15:             TypeVector 14(int) 2
              30:    6(float) Constant 3204448256
              31:    6(float) Constant 3179282432
              32:    8(fvec2) ConstantComposite 30 31
              36:    6(float) Constant 0
              37:    6(float) Constant 1031798784
              38:    8(fvec2) ConstantComposite 36 37
              42:    6(float) Constant 1044381696
              43:    6(float) Constant 3200253952
              44:    8(fvec2) ConstantComposite 42 43
              48:    6(float) Constant 1054867456
              49:    8(fvec2) ConstantComposite 48 30
              53:     14(int) Constant 28
              64:             TypeInt 32 0
              65:     64(int) Constant 3
             137:             TypePointer Input 6(float)
       138(inF1):    137(ptr) Variable Input
             141:             TypePointer Input 8(fvec2)
       142(inF2):    141(ptr) Variable Input
             145:             TypePointer Input 10(fvec3)
       146(inF3):    145(ptr) Variable Input
             149:             TypePointer Input 12(fvec4)
       150(inF4):    149(ptr) Variable Input
             153:             TypePointer Input 15(ivec2)
       154(inI2):    153(ptr) Variable Input
     157(i.vPos):    141(ptr) Variable Input
             160:             TypePointer Output 12(fvec4)
161(@entryPointOutput):    160(ptr) Variable Output
             273:   15(ivec2) ConstantComposite 53 53
         4(main):           2 Function None 3
               5:             Label
             155:   15(ivec2) Load 154(inI2)
             183:    6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 138(inF1) 32
             185:    8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 142(inF2) 38
             187:   10(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 146(inF3) 44
             189:   12(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 150(inF4) 49
             193:   15(ivec2) ShiftLeftLogical 155 273
             195:   15(ivec2) ShiftRightArithmetic 193 273
             196:    8(fvec2) ConvertSToF 195
             197:    8(fvec2) VectorTimesScalar 196 37
             198:    6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 138(inF1) 197
             200:    6(float) FAdd 183 198
             202:    6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 138(inF1) 65
             204:    6(float) FAdd 200 202
             206:    8(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 142(inF2) 65
             208:    8(fvec2) FAdd 185 206
             210:   10(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 146(inF3) 65
             212:   10(fvec3) FAdd 187 210
             214:   12(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 150(inF4) 65
             216:   12(fvec4) FAdd 189 214
             219:     14(int) CompositeExtract 155 0
             220:     64(int) Bitcast 219
             221:    6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 138(inF1) 220
             223:    6(float) FAdd 204 221
             225:    6(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 138(inF1)
             227:    6(float) FAdd 223 225
             229:    8(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 142(inF2)
             231:    8(fvec2) FAdd 208 229
             233:   10(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 146(inF3)
             235:   10(fvec3) FAdd 212 233
             237:   12(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 150(inF4)
             239:   12(fvec4) FAdd 216 237
             242:    8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 157(i.vPos) 38
             244:    8(fvec2) FAdd 231 242
             247:    8(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 157(i.vPos) 65
             249:    8(fvec2) FAdd 244 247
             252:    8(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 157(i.vPos)
             254:    8(fvec2) FAdd 249 252
             257:    6(float) CompositeExtract 254 1
             259:    6(float) CompositeExtract 235 2
             261:    6(float) CompositeExtract 239 3
             262:   12(fvec4) CompositeConstruct 227 257 259 261
                              Store 161(@entryPointOutput) 262
                              Return
                              FunctionEnd
