remap.hlsl.templatetypes.none.frag

Linked fragment stage:


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

                              Capability Shader
                              Capability Float64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 146 148
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 9  "r00"
                              Name 15  "r01"
                              Name 20  "r12"
                              Name 24  "r13"
                              Name 27  "r14"
                              Name 30  "r15"
                              Name 34  "r16"
                              Name 38  "r20"
                              Name 43  "r21"
                              Name 48  "r22"
                              Name 52  "r23"
                              Name 57  "r24"
                              Name 62  "r30"
                              Name 66  "r31"
                              Name 71  "r32"
                              Name 75  "r33"
                              Name 80  "r34"
                              Name 85  "r40"
                              Name 89  "r41"
                              Name 92  "r42"
                              Name 95  "r43"
                              Name 100  "r44"
                              Name 105  "r50"
                              Name 122  "r51"
                              Name 125  "r61"
                              Name 130  "r62"
                              Name 136  "r65"
                              Name 141  "r66"
                              Name 146  "@entryPointOutput"
                              Name 148  "input"
                              Decorate 146(@entryPointOutput) Location 0
                              Decorate 148(input) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:    6(float) Constant 1065353216
              11:    6(float) Constant 1073741824
              12:    6(float) Constant 1077936128
              13:    6(float) Constant 1082130432
              14:    7(fvec4) ConstantComposite 10 11 12 13
              16:    6(float) Constant 1084227584
              17:    7(fvec4) ConstantComposite 11 12 13 16
              18:             TypeBool
              19:             TypePointer Function 18(bool)
              21:    18(bool) ConstantFalse
              22:             TypeInt 32 1
              23:             TypePointer Function 22(int)
              25:     22(int) Constant 1
              26:             TypePointer Function 6(float)
              28:             TypeFloat 64
              29:             TypePointer Function 28(float)
              31:   28(float) Constant 0 1072693248
              32:             TypeInt 32 0
              33:             TypePointer Function 32(int)
              35:     32(int) Constant 1
              36:             TypeVector 18(bool) 2
              37:             TypePointer Function 36(bvec2)
              39:    18(bool) ConstantTrue
              40:   36(bvec2) ConstantComposite 21 39
              41:             TypeVector 22(int) 2
              42:             TypePointer Function 41(ivec2)
              44:     22(int) Constant 2
              45:   41(ivec2) ConstantComposite 25 44
              46:             TypeVector 6(float) 2
              47:             TypePointer Function 46(fvec2)
              49:   46(fvec2) ConstantComposite 10 11
              50:             TypeVector 28(float) 2
              51:             TypePointer Function 50(fvec2)
              53:   28(float) Constant 0 1073741824
              54:   50(fvec2) ConstantComposite 31 53
              55:             TypeVector 32(int) 2
              56:             TypePointer Function 55(ivec2)
              58:     32(int) Constant 2
              59:   55(ivec2) ConstantComposite 35 58
              60:             TypeVector 18(bool) 3
              61:             TypePointer Function 60(bvec3)
              63:   60(bvec3) ConstantComposite 21 39 39
              64:             TypeVector 22(int) 3
              65:             TypePointer Function 64(ivec3)
              67:     22(int) Constant 3
              68:   64(ivec3) ConstantComposite 25 44 67
              69:             TypeVector 6(float) 3
              70:             TypePointer Function 69(fvec3)
              72:   69(fvec3) ConstantComposite 10 11 12
              73:             TypeVector 28(float) 3
              74:             TypePointer Function 73(fvec3)
              76:   28(float) Constant 0 1074266112
              77:   73(fvec3) ConstantComposite 31 53 76
              78:             TypeVector 32(int) 3
              79:             TypePointer Function 78(ivec3)
              81:     32(int) Constant 3
              82:   78(ivec3) ConstantComposite 35 58 81
              83:             TypeVector 18(bool) 4
              84:             TypePointer Function 83(bvec4)
              86:   83(bvec4) ConstantComposite 21 39 39 21
              87:             TypeVector 22(int) 4
              88:             TypePointer Function 87(ivec4)
              90:     22(int) Constant 4
              91:   87(ivec4) ConstantComposite 25 44 67 90
              93:             TypeVector 28(float) 4
              94:             TypePointer Function 93(fvec4)
              96:   28(float) Constant 0 1074790400
              97:   93(fvec4) ConstantComposite 31 53 76 96
              98:             TypeVector 32(int) 4
              99:             TypePointer Function 98(ivec4)
             101:     32(int) Constant 4
             102:   98(ivec4) ConstantComposite 35 58 81 101
             103:             TypeMatrix 7(fvec4) 4
             104:             TypePointer Function 103
             106:    6(float) Constant 0
             107:    7(fvec4) ConstantComposite 106 10 11 12
             108:    6(float) Constant 1086324736
             109:    6(float) Constant 1088421888
             110:    7(fvec4) ConstantComposite 13 16 108 109
             111:    6(float) Constant 1090519040
             112:    6(float) Constant 1091567616
             113:    6(float) Constant 1092616192
             114:    6(float) Constant 1093664768
             115:    7(fvec4) ConstantComposite 111 112 113 114
             116:    6(float) Constant 1094713344
             117:    6(float) Constant 1095761920
             118:    6(float) Constant 1096810496
             119:    6(float) Constant 1097859072
             120:    7(fvec4) ConstantComposite 116 117 118 119
             121:         103 ConstantComposite 107 110 115 120
             123:             TypeMatrix 69(fvec3) 2
             124:             TypePointer Function 123
             126:   69(fvec3) ConstantComposite 13 16 108
             127:         123 ConstantComposite 72 126
             128:             TypeMatrix 46(fvec2) 3
             129:             TypePointer Function 128
             131:   46(fvec2) ConstantComposite 12 13
             132:   46(fvec2) ConstantComposite 16 108
             133:         128 ConstantComposite 49 131 132
             134:             TypeMatrix 46(fvec2) 4
             135:             TypePointer Function 134
             137:   46(fvec2) ConstantComposite 109 111
             138:         134 ConstantComposite 49 131 132 137
             139:             TypeMatrix 69(fvec3) 4
             140:             TypePointer Function 139
             142:   69(fvec3) ConstantComposite 109 111 112
             143:   69(fvec3) ConstantComposite 113 114 116
             144:         139 ConstantComposite 72 126 142 143
             145:             TypePointer Output 6(float)
146(@entryPointOutput):    145(ptr) Variable Output
             147:             TypePointer Input 7(fvec4)
      148(input):    147(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
          9(r00):      8(ptr) Variable Function
         15(r01):      8(ptr) Variable Function
         20(r12):     19(ptr) Variable Function
         24(r13):     23(ptr) Variable Function
         27(r14):     26(ptr) Variable Function
         30(r15):     29(ptr) Variable Function
         34(r16):     33(ptr) Variable Function
         38(r20):     37(ptr) Variable Function
         43(r21):     42(ptr) Variable Function
         48(r22):     47(ptr) Variable Function
         52(r23):     51(ptr) Variable Function
         57(r24):     56(ptr) Variable Function
         62(r30):     61(ptr) Variable Function
         66(r31):     65(ptr) Variable Function
         71(r32):     70(ptr) Variable Function
         75(r33):     74(ptr) Variable Function
         80(r34):     79(ptr) Variable Function
         85(r40):     84(ptr) Variable Function
         89(r41):     88(ptr) Variable Function
         92(r42):      8(ptr) Variable Function
         95(r43):     94(ptr) Variable Function
        100(r44):     99(ptr) Variable Function
        105(r50):    104(ptr) Variable Function
        122(r51):    104(ptr) Variable Function
        125(r61):    124(ptr) Variable Function
        130(r62):    129(ptr) Variable Function
        136(r65):    135(ptr) Variable Function
        141(r66):    140(ptr) Variable Function
                              Store 9(r00) 14
                              Store 15(r01) 17
                              Store 20(r12) 21
                              Store 24(r13) 25
                              Store 27(r14) 10
                              Store 30(r15) 31
                              Store 34(r16) 35
                              Store 38(r20) 40
                              Store 43(r21) 45
                              Store 48(r22) 49
                              Store 52(r23) 54
                              Store 57(r24) 59
                              Store 62(r30) 63
                              Store 66(r31) 68
                              Store 71(r32) 72
                              Store 75(r33) 77
                              Store 80(r34) 82
                              Store 85(r40) 86
                              Store 89(r41) 91
                              Store 92(r42) 14
                              Store 95(r43) 97
                              Store 100(r44) 102
                              Store 105(r50) 121
                              Store 122(r51) 121
                              Store 125(r61) 127
                              Store 130(r62) 133
                              Store 136(r65) 138
                              Store 141(r66) 144
                              Store 146(@entryPointOutput) 106
                              Return
                              FunctionEnd
