spv.140.frag

Linked fragment stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 101

                              Capability Shader
                              Capability ClipDistance
                              Capability SampledRect
                              Capability SampledBuffer
                              Capability ImageQuery
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 16 28 33 43
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              Name 4  "main"
                              Name 8  "foo("
                              Name 11  "i1"
                              Name 16  "gl_FrontFacing"
                              Name 24  "i2"
                              Name 28  "o"
                              Name 33  "gl_ClipDistance"
                              Name 43  "k"
                              Name 55  "sampR"
                              Name 63  "sampB"
                              Name 87  "samp2Da"
                              Name 92  "bn"
                              MemberName 92(bn) 0  "matra"
                              MemberName 92(bn) 1  "matca"
                              MemberName 92(bn) 2  "matr"
                              MemberName 92(bn) 3  "matc"
                              MemberName 92(bn) 4  "matrdef"
                              Name 94  ""
                              Name 97  "bi"
                              MemberName 97(bi) 0  "v"
                              Name 100  "bname"
                              Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
                              Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
                              Decorate 55(sampR) DescriptorSet 0
                              Decorate 63(sampB) DescriptorSet 0
                              Decorate 87(samp2Da) DescriptorSet 0
                              Decorate 90 ArrayStride 64
                              Decorate 91 ArrayStride 64
                              MemberDecorate 92(bn) 0 RowMajor
                              MemberDecorate 92(bn) 0 Offset 0
                              MemberDecorate 92(bn) 0 MatrixStride 16
                              MemberDecorate 92(bn) 1 ColMajor
                              MemberDecorate 92(bn) 1 Offset 256
                              MemberDecorate 92(bn) 1 MatrixStride 16
                              MemberDecorate 92(bn) 2 RowMajor
                              MemberDecorate 92(bn) 2 Offset 512
                              MemberDecorate 92(bn) 2 MatrixStride 16
                              MemberDecorate 92(bn) 3 ColMajor
                              MemberDecorate 92(bn) 3 Offset 576
                              MemberDecorate 92(bn) 3 MatrixStride 16
                              MemberDecorate 92(bn) 4 RowMajor
                              MemberDecorate 92(bn) 4 Offset 640
                              MemberDecorate 92(bn) 4 MatrixStride 16
                              Decorate 92(bn) Block
                              Decorate 94 DescriptorSet 0
                              Decorate 96 ArrayStride 16
                              MemberDecorate 97(bi) 0 Offset 0
                              Decorate 97(bi) Block
                              Decorate 100(bname) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeFunction 6(float)
              10:             TypePointer Private 6(float)
          11(i1):     10(ptr) Variable Private
              12:             TypePointer Function 6(float)
              14:             TypeBool
              15:             TypePointer Input 14(bool)
16(gl_FrontFacing):     15(ptr) Variable Input
              20:    6(float) Constant 3221225472
              22:    6(float) Constant 1073741824
          24(i2):     10(ptr) Variable Private
              25:    6(float) Constant 1120665600
              26:             TypeVector 6(float) 4
              27:             TypePointer Output 26(fvec4)
           28(o):     27(ptr) Variable Output
              29:             TypeInt 32 0
              30:     29(int) Constant 5
              31:             TypeArray 6(float) 30
              32:             TypePointer Input 31
33(gl_ClipDistance):     32(ptr) Variable Input
              34:             TypeInt 32 1
              35:     34(int) Constant 2
              36:             TypePointer Input 6(float)
              39:     29(int) Constant 1
              40:             TypePointer Output 6(float)
              42:             TypePointer Input 26(fvec4)
           43(k):     42(ptr) Variable Input
              45:             TypeVector 34(int) 4
              50:     29(int) Constant 2
              52:             TypeImage 6(float) Rect sampled format:Unknown
              53:             TypeSampledImage 52
              54:             TypePointer UniformConstant 53
       55(sampR):     54(ptr) Variable UniformConstant
              58:             TypeVector 34(int) 2
              60:             TypeImage 34(int) Buffer sampled format:Unknown
              61:             TypeSampledImage 60
              62:             TypePointer UniformConstant 61
       63(sampB):     62(ptr) Variable UniformConstant
              69:             TypeVector 6(float) 2
              72:    6(float) Constant 1120403456
              74:     29(int) Constant 3
              83:             TypeImage 6(float) 2D sampled format:Unknown
              84:             TypeSampledImage 83
              85:             TypeArray 84 74
              86:             TypePointer UniformConstant 85
     87(samp2Da):     86(ptr) Variable UniformConstant
              88:             TypeMatrix 26(fvec4) 4
              89:     29(int) Constant 4
              90:             TypeArray 88 89
              91:             TypeArray 88 89
          92(bn):             TypeStruct 90 91 88 88 88
              93:             TypePointer Uniform 92(bn)
              94:     93(ptr) Variable Uniform
              95:             TypeVector 6(float) 3
              96:             TypeArray 95(fvec3) 50
          97(bi):             TypeStruct 96
              98:             TypeArray 97(bi) 89
              99:             TypePointer Uniform 98
      100(bname):     99(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
              13:     12(ptr) Variable Function
              17:    14(bool) Load 16(gl_FrontFacing)
                              SelectionMerge 19 None
                              BranchConditional 17 18 21
              18:               Label
                                Store 13 20
                                Branch 19
              21:               Label
                                Store 13 22
                                Branch 19
              19:             Label
              23:    6(float) Load 13
                              Store 11(i1) 23
                              Store 24(i2) 25
              37:     36(ptr) AccessChain 33(gl_ClipDistance) 35
              38:    6(float) Load 37
              41:     40(ptr) AccessChain 28(o) 39
                              Store 41 38
              44:   26(fvec4) Load 43(k)
              46:   45(ivec4) ConvertFToS 44
              47:     34(int) CompositeExtract 46 0
              48:     36(ptr) AccessChain 33(gl_ClipDistance) 47
              49:    6(float) Load 48
              51:     40(ptr) AccessChain 28(o) 50
                              Store 51 49
              56:          53 Load 55(sampR)
              57:          52 Image 56
              59:   58(ivec2) ImageQuerySize 57
              64:          61 Load 63(sampB)
              65:          60 Image 64
              66:     34(int) ImageQuerySize 65
              67:   58(ivec2) CompositeConstruct 66 66
              68:   58(ivec2) IAdd 59 67
              70:   69(fvec2) ConvertSToF 68
              71:    6(float) CompositeExtract 70 0
              73:    6(float) FDiv 71 72
              75:     40(ptr) AccessChain 28(o) 74
                              Store 75 73
              76:    6(float) FunctionCall 8(foo()
              77:     40(ptr) AccessChain 28(o) 50
                              Store 77 76
                              Return
                              FunctionEnd
         8(foo():    6(float) Function None 7
               9:             Label
              78:    6(float) Load 11(i1)
              79:    6(float) Load 24(i2)
              80:    6(float) FAdd 78 79
                              ReturnValue 80
                              FunctionEnd
