HLSL: Change intrinsics tests to not use overloaded entry points
authorLoopDawg <nospam@nowhere.net>
Thu, 30 Jun 2016 20:13:03 +0000 (14:13 -0600)
committerLoopDawg <nospam@nowhere.net>
Thu, 30 Jun 2016 20:13:03 +0000 (14:13 -0600)
14 files changed:
Test/baseResults/hlsl.intrinsics.comp.out
Test/baseResults/hlsl.intrinsics.f1632.frag.out
Test/baseResults/hlsl.intrinsics.frag.out
Test/baseResults/hlsl.intrinsics.negative.comp.out
Test/baseResults/hlsl.intrinsics.negative.frag.out
Test/baseResults/hlsl.intrinsics.negative.vert.out
Test/baseResults/hlsl.intrinsics.vert.out
Test/hlsl.intrinsics.comp
Test/hlsl.intrinsics.f1632.frag
Test/hlsl.intrinsics.frag
Test/hlsl.intrinsics.negative.comp
Test/hlsl.intrinsics.negative.frag
Test/hlsl.intrinsics.negative.vert
Test/hlsl.intrinsics.vert

index d6012df961bb570555fa5d8e94b0fbb25a2980eb..820d2d5bcff03ac6f608ba27ce87eb40e4fd3e02 100644 (file)
@@ -2,7 +2,7 @@ hlsl.intrinsics.comp
 Shader version: 450
 local_size = (1, 1, 1)
 0:? Sequence
-0:44  Function Definition: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:44  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:17    Function Parameters: 
 0:17      'inF0' (in float)
 0:17      'inF1' (in float)
@@ -74,7 +74,7 @@ local_size = (1, 1, 1)
 0:41      Branch: Return with expression
 0:41        Constant:
 0:41          0.000000
-0:50  Function Definition: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:50  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:45    Function Parameters: 
 0:45      'inF0' (in 1-component vector of float)
 0:45      'inF1' (in 1-component vector of float)
@@ -83,7 +83,7 @@ local_size = (1, 1, 1)
 0:47      Branch: Return with expression
 0:47        Constant:
 0:47          0.000000
-0:77  Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:77  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:51    Function Parameters: 
 0:51      'inF0' (in 2-component vector of float)
 0:51      'inF1' (in 2-component vector of float)
@@ -156,7 +156,7 @@ local_size = (1, 1, 1)
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:104  Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:104  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:78    Function Parameters: 
 0:78      'inF0' (in 3-component vector of float)
 0:78      'inF1' (in 3-component vector of float)
@@ -326,7 +326,7 @@ Linked compute stage:
 Shader version: 450
 local_size = (1, 1, 1)
 0:? Sequence
-0:44  Function Definition: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:44  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:17    Function Parameters: 
 0:17      'inF0' (in float)
 0:17      'inF1' (in float)
@@ -398,7 +398,7 @@ local_size = (1, 1, 1)
 0:41      Branch: Return with expression
 0:41        Constant:
 0:41          0.000000
-0:50  Function Definition: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:50  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:45    Function Parameters: 
 0:45      'inF0' (in 1-component vector of float)
 0:45      'inF1' (in 1-component vector of float)
@@ -407,7 +407,7 @@ local_size = (1, 1, 1)
 0:47      Branch: Return with expression
 0:47        Constant:
 0:47          0.000000
-0:77  Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:77  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:51    Function Parameters: 
 0:51      'inF0' (in 2-component vector of float)
 0:51      'inF1' (in 2-component vector of float)
@@ -480,7 +480,7 @@ local_size = (1, 1, 1)
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:104  Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:104  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:78    Function Parameters: 
 0:78      'inF0' (in 3-component vector of float)
 0:78      'inF1' (in 3-component vector of float)
@@ -645,124 +645,295 @@ local_size = (1, 1, 1)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 182
+// Id's are bound by 213
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint GLCompute 4  "ComputeShaderFunction" 8 54 98 141
+                              EntryPoint GLCompute 4  "ComputeShaderFunction" 172
                               ExecutionMode 4 LocalSize 1 1 1
                               Source HLSL 450
                               Name 4  "ComputeShaderFunction"
-                              Name 8  "inF0"
-                              Name 14  "gs_ua"
-                              Name 15  "gs_ub"
-                              Name 20  "out_u1"
-                              Name 28  "gs_uc"
-                              Name 54  "inF0"
-                              Name 59  "gs_ua2"
-                              Name 60  "gs_ub2"
-                              Name 63  "out_u2"
-                              Name 71  "gs_uc2"
-                              Name 98  "inF0"
-                              Name 103  "gs_ua3"
-                              Name 104  "gs_ub3"
-                              Name 107  "out_u3"
-                              Name 115  "gs_uc3"
-                              Name 141  "inF0"
-                              Name 146  "gs_ua4"
-                              Name 147  "gs_ub4"
-                              Name 150  "out_u4"
-                              Name 158  "gs_uc4"
+                              Name 16  "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
+                              Name 11  "inF0"
+                              Name 12  "inF1"
+                              Name 13  "inF2"
+                              Name 14  "inU0"
+                              Name 15  "inU1"
+                              Name 22  "ComputeShaderFunction1(vf1;vf1;vf1;"
+                              Name 19  "inF0"
+                              Name 20  "inF1"
+                              Name 21  "inF2"
+                              Name 34  "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+                              Name 29  "inF0"
+                              Name 30  "inF1"
+                              Name 31  "inF2"
+                              Name 32  "inU0"
+                              Name 33  "inU1"
+                              Name 46  "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+                              Name 41  "inF0"
+                              Name 42  "inF1"
+                              Name 43  "inF2"
+                              Name 44  "inU0"
+                              Name 45  "inU1"
+                              Name 51  "gs_ua"
+                              Name 52  "gs_ub"
+                              Name 57  "out_u1"
+                              Name 65  "gs_uc"
+                              Name 93  "gs_ua2"
+                              Name 94  "gs_ub2"
+                              Name 97  "out_u2"
+                              Name 105  "gs_uc2"
+                              Name 133  "gs_ua3"
+                              Name 134  "gs_ub3"
+                              Name 137  "out_u3"
+                              Name 145  "gs_uc3"
+                              Name 172  "inF0"
+                              Name 177  "gs_ua4"
+                              Name 178  "gs_ub4"
+                              Name 181  "out_u4"
+                              Name 189  "gs_uc4"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
-               7:             TypePointer Input 6(float)
-         8(inF0):      7(ptr) Variable Input
-              10:             TypeBool
-              12:             TypeInt 32 0
-              13:             TypePointer Function 12(int)
-              17:     12(int) Constant 1
-              18:     12(int) Constant 0
-              49:    6(float) Constant 0
-              52:             TypeVector 6(float) 2
-              53:             TypePointer Input 52(fvec2)
-        54(inF0):     53(ptr) Variable Input
-              57:             TypeVector 12(int) 2
-              58:             TypePointer Function 57(ivec2)
-              92:    6(float) Constant 1065353216
-              93:    6(float) Constant 1073741824
-              94:   52(fvec2) ConstantComposite 92 93
-              96:             TypeVector 6(float) 3
-              97:             TypePointer Input 96(fvec3)
-        98(inF0):     97(ptr) Variable Input
-             101:             TypeVector 12(int) 3
-             102:             TypePointer Function 101(ivec3)
-             136:    6(float) Constant 1077936128
-             137:   96(fvec3) ConstantComposite 92 93 136
-             139:             TypeVector 6(float) 4
-             140:             TypePointer Input 139(fvec4)
-       141(inF0):    140(ptr) Variable Input
-             144:             TypeVector 12(int) 4
-             145:             TypePointer Function 144(ivec4)
-             179:    6(float) Constant 1082130432
-             180:  139(fvec4) ConstantComposite 92 93 136 179
+               7:             TypePointer Function 6(float)
+               8:             TypeInt 32 0
+               9:             TypePointer Function 8(int)
+              10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+              18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+              24:             TypeVector 6(float) 2
+              25:             TypePointer Function 24(fvec2)
+              26:             TypeVector 8(int) 2
+              27:             TypePointer Function 26(ivec2)
+              28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+              36:             TypeVector 6(float) 3
+              37:             TypePointer Function 36(fvec3)
+              38:             TypeVector 8(int) 3
+              39:             TypePointer Function 38(ivec3)
+              40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+              49:             TypeBool
+              54:      8(int) Constant 1
+              55:      8(int) Constant 0
+              86:    6(float) Constant 0
+             126:    6(float) Constant 1065353216
+             127:    6(float) Constant 1073741824
+             128:   24(fvec2) ConstantComposite 126 127
+             166:    6(float) Constant 1077936128
+             167:   36(fvec3) ConstantComposite 126 127 166
+             170:             TypeVector 6(float) 4
+             171:             TypePointer Input 170(fvec4)
+       172(inF0):    171(ptr) Variable Input
+             175:             TypeVector 8(int) 4
+             176:             TypePointer Function 175(ivec4)
+             210:    6(float) Constant 1082130432
+             211:  170(fvec4) ConstantComposite 126 127 166 210
 4(ComputeShaderFunction):           2 Function None 3
                5:             Label
-       14(gs_ua):     13(ptr) Variable Function
-       15(gs_ub):     13(ptr) Variable Function
-      20(out_u1):     13(ptr) Variable Function
-       28(gs_uc):     13(ptr) Variable Function
-      59(gs_ua2):     58(ptr) Variable Function
-      60(gs_ub2):     58(ptr) Variable Function
-      63(out_u2):     58(ptr) Variable Function
-      71(gs_uc2):     58(ptr) Variable Function
-     103(gs_ua3):    102(ptr) Variable Function
-     104(gs_ub3):    102(ptr) Variable Function
-     107(out_u3):    102(ptr) Variable Function
-     115(gs_uc3):    102(ptr) Variable Function
-     146(gs_ua4):    145(ptr) Variable Function
-     147(gs_ub4):    145(ptr) Variable Function
-     150(out_u4):    145(ptr) Variable Function
-     158(gs_uc4):    145(ptr) Variable Function
-               9:    6(float) Load 8(inF0)
-              11:    10(bool) All 9
-              16:     12(int) Load 15(gs_ub)
-              19:           2 AtomicIAdd 14(gs_ua) 17 18 16
-              21:     12(int) Load 15(gs_ub)
-              22:     12(int) AtomicIAdd 14(gs_ua) 17 18 21
-                              Store 20(out_u1) 22
-              23:     12(int) Load 15(gs_ub)
-              24:           2 AtomicAnd 14(gs_ua) 17 18 23
-              25:     12(int) Load 15(gs_ub)
-              26:     12(int) AtomicAnd 14(gs_ua) 17 18 25
-                              Store 20(out_u1) 26
-              27:     12(int) Load 15(gs_ub)
-              29:     12(int) Load 28(gs_uc)
-              30:     12(int) AtomicCompareExchange 14(gs_ua) 17 18 18 29 27
-                              Store 20(out_u1) 30
-              31:     12(int) Load 15(gs_ub)
-              32:     12(int) AtomicExchange 14(gs_ua) 17 18 31
-                              Store 20(out_u1) 32
-              33:     12(int) Load 15(gs_ub)
-              34:           2 AtomicSMax 14(gs_ua) 17 18 33
-              35:     12(int) Load 15(gs_ub)
-              36:     12(int) AtomicUMax 14(gs_ua) 17 18 35
-                              Store 20(out_u1) 36
-              37:     12(int) Load 15(gs_ub)
-              38:           2 AtomicSMin 14(gs_ua) 17 18 37
-              39:     12(int) Load 15(gs_ub)
-              40:     12(int) AtomicUMin 14(gs_ua) 17 18 39
-                              Store 20(out_u1) 40
-              41:     12(int) Load 15(gs_ub)
-              42:           2 AtomicOr 14(gs_ua) 17 18 41
-              43:     12(int) Load 15(gs_ub)
-              44:     12(int) AtomicOr 14(gs_ua) 17 18 43
-                              Store 20(out_u1) 44
-              45:     12(int) Load 15(gs_ub)
-              46:           2 AtomicXor 14(gs_ua) 17 18 45
-              47:     12(int) Load 15(gs_ub)
-              48:     12(int) AtomicXor 14(gs_ua) 17 18 47
-                              Store 20(out_u1) 48
-                              ReturnValue 49
+     177(gs_ua4):    176(ptr) Variable Function
+     178(gs_ub4):    176(ptr) Variable Function
+     181(out_u4):    176(ptr) Variable Function
+     189(gs_uc4):    176(ptr) Variable Function
+             173:  170(fvec4) Load 172(inF0)
+             174:    49(bool) All 173
+             179:  175(ivec4) Load 178(gs_ub4)
+             180:           2 AtomicIAdd 177(gs_ua4) 54 55 179
+             182:  175(ivec4) Load 178(gs_ub4)
+             183:  175(ivec4) AtomicIAdd 177(gs_ua4) 54 55 182
+                              Store 181(out_u4) 183
+             184:  175(ivec4) Load 178(gs_ub4)
+             185:           2 AtomicAnd 177(gs_ua4) 54 55 184
+             186:  175(ivec4) Load 178(gs_ub4)
+             187:  175(ivec4) AtomicAnd 177(gs_ua4) 54 55 186
+                              Store 181(out_u4) 187
+             188:  175(ivec4) Load 178(gs_ub4)
+             190:  175(ivec4) Load 189(gs_uc4)
+             191:  175(ivec4) AtomicCompareExchange 177(gs_ua4) 54 55 55 190 188
+                              Store 181(out_u4) 191
+             192:  175(ivec4) Load 178(gs_ub4)
+             193:  175(ivec4) AtomicExchange 177(gs_ua4) 54 55 192
+                              Store 181(out_u4) 193
+             194:  175(ivec4) Load 178(gs_ub4)
+             195:           2 AtomicSMax 177(gs_ua4) 54 55 194
+             196:  175(ivec4) Load 178(gs_ub4)
+             197:  175(ivec4) AtomicUMax 177(gs_ua4) 54 55 196
+                              Store 181(out_u4) 197
+             198:  175(ivec4) Load 178(gs_ub4)
+             199:           2 AtomicSMin 177(gs_ua4) 54 55 198
+             200:  175(ivec4) Load 178(gs_ub4)
+             201:  175(ivec4) AtomicUMin 177(gs_ua4) 54 55 200
+                              Store 181(out_u4) 201
+             202:  175(ivec4) Load 178(gs_ub4)
+             203:           2 AtomicOr 177(gs_ua4) 54 55 202
+             204:  175(ivec4) Load 178(gs_ub4)
+             205:  175(ivec4) AtomicOr 177(gs_ua4) 54 55 204
+                              Store 181(out_u4) 205
+             206:  175(ivec4) Load 178(gs_ub4)
+             207:           2 AtomicXor 177(gs_ua4) 54 55 206
+             208:  175(ivec4) Load 178(gs_ub4)
+             209:  175(ivec4) AtomicXor 177(gs_ua4) 54 55 208
+                              Store 181(out_u4) 209
+                              ReturnValue 211
+                              FunctionEnd
+16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
+        11(inF0):      7(ptr) FunctionParameter
+        12(inF1):      7(ptr) FunctionParameter
+        13(inF2):      7(ptr) FunctionParameter
+        14(inU0):      9(ptr) FunctionParameter
+        15(inU1):      9(ptr) FunctionParameter
+              17:             Label
+       51(gs_ua):      9(ptr) Variable Function
+       52(gs_ub):      9(ptr) Variable Function
+      57(out_u1):      9(ptr) Variable Function
+       65(gs_uc):      9(ptr) Variable Function
+              48:    6(float) Load 11(inF0)
+              50:    49(bool) All 48
+              53:      8(int) Load 52(gs_ub)
+              56:           2 AtomicIAdd 51(gs_ua) 54 55 53
+              58:      8(int) Load 52(gs_ub)
+              59:      8(int) AtomicIAdd 51(gs_ua) 54 55 58
+                              Store 57(out_u1) 59
+              60:      8(int) Load 52(gs_ub)
+              61:           2 AtomicAnd 51(gs_ua) 54 55 60
+              62:      8(int) Load 52(gs_ub)
+              63:      8(int) AtomicAnd 51(gs_ua) 54 55 62
+                              Store 57(out_u1) 63
+              64:      8(int) Load 52(gs_ub)
+              66:      8(int) Load 65(gs_uc)
+              67:      8(int) AtomicCompareExchange 51(gs_ua) 54 55 55 66 64
+                              Store 57(out_u1) 67
+              68:      8(int) Load 52(gs_ub)
+              69:      8(int) AtomicExchange 51(gs_ua) 54 55 68
+                              Store 57(out_u1) 69
+              70:      8(int) Load 52(gs_ub)
+              71:           2 AtomicSMax 51(gs_ua) 54 55 70
+              72:      8(int) Load 52(gs_ub)
+              73:      8(int) AtomicUMax 51(gs_ua) 54 55 72
+                              Store 57(out_u1) 73
+              74:      8(int) Load 52(gs_ub)
+              75:           2 AtomicSMin 51(gs_ua) 54 55 74
+              76:      8(int) Load 52(gs_ub)
+              77:      8(int) AtomicUMin 51(gs_ua) 54 55 76
+                              Store 57(out_u1) 77
+              78:      8(int) Load 52(gs_ub)
+              79:           2 AtomicOr 51(gs_ua) 54 55 78
+              80:      8(int) Load 52(gs_ub)
+              81:      8(int) AtomicOr 51(gs_ua) 54 55 80
+                              Store 57(out_u1) 81
+              82:      8(int) Load 52(gs_ub)
+              83:           2 AtomicXor 51(gs_ua) 54 55 82
+              84:      8(int) Load 52(gs_ub)
+              85:      8(int) AtomicXor 51(gs_ua) 54 55 84
+                              Store 57(out_u1) 85
+                              ReturnValue 86
+                              FunctionEnd
+22(ComputeShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
+        19(inF0):      7(ptr) FunctionParameter
+        20(inF1):      7(ptr) FunctionParameter
+        21(inF2):      7(ptr) FunctionParameter
+              23:             Label
+                              ReturnValue 86
+                              FunctionEnd
+34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
+        29(inF0):     25(ptr) FunctionParameter
+        30(inF1):     25(ptr) FunctionParameter
+        31(inF2):     25(ptr) FunctionParameter
+        32(inU0):     27(ptr) FunctionParameter
+        33(inU1):     27(ptr) FunctionParameter
+              35:             Label
+      93(gs_ua2):     27(ptr) Variable Function
+      94(gs_ub2):     27(ptr) Variable Function
+      97(out_u2):     27(ptr) Variable Function
+     105(gs_uc2):     27(ptr) Variable Function
+              91:   24(fvec2) Load 29(inF0)
+              92:    49(bool) All 91
+              95:   26(ivec2) Load 94(gs_ub2)
+              96:           2 AtomicIAdd 93(gs_ua2) 54 55 95
+              98:   26(ivec2) Load 94(gs_ub2)
+              99:   26(ivec2) AtomicIAdd 93(gs_ua2) 54 55 98
+                              Store 97(out_u2) 99
+             100:   26(ivec2) Load 94(gs_ub2)
+             101:           2 AtomicAnd 93(gs_ua2) 54 55 100
+             102:   26(ivec2) Load 94(gs_ub2)
+             103:   26(ivec2) AtomicAnd 93(gs_ua2) 54 55 102
+                              Store 97(out_u2) 103
+             104:   26(ivec2) Load 94(gs_ub2)
+             106:   26(ivec2) Load 105(gs_uc2)
+             107:   26(ivec2) AtomicCompareExchange 93(gs_ua2) 54 55 55 106 104
+                              Store 97(out_u2) 107
+             108:   26(ivec2) Load 94(gs_ub2)
+             109:   26(ivec2) AtomicExchange 93(gs_ua2) 54 55 108
+                              Store 97(out_u2) 109
+             110:   26(ivec2) Load 94(gs_ub2)
+             111:           2 AtomicSMax 93(gs_ua2) 54 55 110
+             112:   26(ivec2) Load 94(gs_ub2)
+             113:   26(ivec2) AtomicUMax 93(gs_ua2) 54 55 112
+                              Store 97(out_u2) 113
+             114:   26(ivec2) Load 94(gs_ub2)
+             115:           2 AtomicSMin 93(gs_ua2) 54 55 114
+             116:   26(ivec2) Load 94(gs_ub2)
+             117:   26(ivec2) AtomicUMin 93(gs_ua2) 54 55 116
+                              Store 97(out_u2) 117
+             118:   26(ivec2) Load 94(gs_ub2)
+             119:           2 AtomicOr 93(gs_ua2) 54 55 118
+             120:   26(ivec2) Load 94(gs_ub2)
+             121:   26(ivec2) AtomicOr 93(gs_ua2) 54 55 120
+                              Store 97(out_u2) 121
+             122:   26(ivec2) Load 94(gs_ub2)
+             123:           2 AtomicXor 93(gs_ua2) 54 55 122
+             124:   26(ivec2) Load 94(gs_ub2)
+             125:   26(ivec2) AtomicXor 93(gs_ua2) 54 55 124
+                              Store 97(out_u2) 125
+                              ReturnValue 128
+                              FunctionEnd
+46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
+        41(inF0):     37(ptr) FunctionParameter
+        42(inF1):     37(ptr) FunctionParameter
+        43(inF2):     37(ptr) FunctionParameter
+        44(inU0):     39(ptr) FunctionParameter
+        45(inU1):     39(ptr) FunctionParameter
+              47:             Label
+     133(gs_ua3):     39(ptr) Variable Function
+     134(gs_ub3):     39(ptr) Variable Function
+     137(out_u3):     39(ptr) Variable Function
+     145(gs_uc3):     39(ptr) Variable Function
+             131:   36(fvec3) Load 41(inF0)
+             132:    49(bool) All 131
+             135:   38(ivec3) Load 134(gs_ub3)
+             136:           2 AtomicIAdd 133(gs_ua3) 54 55 135
+             138:   38(ivec3) Load 134(gs_ub3)
+             139:   38(ivec3) AtomicIAdd 133(gs_ua3) 54 55 138
+                              Store 137(out_u3) 139
+             140:   38(ivec3) Load 134(gs_ub3)
+             141:           2 AtomicAnd 133(gs_ua3) 54 55 140
+             142:   38(ivec3) Load 134(gs_ub3)
+             143:   38(ivec3) AtomicAnd 133(gs_ua3) 54 55 142
+                              Store 137(out_u3) 143
+             144:   38(ivec3) Load 134(gs_ub3)
+             146:   38(ivec3) Load 145(gs_uc3)
+             147:   38(ivec3) AtomicCompareExchange 133(gs_ua3) 54 55 55 146 144
+                              Store 137(out_u3) 147
+             148:   38(ivec3) Load 134(gs_ub3)
+             149:   38(ivec3) AtomicExchange 133(gs_ua3) 54 55 148
+                              Store 137(out_u3) 149
+             150:   38(ivec3) Load 134(gs_ub3)
+             151:           2 AtomicSMax 133(gs_ua3) 54 55 150
+             152:   38(ivec3) Load 134(gs_ub3)
+             153:   38(ivec3) AtomicUMax 133(gs_ua3) 54 55 152
+                              Store 137(out_u3) 153
+             154:   38(ivec3) Load 134(gs_ub3)
+             155:           2 AtomicSMin 133(gs_ua3) 54 55 154
+             156:   38(ivec3) Load 134(gs_ub3)
+             157:   38(ivec3) AtomicUMin 133(gs_ua3) 54 55 156
+                              Store 137(out_u3) 157
+             158:   38(ivec3) Load 134(gs_ub3)
+             159:           2 AtomicOr 133(gs_ua3) 54 55 158
+             160:   38(ivec3) Load 134(gs_ub3)
+             161:   38(ivec3) AtomicOr 133(gs_ua3) 54 55 160
+                              Store 137(out_u3) 161
+             162:   38(ivec3) Load 134(gs_ub3)
+             163:           2 AtomicXor 133(gs_ua3) 54 55 162
+             164:   38(ivec3) Load 134(gs_ub3)
+             165:   38(ivec3) AtomicXor 133(gs_ua3) 54 55 164
+                              Store 137(out_u3) 165
+                              ReturnValue 167
                               FunctionEnd
index a4930ec9885286d45a05a87ffffbbb380a3c23f5..ce51929324f4c639c1e51232829039200d88c238 100644 (file)
@@ -9,7 +9,7 @@ ERROR: 4 compilation errors.  No code generated.
 Shader version: 450
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:8  Function Definition: PixelShaderFunction(f1; (temp float)
+0:8  Function Definition: PixelShaderFunctionS(f1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:?     Sequence
@@ -19,14 +19,14 @@ ERROR: node is still EOpNull!
 0:5      Branch: Return with expression
 0:5        Constant:
 0:5          0.000000
-0:14  Function Definition: PixelShaderFunction(vf1; (temp 1-component vector of float)
+0:14  Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of float)
 0:9    Function Parameters: 
 0:9      'inF0' (in 1-component vector of float)
 0:?     Sequence
 0:11      Branch: Return with expression
 0:11        Constant:
 0:11          0.000000
-0:21  Function Definition: PixelShaderFunction(vf2; (temp 2-component vector of float)
+0:21  Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of float)
 0:15    Function Parameters: 
 0:15      'inF0' (in 2-component vector of float)
 0:?     Sequence
@@ -37,7 +37,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:28  Function Definition: PixelShaderFunction(vf3; (temp 3-component vector of float)
+0:28  Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of float)
 0:22    Function Parameters: 
 0:22      'inF0' (in 3-component vector of float)
 0:?     Sequence
@@ -71,7 +71,7 @@ Linked fragment stage:
 Shader version: 450
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:8  Function Definition: PixelShaderFunction(f1; (temp float)
+0:8  Function Definition: PixelShaderFunctionS(f1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:?     Sequence
@@ -81,14 +81,14 @@ ERROR: node is still EOpNull!
 0:5      Branch: Return with expression
 0:5        Constant:
 0:5          0.000000
-0:14  Function Definition: PixelShaderFunction(vf1; (temp 1-component vector of float)
+0:14  Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of float)
 0:9    Function Parameters: 
 0:9      'inF0' (in 1-component vector of float)
 0:?     Sequence
 0:11      Branch: Return with expression
 0:11        Constant:
 0:11          0.000000
-0:21  Function Definition: PixelShaderFunction(vf2; (temp 2-component vector of float)
+0:21  Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of float)
 0:15    Function Parameters: 
 0:15      'inF0' (in 2-component vector of float)
 0:?     Sequence
@@ -99,7 +99,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:28  Function Definition: PixelShaderFunction(vf3; (temp 3-component vector of float)
+0:28  Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of float)
 0:22    Function Parameters: 
 0:22      'inF0' (in 3-component vector of float)
 0:?     Sequence
index d2162eccc6b3e84960dab07c219b308f0edef29e..5920d258e5fcac2ae926e35ef3554fb1645bcf9a 100644 (file)
@@ -2,7 +2,7 @@ hlsl.intrinsics.frag
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
-0:88  Function Definition: PixelShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:88  Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:17    Function Parameters: 
 0:17      'inF0' (in float)
 0:17      'inF1' (in float)
@@ -283,7 +283,7 @@ gl_FragCoord origin is upper left
 0:85      Branch: Return with expression
 0:85        Constant:
 0:85          0.000000
-0:94  Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:94  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:89    Function Parameters: 
 0:89      'inF0' (in 1-component vector of float)
 0:89      'inF1' (in 1-component vector of float)
@@ -292,7 +292,7 @@ gl_FragCoord origin is upper left
 0:91      Branch: Return with expression
 0:91        Constant:
 0:91          0.000000
-0:177  Function Definition: PixelShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:177  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:95    Function Parameters: 
 0:95      'inF0' (in 2-component vector of float)
 0:95      'inF1' (in 2-component vector of float)
@@ -614,7 +614,7 @@ gl_FragCoord origin is upper left
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:258  Function Definition: PixelShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:258  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:178    Function Parameters: 
 0:178      'inF0' (in 3-component vector of float)
 0:178      'inF1' (in 3-component vector of float)
@@ -1303,7 +1303,7 @@ gl_FragCoord origin is upper left
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:408  Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:408  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:400    Function Parameters: 
 0:400      'inF0' (in 2X2 matrix of float)
 0:400      'inF1' (in 2X2 matrix of float)
@@ -1545,7 +1545,7 @@ gl_FragCoord origin is upper left
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:417  Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:417  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:409    Function Parameters: 
 0:409      'inF0' (in 3X3 matrix of float)
 0:409      'inF1' (in 3X3 matrix of float)
@@ -1797,7 +1797,7 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:438  Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:438  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:418    Function Parameters: 
 0:418      'inF0' (in 4X4 matrix of float)
 0:418      'inF1' (in 4X4 matrix of float)
@@ -2063,7 +2063,7 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:445  Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:445  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void)
 0:441    Function Parameters: 
 0:441      'inF0' (in float)
 0:441      'inF1' (in float)
@@ -2117,7 +2117,7 @@ gl_FragCoord origin is upper left
 0:442        matrix-multiply (temp 2X2 matrix of float)
 0:442          'inFM0' (in 2X2 matrix of float)
 0:442          'inFM1' (in 2X2 matrix of float)
-0:452  Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:452  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void)
 0:448    Function Parameters: 
 0:448      'inF0' (in float)
 0:448      'inF1' (in float)
@@ -2171,7 +2171,7 @@ gl_FragCoord origin is upper left
 0:449        matrix-multiply (temp 3X3 matrix of float)
 0:449          'inFM0' (in 3X3 matrix of float)
 0:449          'inFM1' (in 3X3 matrix of float)
-0:460  Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:460  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void)
 0:455    Function Parameters: 
 0:455      'inF0' (in float)
 0:455      'inF1' (in float)
@@ -2225,7 +2225,7 @@ gl_FragCoord origin is upper left
 0:456        matrix-multiply (temp 4X4 matrix of float)
 0:456          'inFM0' (in 4X4 matrix of float)
 0:456          'inFM1' (in 4X4 matrix of float)
-0:484  Function Definition: TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
+0:484  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
 0:465    Function Parameters: 
 0:465      'inF0' (in float)
 0:465      'inF1' (in float)
@@ -2343,7 +2343,7 @@ Linked fragment stage:
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
-0:88  Function Definition: PixelShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:88  Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:17    Function Parameters: 
 0:17      'inF0' (in float)
 0:17      'inF1' (in float)
@@ -2624,7 +2624,7 @@ gl_FragCoord origin is upper left
 0:85      Branch: Return with expression
 0:85        Constant:
 0:85          0.000000
-0:94  Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:94  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:89    Function Parameters: 
 0:89      'inF0' (in 1-component vector of float)
 0:89      'inF1' (in 1-component vector of float)
@@ -2633,7 +2633,7 @@ gl_FragCoord origin is upper left
 0:91      Branch: Return with expression
 0:91        Constant:
 0:91          0.000000
-0:177  Function Definition: PixelShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:177  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:95    Function Parameters: 
 0:95      'inF0' (in 2-component vector of float)
 0:95      'inF1' (in 2-component vector of float)
@@ -2955,7 +2955,7 @@ gl_FragCoord origin is upper left
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:258  Function Definition: PixelShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:258  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:178    Function Parameters: 
 0:178      'inF0' (in 3-component vector of float)
 0:178      'inF1' (in 3-component vector of float)
@@ -3644,7 +3644,7 @@ gl_FragCoord origin is upper left
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:408  Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:408  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:400    Function Parameters: 
 0:400      'inF0' (in 2X2 matrix of float)
 0:400      'inF1' (in 2X2 matrix of float)
@@ -3886,7 +3886,7 @@ gl_FragCoord origin is upper left
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:417  Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:417  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:409    Function Parameters: 
 0:409      'inF0' (in 3X3 matrix of float)
 0:409      'inF1' (in 3X3 matrix of float)
@@ -4138,7 +4138,7 @@ gl_FragCoord origin is upper left
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:438  Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:438  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:418    Function Parameters: 
 0:418      'inF0' (in 4X4 matrix of float)
 0:418      'inF1' (in 4X4 matrix of float)
@@ -4404,7 +4404,7 @@ gl_FragCoord origin is upper left
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:445  Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:445  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void)
 0:441    Function Parameters: 
 0:441      'inF0' (in float)
 0:441      'inF1' (in float)
@@ -4458,7 +4458,7 @@ gl_FragCoord origin is upper left
 0:442        matrix-multiply (temp 2X2 matrix of float)
 0:442          'inFM0' (in 2X2 matrix of float)
 0:442          'inFM1' (in 2X2 matrix of float)
-0:452  Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:452  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void)
 0:448    Function Parameters: 
 0:448      'inF0' (in float)
 0:448      'inF1' (in float)
@@ -4512,7 +4512,7 @@ gl_FragCoord origin is upper left
 0:449        matrix-multiply (temp 3X3 matrix of float)
 0:449          'inFM0' (in 3X3 matrix of float)
 0:449          'inFM1' (in 3X3 matrix of float)
-0:460  Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:460  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void)
 0:455    Function Parameters: 
 0:455      'inF0' (in float)
 0:455      'inF1' (in float)
@@ -4566,7 +4566,7 @@ gl_FragCoord origin is upper left
 0:456        matrix-multiply (temp 4X4 matrix of float)
 0:456          'inFM0' (in 4X4 matrix of float)
 0:456          'inFM1' (in 4X4 matrix of float)
-0:484  Function Definition: TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
+0:484  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
 0:465    Function Parameters: 
 0:465      'inF0' (in float)
 0:465      'inF1' (in float)
@@ -4679,1515 +4679,2803 @@ gl_FragCoord origin is upper left
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 1776
+// Id's are bound by 1802
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "PixelShaderFunction" 71 98 106 115 281 308 316 325 524 551 559 568 770 797 805 814 1023 1042 1059 1209 1228 1245 1398 1417 1434
+                              EntryPoint Fragment 4  "PixelShaderFunction" 804 831 839 848
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 450
                               Name 4  "PixelShaderFunction"
-                              Name 19  "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
-                              Name 13  "inF0"
-                              Name 14  "inF1"
-                              Name 15  "inFV0"
-                              Name 16  "inFV1"
-                              Name 17  "inFM0"
-                              Name 18  "inFM1"
-                              Name 32  "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
-                              Name 26  "inF0"
-                              Name 27  "inF1"
-                              Name 28  "inFV0"
-                              Name 29  "inFV1"
-                              Name 30  "inFM0"
-                              Name 31  "inFM1"
-                              Name 45  "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
-                              Name 39  "inF0"
-                              Name 40  "inF1"
-                              Name 41  "inFV0"
-                              Name 42  "inFV1"
-                              Name 43  "inFM0"
-                              Name 44  "inFM1"
-                              Name 65  "TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
-                              Name 56  "inF0"
-                              Name 57  "inF1"
-                              Name 58  "inFV2"
-                              Name 59  "inFV3"
-                              Name 60  "inFM2x3"
-                              Name 61  "inFM3x2"
-                              Name 62  "inFM3x3"
-                              Name 63  "inFM3x4"
-                              Name 64  "inFM2x4"
-                              Name 69  "r000"
-                              Name 71  "inF0"
-                              Name 74  "r001"
-                              Name 77  "r002"
-                              Name 80  "r003"
-                              Name 83  "r004"
-                              Name 88  "r005"
-                              Name 93  "r006"
-                              Name 96  "r007"
-                              Name 98  "inU0"
-                              Name 101  "r009"
-                              Name 104  "r010"
-                              Name 106  "inF1"
-                              Name 109  "r011"
-                              Name 112  "r012"
-                              Name 115  "inF2"
-                              Name 124  "r014"
-                              Name 127  "r015"
-                              Name 130  "r016"
-                              Name 133  "r017"
-                              Name 136  "r018"
-                              Name 139  "r019"
-                              Name 142  "r020"
-                              Name 145  "r021"
-                              Name 148  "r022"
-                              Name 151  "r023"
-                              Name 154  "r027"
-                              Name 157  "r028"
-                              Name 160  "r029"
-                              Name 164  "r030"
-                              Name 167  "r031"
-                              Name 170  "r033"
-                              Name 174  "r034"
-                              Name 177  "r035"
-                              Name 179  "ResType"
-                              Name 183  "r036"
-                              Name 186  "r037"
-                              Name 189  "r038"
-                              Name 192  "r039"
-                              Name 196  "r039a"
-                              Name 201  "r040"
-                              Name 204  "r041"
-                              Name 209  "r042"
-                              Name 212  "r043"
-                              Name 216  "r044"
-                              Name 220  "r045"
-                              Name 224  "r046"
-                              Name 227  "r047"
-                              Name 231  "r048"
-                              Name 234  "r049"
-                              Name 237  "r050"
-                              Name 240  "r051"
-                              Name 243  "r052"
-                              Name 246  "r053"
-                              Name 253  "r055"
-                              Name 256  "r056"
-                              Name 261  "r057"
-                              Name 264  "r058"
-                              Name 268  "r059"
-                              Name 271  "r060"
-                              Name 274  "r061"
-                              Name 279  "r000"
-                              Name 281  "inF0"
-                              Name 284  "r001"
-                              Name 287  "r002"
-                              Name 290  "r003"
-                              Name 293  "r004"
-                              Name 298  "r005"
-                              Name 303  "r006"
-                              Name 306  "r007"
-                              Name 308  "inU0"
-                              Name 311  "r009"
-                              Name 314  "r010"
-                              Name 316  "inF1"
-                              Name 319  "r011"
-                              Name 322  "r012"
-                              Name 325  "inF2"
-                              Name 336  "r013"
-                              Name 339  "r015"
-                              Name 342  "r016"
-                              Name 346  "r017"
-                              Name 349  "r018"
-                              Name 352  "r019"
-                              Name 355  "r020"
-                              Name 358  "r021"
-                              Name 361  "r022"
-                              Name 364  "r023"
-                              Name 367  "r026"
-                              Name 371  "r027"
-                              Name 375  "r028"
-                              Name 378  "r029"
-                              Name 381  "r030"
-                              Name 386  "r031"
-                              Name 390  "r032"
-                              Name 392  "r033"
-                              Name 395  "r035"
-                              Name 399  "r036"
-                              Name 402  "r037"
-                              Name 404  "ResType"
-                              Name 408  "r038"
-                              Name 412  "r039"
-                              Name 415  "r040"
-                              Name 418  "r041"
-                              Name 422  "r039a"
-                              Name 427  "r042"
-                              Name 430  "r043"
-                              Name 433  "r044"
-                              Name 437  "r045"
-                              Name 440  "r046"
-                              Name 444  "r047"
-                              Name 448  "r048"
-                              Name 451  "r049"
-                              Name 455  "r050"
-                              Name 458  "r051"
-                              Name 462  "r052"
-                              Name 466  "r053"
-                              Name 471  "r054"
-                              Name 475  "r055"
-                              Name 478  "r056"
-                              Name 481  "r057"
-                              Name 486  "r058"
-                              Name 489  "r059"
-                              Name 496  "r060"
-                              Name 499  "r061"
-                              Name 504  "r062"
-                              Name 507  "r063"
-                              Name 511  "r064"
-                              Name 514  "r065"
-                              Name 517  "r066"
-                              Name 522  "r000"
-                              Name 524  "inF0"
-                              Name 527  "r001"
-                              Name 530  "r002"
-                              Name 533  "r003"
-                              Name 536  "r004"
-                              Name 541  "r005"
-                              Name 546  "r006"
-                              Name 549  "r007"
-                              Name 551  "inU0"
-                              Name 554  "r009"
-                              Name 557  "r010"
-                              Name 559  "inF1"
-                              Name 562  "r011"
-                              Name 565  "r012"
-                              Name 568  "inF2"
-                              Name 579  "r013"
-                              Name 582  "r014"
-                              Name 585  "r015"
-                              Name 589  "r016"
-                              Name 593  "r017"
-                              Name 596  "r018"
-                              Name 599  "r019"
-                              Name 602  "r020"
-                              Name 605  "r021"
-                              Name 608  "r022"
-                              Name 611  "r023"
-                              Name 614  "r024"
-                              Name 618  "r025"
-                              Name 622  "r029"
-                              Name 625  "r030"
-                              Name 628  "r031"
-                              Name 633  "r032"
-                              Name 637  "r033"
-                              Name 639  "r034"
-                              Name 642  "r036"
-                              Name 646  "r037"
-                              Name 649  "r038"
-                              Name 651  "ResType"
-                              Name 655  "r039"
-                              Name 659  "r040"
-                              Name 662  "r041"
-                              Name 665  "r042"
-                              Name 669  "r039a"
-                              Name 674  "r043"
-                              Name 677  "r044"
-                              Name 680  "r045"
-                              Name 684  "r046"
-                              Name 687  "r047"
-                              Name 691  "r048"
-                              Name 695  "r049"
-                              Name 698  "r050"
-                              Name 702  "r051"
-                              Name 705  "r052"
-                              Name 709  "r053"
-                              Name 713  "r054"
-                              Name 717  "r055"
-                              Name 720  "r056"
-                              Name 723  "r057"
-                              Name 726  "r058"
-                              Name 731  "r059"
-                              Name 734  "r060"
-                              Name 741  "r061"
-                              Name 744  "r062"
-                              Name 749  "r063"
-                              Name 752  "r064"
-                              Name 756  "r065"
-                              Name 759  "r066"
-                              Name 762  "r067"
-                              Name 768  "r000"
-                              Name 770  "inF0"
-                              Name 773  "r001"
-                              Name 776  "r002"
-                              Name 779  "r003"
-                              Name 782  "r004"
-                              Name 787  "r005"
-                              Name 792  "r006"
-                              Name 795  "r007"
-                              Name 797  "inU0"
-                              Name 800  "r009"
-                              Name 803  "r010"
-                              Name 805  "inF1"
-                              Name 808  "r011"
-                              Name 811  "r012"
-                              Name 814  "inF2"
-                              Name 825  "r013"
-                              Name 828  "r014"
-                              Name 831  "r015"
-                              Name 834  "r016"
-                              Name 837  "r017"
-                              Name 840  "r018"
-                              Name 843  "r019"
-                              Name 846  "r020"
-                              Name 849  "r021"
-                              Name 852  "r022"
-                              Name 855  "r023"
-                              Name 859  "r024"
-                              Name 863  "r025"
-                              Name 874  "r029"
-                              Name 877  "r030"
-                              Name 880  "r031"
-                              Name 885  "r032"
-                              Name 890  "r033"
-                              Name 892  "r034"
-                              Name 895  "r036"
-                              Name 899  "r037"
-                              Name 902  "r038"
-                              Name 904  "ResType"
-                              Name 908  "r039"
-                              Name 912  "r040"
-                              Name 915  "r041"
-                              Name 918  "r042"
-                              Name 922  "r039a"
-                              Name 927  "r043"
-                              Name 930  "r044"
-                              Name 933  "r045"
-                              Name 937  "r046"
-                              Name 940  "r047"
-                              Name 944  "r048"
-                              Name 948  "r049"
-                              Name 951  "r050"
-                              Name 955  "r051"
-                              Name 958  "r052"
-                              Name 962  "r053"
-                              Name 966  "r054"
-                              Name 970  "r055"
-                              Name 973  "r056"
-                              Name 976  "r057"
-                              Name 979  "r058"
-                              Name 984  "r059"
-                              Name 987  "r060"
-                              Name 994  "r061"
-                              Name 997  "r062"
-                              Name 1002  "r063"
-                              Name 1005  "r064"
-                              Name 1009  "r065"
-                              Name 1012  "r066"
-                              Name 1015  "r067"
-                              Name 1021  "r000"
-                              Name 1023  "inF0"
-                              Name 1026  "r001"
-                              Name 1031  "r003"
-                              Name 1034  "r004"
-                              Name 1037  "r005"
-                              Name 1040  "r006"
-                              Name 1042  "inF1"
-                              Name 1045  "r007"
-                              Name 1056  "r008"
-                              Name 1059  "inF2"
-                              Name 1062  "r009"
-                              Name 1065  "r010"
-                              Name 1068  "r011"
-                              Name 1071  "r012"
-                              Name 1074  "r013"
-                              Name 1077  "r014"
-                              Name 1080  "r015"
-                              Name 1083  "r016"
-                              Name 1086  "r017"
-                              Name 1089  "r018"
-                              Name 1092  "r019"
-                              Name 1095  "R020"
-                              Name 1098  "r021"
-                              Name 1101  "r022"
-                              Name 1111  "r023"
-                              Name 1114  "r024"
-                              Name 1116  "ResType"
-                              Name 1120  "r025"
-                              Name 1123  "r026"
-                              Name 1127  "r026a"
-                              Name 1132  "r027"
-                              Name 1135  "r028"
-                              Name 1139  "r029"
-                              Name 1142  "r030"
-                              Name 1146  "r031"
-                              Name 1150  "r032"
-                              Name 1154  "r033"
-                              Name 1157  "r034"
-                              Name 1160  "r035"
-                              Name 1163  "r036"
-                              Name 1168  "r037"
-                              Name 1171  "r038"
-                              Name 1178  "r039"
-                              Name 1181  "r049"
-                              Name 1186  "r041"
-                              Name 1189  "r042"
-                              Name 1193  "r043"
-                              Name 1196  "r044"
-                              Name 1201  "r046"
-                              Name 1207  "r000"
-                              Name 1209  "inF0"
-                              Name 1212  "r001"
-                              Name 1217  "r003"
-                              Name 1220  "r004"
-                              Name 1223  "r005"
-                              Name 1226  "r006"
-                              Name 1228  "inF1"
-                              Name 1231  "r007"
-                              Name 1242  "r008"
-                              Name 1245  "inF2"
-                              Name 1248  "r009"
-                              Name 1251  "r010"
-                              Name 1254  "r011"
-                              Name 1257  "r012"
-                              Name 1260  "r013"
-                              Name 1263  "r014"
-                              Name 1266  "r015"
-                              Name 1269  "r016"
-                              Name 1272  "r017"
-                              Name 1275  "r018"
-                              Name 1278  "r019"
-                              Name 1281  "R020"
-                              Name 1284  "r021"
-                              Name 1287  "r022"
-                              Name 1300  "r023"
-                              Name 1303  "r024"
-                              Name 1305  "ResType"
-                              Name 1309  "r025"
-                              Name 1312  "r026"
-                              Name 1316  "r026a"
-                              Name 1321  "r027"
-                              Name 1324  "r028"
-                              Name 1328  "r029"
-                              Name 1331  "r030"
-                              Name 1335  "r031"
-                              Name 1339  "r032"
-                              Name 1343  "r033"
-                              Name 1346  "r034"
-                              Name 1349  "r035"
-                              Name 1352  "r036"
-                              Name 1357  "r037"
-                              Name 1360  "r038"
-                              Name 1367  "r039"
-                              Name 1370  "r049"
-                              Name 1375  "r041"
-                              Name 1378  "r042"
-                              Name 1382  "r043"
-                              Name 1385  "r044"
-                              Name 1390  "r046"
-                              Name 1396  "r000"
-                              Name 1398  "inF0"
-                              Name 1401  "r001"
-                              Name 1406  "r003"
-                              Name 1409  "r004"
-                              Name 1412  "r005"
-                              Name 1415  "r006"
-                              Name 1417  "inF1"
-                              Name 1420  "r007"
-                              Name 1431  "r008"
-                              Name 1434  "inF2"
-                              Name 1437  "r009"
-                              Name 1440  "r010"
-                              Name 1443  "r011"
-                              Name 1446  "r012"
-                              Name 1449  "r013"
-                              Name 1452  "r014"
-                              Name 1455  "r015"
-                              Name 1458  "r016"
-                              Name 1461  "r017"
-                              Name 1464  "r018"
-                              Name 1467  "r019"
-                              Name 1470  "R020"
-                              Name 1473  "r021"
-                              Name 1476  "r022"
-                              Name 1492  "r023"
-                              Name 1495  "r024"
-                              Name 1497  "ResType"
-                              Name 1501  "r025"
-                              Name 1504  "r026"
-                              Name 1508  "r026a"
-                              Name 1513  "r027"
-                              Name 1516  "r028"
-                              Name 1520  "r029"
-                              Name 1523  "r030"
-                              Name 1527  "r031"
-                              Name 1531  "r032"
-                              Name 1535  "r033"
-                              Name 1538  "r034"
-                              Name 1541  "r035"
-                              Name 1544  "r036"
-                              Name 1549  "r037"
-                              Name 1552  "r038"
-                              Name 1559  "r039"
-                              Name 1562  "r049"
-                              Name 1567  "r041"
-                              Name 1570  "r042"
-                              Name 1574  "r043"
-                              Name 1577  "r044"
-                              Name 1582  "r046"
-                              Name 1588  "r0"
-                              Name 1592  "r1"
-                              Name 1596  "r2"
-                              Name 1600  "r3"
-                              Name 1604  "r4"
-                              Name 1608  "r5"
-                              Name 1612  "r6"
-                              Name 1616  "r7"
-                              Name 1620  "r8"
-                              Name 1624  "r0"
-                              Name 1628  "r1"
-                              Name 1632  "r2"
-                              Name 1636  "r3"
-                              Name 1640  "r4"
-                              Name 1644  "r5"
-                              Name 1648  "r6"
-                              Name 1652  "r7"
-                              Name 1656  "r8"
-                              Name 1660  "r0"
-                              Name 1664  "r1"
-                              Name 1668  "r2"
-                              Name 1672  "r3"
-                              Name 1676  "r4"
-                              Name 1680  "r5"
-                              Name 1684  "r6"
-                              Name 1688  "r7"
-                              Name 1692  "r8"
-                              Name 1696  "r00"
-                              Name 1700  "r01"
-                              Name 1704  "r02"
-                              Name 1708  "r03"
-                              Name 1712  "r04"
-                              Name 1716  "r05"
-                              Name 1720  "r06"
-                              Name 1724  "r07"
-                              Name 1728  "r08"
-                              Name 1732  "r09"
-                              Name 1736  "r10"
-                              Name 1740  "r11"
-                              Name 1744  "r12"
-                              Name 1748  "r13"
-                              Name 1752  "r14"
-                              Name 1756  "r15"
-                              Name 1760  "r16"
-                              Name 1764  "gs_ua"
-                              Name 1765  "gs_ub"
-                              Name 1766  "gs_uc"
-                              Name 1767  "gs_ua2"
-                              Name 1768  "gs_ub2"
-                              Name 1769  "gs_uc2"
-                              Name 1770  "gs_ua3"
-                              Name 1771  "gs_ub3"
-                              Name 1772  "gs_uc3"
-                              Name 1773  "gs_ua4"
-                              Name 1774  "gs_ub4"
-                              Name 1775  "gs_uc4"
+                              Name 16  "PixelShaderFunctionS(f1;f1;f1;u1;u1;"
+                              Name 11  "inF0"
+                              Name 12  "inF1"
+                              Name 13  "inF2"
+                              Name 14  "inU0"
+                              Name 15  "inU1"
+                              Name 22  "PixelShaderFunction1(vf1;vf1;vf1;"
+                              Name 19  "inF0"
+                              Name 20  "inF1"
+                              Name 21  "inF2"
+                              Name 34  "PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+                              Name 29  "inF0"
+                              Name 30  "inF1"
+                              Name 31  "inF2"
+                              Name 32  "inU0"
+                              Name 33  "inU1"
+                              Name 46  "PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+                              Name 41  "inF0"
+                              Name 42  "inF1"
+                              Name 43  "inF2"
+                              Name 44  "inU0"
+                              Name 45  "inU1"
+                              Name 54  "PixelShaderFunction2x2(mf22;mf22;mf22;"
+                              Name 51  "inF0"
+                              Name 52  "inF1"
+                              Name 53  "inF2"
+                              Name 62  "PixelShaderFunction3x3(mf33;mf33;mf33;"
+                              Name 59  "inF0"
+                              Name 60  "inF1"
+                              Name 61  "inF2"
+                              Name 71  "PixelShaderFunction4x4(mf44;mf44;mf44;"
+                              Name 68  "inF0"
+                              Name 69  "inF1"
+                              Name 70  "inF2"
+                              Name 80  "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;"
+                              Name 74  "inF0"
+                              Name 75  "inF1"
+                              Name 76  "inFV0"
+                              Name 77  "inFV1"
+                              Name 78  "inFM0"
+                              Name 79  "inFM1"
+                              Name 89  "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;"
+                              Name 83  "inF0"
+                              Name 84  "inF1"
+                              Name 85  "inFV0"
+                              Name 86  "inFV1"
+                              Name 87  "inFM0"
+                              Name 88  "inFM1"
+                              Name 99  "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;"
+                              Name 93  "inF0"
+                              Name 94  "inF1"
+                              Name 95  "inFV0"
+                              Name 96  "inFV1"
+                              Name 97  "inFM0"
+                              Name 98  "inFM1"
+                              Name 119  "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
+                              Name 110  "inF0"
+                              Name 111  "inF1"
+                              Name 112  "inFV2"
+                              Name 113  "inFV3"
+                              Name 114  "inFM2x3"
+                              Name 115  "inFM3x2"
+                              Name 116  "inFM3x3"
+                              Name 117  "inFM3x4"
+                              Name 118  "inFM2x4"
+                              Name 123  "r000"
+                              Name 126  "r001"
+                              Name 129  "r002"
+                              Name 132  "r003"
+                              Name 135  "r004"
+                              Name 140  "r005"
+                              Name 143  "r006"
+                              Name 146  "r007"
+                              Name 149  "r009"
+                              Name 152  "r010"
+                              Name 156  "r011"
+                              Name 159  "r012"
+                              Name 170  "r014"
+                              Name 173  "r015"
+                              Name 176  "r016"
+                              Name 179  "r017"
+                              Name 182  "r018"
+                              Name 185  "r019"
+                              Name 188  "r020"
+                              Name 191  "r021"
+                              Name 194  "r022"
+                              Name 197  "r023"
+                              Name 200  "r027"
+                              Name 203  "r028"
+                              Name 206  "r029"
+                              Name 210  "r030"
+                              Name 213  "r031"
+                              Name 216  "r033"
+                              Name 220  "r034"
+                              Name 223  "r035"
+                              Name 225  "ResType"
+                              Name 229  "r036"
+                              Name 232  "r037"
+                              Name 235  "r038"
+                              Name 238  "r039"
+                              Name 242  "r039a"
+                              Name 247  "r040"
+                              Name 250  "r041"
+                              Name 255  "r042"
+                              Name 258  "r043"
+                              Name 262  "r044"
+                              Name 266  "r045"
+                              Name 270  "r046"
+                              Name 273  "r047"
+                              Name 277  "r048"
+                              Name 280  "r049"
+                              Name 283  "r050"
+                              Name 286  "r051"
+                              Name 289  "r052"
+                              Name 292  "r053"
+                              Name 299  "r055"
+                              Name 302  "r056"
+                              Name 307  "r057"
+                              Name 310  "r058"
+                              Name 314  "r059"
+                              Name 317  "r060"
+                              Name 320  "r061"
+                              Name 327  "r000"
+                              Name 330  "r001"
+                              Name 333  "r002"
+                              Name 336  "r003"
+                              Name 339  "r004"
+                              Name 344  "r005"
+                              Name 347  "r006"
+                              Name 350  "r007"
+                              Name 353  "r009"
+                              Name 356  "r010"
+                              Name 360  "r011"
+                              Name 363  "r012"
+                              Name 376  "r013"
+                              Name 379  "r015"
+                              Name 382  "r016"
+                              Name 386  "r017"
+                              Name 389  "r018"
+                              Name 392  "r019"
+                              Name 395  "r020"
+                              Name 398  "r021"
+                              Name 401  "r022"
+                              Name 404  "r023"
+                              Name 407  "r026"
+                              Name 411  "r027"
+                              Name 415  "r028"
+                              Name 418  "r029"
+                              Name 421  "r030"
+                              Name 426  "r031"
+                              Name 430  "r032"
+                              Name 432  "r033"
+                              Name 435  "r035"
+                              Name 439  "r036"
+                              Name 442  "r037"
+                              Name 444  "ResType"
+                              Name 448  "r038"
+                              Name 452  "r039"
+                              Name 455  "r040"
+                              Name 458  "r041"
+                              Name 462  "r039a"
+                              Name 467  "r042"
+                              Name 470  "r043"
+                              Name 473  "r044"
+                              Name 477  "r045"
+                              Name 480  "r046"
+                              Name 484  "r047"
+                              Name 488  "r048"
+                              Name 491  "r049"
+                              Name 495  "r050"
+                              Name 498  "r051"
+                              Name 502  "r052"
+                              Name 506  "r053"
+                              Name 511  "r054"
+                              Name 515  "r055"
+                              Name 518  "r056"
+                              Name 521  "r057"
+                              Name 526  "r058"
+                              Name 529  "r059"
+                              Name 536  "r060"
+                              Name 539  "r061"
+                              Name 544  "r062"
+                              Name 547  "r063"
+                              Name 551  "r064"
+                              Name 554  "r065"
+                              Name 557  "r066"
+                              Name 563  "r000"
+                              Name 566  "r001"
+                              Name 569  "r002"
+                              Name 572  "r003"
+                              Name 575  "r004"
+                              Name 580  "r005"
+                              Name 583  "r006"
+                              Name 586  "r007"
+                              Name 589  "r009"
+                              Name 592  "r010"
+                              Name 596  "r011"
+                              Name 599  "r012"
+                              Name 612  "r013"
+                              Name 615  "r014"
+                              Name 618  "r015"
+                              Name 622  "r016"
+                              Name 626  "r017"
+                              Name 629  "r018"
+                              Name 632  "r019"
+                              Name 635  "r020"
+                              Name 638  "r021"
+                              Name 641  "r022"
+                              Name 644  "r023"
+                              Name 647  "r024"
+                              Name 651  "r025"
+                              Name 655  "r029"
+                              Name 658  "r030"
+                              Name 661  "r031"
+                              Name 666  "r032"
+                              Name 670  "r033"
+                              Name 672  "r034"
+                              Name 675  "r036"
+                              Name 679  "r037"
+                              Name 682  "r038"
+                              Name 684  "ResType"
+                              Name 688  "r039"
+                              Name 692  "r040"
+                              Name 695  "r041"
+                              Name 698  "r042"
+                              Name 702  "r039a"
+                              Name 707  "r043"
+                              Name 710  "r044"
+                              Name 713  "r045"
+                              Name 717  "r046"
+                              Name 720  "r047"
+                              Name 724  "r048"
+                              Name 728  "r049"
+                              Name 731  "r050"
+                              Name 735  "r051"
+                              Name 738  "r052"
+                              Name 742  "r053"
+                              Name 746  "r054"
+                              Name 750  "r055"
+                              Name 753  "r056"
+                              Name 756  "r057"
+                              Name 759  "r058"
+                              Name 764  "r059"
+                              Name 767  "r060"
+                              Name 774  "r061"
+                              Name 777  "r062"
+                              Name 782  "r063"
+                              Name 785  "r064"
+                              Name 789  "r065"
+                              Name 792  "r066"
+                              Name 795  "r067"
+                              Name 802  "r000"
+                              Name 804  "inF0"
+                              Name 807  "r001"
+                              Name 810  "r002"
+                              Name 813  "r003"
+                              Name 816  "r004"
+                              Name 821  "r005"
+                              Name 826  "r006"
+                              Name 829  "r007"
+                              Name 831  "inU0"
+                              Name 834  "r009"
+                              Name 837  "r010"
+                              Name 839  "inF1"
+                              Name 842  "r011"
+                              Name 845  "r012"
+                              Name 848  "inF2"
+                              Name 859  "r013"
+                              Name 862  "r014"
+                              Name 865  "r015"
+                              Name 868  "r016"
+                              Name 871  "r017"
+                              Name 874  "r018"
+                              Name 877  "r019"
+                              Name 880  "r020"
+                              Name 883  "r021"
+                              Name 886  "r022"
+                              Name 889  "r023"
+                              Name 893  "r024"
+                              Name 897  "r025"
+                              Name 909  "r029"
+                              Name 912  "r030"
+                              Name 915  "r031"
+                              Name 920  "r032"
+                              Name 925  "r033"
+                              Name 927  "r034"
+                              Name 930  "r036"
+                              Name 934  "r037"
+                              Name 937  "r038"
+                              Name 939  "ResType"
+                              Name 943  "r039"
+                              Name 947  "r040"
+                              Name 950  "r041"
+                              Name 953  "r042"
+                              Name 957  "r039a"
+                              Name 962  "r043"
+                              Name 965  "r044"
+                              Name 968  "r045"
+                              Name 972  "r046"
+                              Name 975  "r047"
+                              Name 979  "r048"
+                              Name 983  "r049"
+                              Name 986  "r050"
+                              Name 990  "r051"
+                              Name 993  "r052"
+                              Name 997  "r053"
+                              Name 1001  "r054"
+                              Name 1005  "r055"
+                              Name 1008  "r056"
+                              Name 1011  "r057"
+                              Name 1014  "r058"
+                              Name 1019  "r059"
+                              Name 1022  "r060"
+                              Name 1029  "r061"
+                              Name 1032  "r062"
+                              Name 1037  "r063"
+                              Name 1040  "r064"
+                              Name 1044  "r065"
+                              Name 1047  "r066"
+                              Name 1050  "r067"
+                              Name 1056  "r000"
+                              Name 1059  "r001"
+                              Name 1064  "r003"
+                              Name 1067  "r004"
+                              Name 1070  "r005"
+                              Name 1073  "r006"
+                              Name 1077  "r007"
+                              Name 1088  "r008"
+                              Name 1093  "r009"
+                              Name 1096  "r010"
+                              Name 1099  "r011"
+                              Name 1102  "r012"
+                              Name 1105  "r013"
+                              Name 1108  "r014"
+                              Name 1111  "r015"
+                              Name 1114  "r016"
+                              Name 1117  "r017"
+                              Name 1120  "r018"
+                              Name 1123  "r019"
+                              Name 1126  "R020"
+                              Name 1129  "r021"
+                              Name 1132  "r022"
+                              Name 1142  "r023"
+                              Name 1145  "r024"
+                              Name 1147  "ResType"
+                              Name 1151  "r025"
+                              Name 1154  "r026"
+                              Name 1158  "r026a"
+                              Name 1163  "r027"
+                              Name 1166  "r028"
+                              Name 1170  "r029"
+                              Name 1173  "r030"
+                              Name 1177  "r031"
+                              Name 1181  "r032"
+                              Name 1185  "r033"
+                              Name 1188  "r034"
+                              Name 1191  "r035"
+                              Name 1194  "r036"
+                              Name 1199  "r037"
+                              Name 1202  "r038"
+                              Name 1209  "r039"
+                              Name 1212  "r049"
+                              Name 1217  "r041"
+                              Name 1220  "r042"
+                              Name 1224  "r043"
+                              Name 1227  "r044"
+                              Name 1232  "r046"
+                              Name 1239  "r000"
+                              Name 1242  "r001"
+                              Name 1247  "r003"
+                              Name 1250  "r004"
+                              Name 1253  "r005"
+                              Name 1256  "r006"
+                              Name 1260  "r007"
+                              Name 1271  "r008"
+                              Name 1276  "r009"
+                              Name 1279  "r010"
+                              Name 1282  "r011"
+                              Name 1285  "r012"
+                              Name 1288  "r013"
+                              Name 1291  "r014"
+                              Name 1294  "r015"
+                              Name 1297  "r016"
+                              Name 1300  "r017"
+                              Name 1303  "r018"
+                              Name 1306  "r019"
+                              Name 1309  "R020"
+                              Name 1312  "r021"
+                              Name 1315  "r022"
+                              Name 1328  "r023"
+                              Name 1331  "r024"
+                              Name 1333  "ResType"
+                              Name 1337  "r025"
+                              Name 1340  "r026"
+                              Name 1344  "r026a"
+                              Name 1349  "r027"
+                              Name 1352  "r028"
+                              Name 1356  "r029"
+                              Name 1359  "r030"
+                              Name 1363  "r031"
+                              Name 1367  "r032"
+                              Name 1371  "r033"
+                              Name 1374  "r034"
+                              Name 1377  "r035"
+                              Name 1380  "r036"
+                              Name 1385  "r037"
+                              Name 1388  "r038"
+                              Name 1395  "r039"
+                              Name 1398  "r049"
+                              Name 1403  "r041"
+                              Name 1406  "r042"
+                              Name 1410  "r043"
+                              Name 1413  "r044"
+                              Name 1418  "r046"
+                              Name 1425  "r000"
+                              Name 1428  "r001"
+                              Name 1433  "r003"
+                              Name 1436  "r004"
+                              Name 1439  "r005"
+                              Name 1442  "r006"
+                              Name 1446  "r007"
+                              Name 1457  "r008"
+                              Name 1462  "r009"
+                              Name 1465  "r010"
+                              Name 1468  "r011"
+                              Name 1471  "r012"
+                              Name 1474  "r013"
+                              Name 1477  "r014"
+                              Name 1480  "r015"
+                              Name 1483  "r016"
+                              Name 1486  "r017"
+                              Name 1489  "r018"
+                              Name 1492  "r019"
+                              Name 1495  "R020"
+                              Name 1498  "r021"
+                              Name 1501  "r022"
+                              Name 1517  "r023"
+                              Name 1520  "r024"
+                              Name 1522  "ResType"
+                              Name 1526  "r025"
+                              Name 1529  "r026"
+                              Name 1533  "r026a"
+                              Name 1538  "r027"
+                              Name 1541  "r028"
+                              Name 1545  "r029"
+                              Name 1548  "r030"
+                              Name 1552  "r031"
+                              Name 1556  "r032"
+                              Name 1560  "r033"
+                              Name 1563  "r034"
+                              Name 1566  "r035"
+                              Name 1569  "r036"
+                              Name 1574  "r037"
+                              Name 1577  "r038"
+                              Name 1584  "r039"
+                              Name 1587  "r049"
+                              Name 1592  "r041"
+                              Name 1595  "r042"
+                              Name 1599  "r043"
+                              Name 1602  "r044"
+                              Name 1607  "r046"
+                              Name 1614  "r0"
+                              Name 1618  "r1"
+                              Name 1622  "r2"
+                              Name 1626  "r3"
+                              Name 1630  "r4"
+                              Name 1634  "r5"
+                              Name 1638  "r6"
+                              Name 1642  "r7"
+                              Name 1646  "r8"
+                              Name 1650  "r0"
+                              Name 1654  "r1"
+                              Name 1658  "r2"
+                              Name 1662  "r3"
+                              Name 1666  "r4"
+                              Name 1670  "r5"
+                              Name 1674  "r6"
+                              Name 1678  "r7"
+                              Name 1682  "r8"
+                              Name 1686  "r0"
+                              Name 1690  "r1"
+                              Name 1694  "r2"
+                              Name 1698  "r3"
+                              Name 1702  "r4"
+                              Name 1706  "r5"
+                              Name 1710  "r6"
+                              Name 1714  "r7"
+                              Name 1718  "r8"
+                              Name 1722  "r00"
+                              Name 1726  "r01"
+                              Name 1730  "r02"
+                              Name 1734  "r03"
+                              Name 1738  "r04"
+                              Name 1742  "r05"
+                              Name 1746  "r06"
+                              Name 1750  "r07"
+                              Name 1754  "r08"
+                              Name 1758  "r09"
+                              Name 1762  "r10"
+                              Name 1766  "r11"
+                              Name 1770  "r12"
+                              Name 1774  "r13"
+                              Name 1778  "r14"
+                              Name 1782  "r15"
+                              Name 1786  "r16"
+                              Name 1790  "gs_ua"
+                              Name 1791  "gs_ub"
+                              Name 1792  "gs_uc"
+                              Name 1793  "gs_ua2"
+                              Name 1794  "gs_ub2"
+                              Name 1795  "gs_uc2"
+                              Name 1796  "gs_ua3"
+                              Name 1797  "gs_ub3"
+                              Name 1798  "gs_uc3"
+                              Name 1799  "gs_ua4"
+                              Name 1800  "gs_ub4"
+                              Name 1801  "gs_uc4"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
                7:             TypePointer Function 6(float)
-               8:             TypeVector 6(float) 2
-               9:             TypePointer Function 8(fvec2)
-              10:             TypeMatrix 8(fvec2) 2
-              11:             TypePointer Function 10
-              12:             TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
-              21:             TypeVector 6(float) 3
-              22:             TypePointer Function 21(fvec3)
-              23:             TypeMatrix 21(fvec3) 3
-              24:             TypePointer Function 23
-              25:             TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
-              34:             TypeVector 6(float) 4
-              35:             TypePointer Function 34(fvec4)
-              36:             TypeMatrix 34(fvec4) 4
-              37:             TypePointer Function 36
-              38:             TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
-              47:             TypeMatrix 8(fvec2) 3
-              48:             TypePointer Function 47
-              49:             TypeMatrix 21(fvec3) 2
-              50:             TypePointer Function 49
-              51:             TypeMatrix 21(fvec3) 4
-              52:             TypePointer Function 51
-              53:             TypeMatrix 8(fvec2) 4
-              54:             TypePointer Function 53
-              55:             TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 22(ptr) 48(ptr) 50(ptr) 24(ptr) 52(ptr) 54(ptr)
-              67:             TypeBool
-              68:             TypePointer Function 67(bool)
-              70:             TypePointer Input 6(float)
-        71(inF0):     70(ptr) Variable Input
-              86:             TypeInt 32 1
-              87:             TypePointer Function 86(int)
-              91:             TypeInt 32 0
-              92:             TypePointer Function 91(int)
-              97:             TypePointer Input 91(int)
-        98(inU0):     97(ptr) Variable Input
-       106(inF1):     70(ptr) Variable Input
-       115(inF2):     70(ptr) Variable Input
-             119:    6(float) Constant 0
-             131:     91(int) Constant 7
-             161:     86(int) Constant 7
-    179(ResType):             TypeStruct 6(float) 86(int)
-             207:    6(float) Constant 1050288283
-             228:    6(float) Constant 1065353216
-             232:     91(int) Constant 2
-             280:             TypePointer Input 8(fvec2)
-       281(inF0):    280(ptr) Variable Input
-             296:             TypeVector 86(int) 2
-             297:             TypePointer Function 296(ivec2)
-             301:             TypeVector 91(int) 2
-             302:             TypePointer Function 301(ivec2)
-             307:             TypePointer Input 301(ivec2)
-       308(inU0):    307(ptr) Variable Input
-       316(inF1):    280(ptr) Variable Input
-       325(inF2):    280(ptr) Variable Input
-             329:    8(fvec2) ConstantComposite 119 119
-             330:             TypeVector 67(bool) 2
-             343:     91(int) Constant 3
-             344:  301(ivec2) ConstantComposite 131 343
-             387:     91(int) Constant 8
-             388:  301(ivec2) ConstantComposite 131 387
-    404(ResType):             TypeStruct 8(fvec2) 296(ivec2)
-             411:             TypePointer Function 330(bvec2)
-             469:    6(float) Constant 1073741824
-             472:     91(int) Constant 1
-             473:  301(ivec2) ConstantComposite 472 232
-             520:    8(fvec2) ConstantComposite 228 469
-             523:             TypePointer Input 21(fvec3)
-       524(inF0):    523(ptr) Variable Input
-             539:             TypeVector 86(int) 3
-             540:             TypePointer Function 539(ivec3)
-             544:             TypeVector 91(int) 3
-             545:             TypePointer Function 544(ivec3)
-             550:             TypePointer Input 544(ivec3)
-       551(inU0):    550(ptr) Variable Input
-       559(inF1):    523(ptr) Variable Input
-       568(inF2):    523(ptr) Variable Input
-             572:   21(fvec3) ConstantComposite 119 119 119
-             573:             TypeVector 67(bool) 3
-             586:     91(int) Constant 5
-             587:  544(ivec3) ConstantComposite 131 343 586
-             634:     91(int) Constant 4
-             635:  544(ivec3) ConstantComposite 232 343 634
-    651(ResType):             TypeStruct 21(fvec3) 539(ivec3)
-             658:             TypePointer Function 573(bvec3)
-             718:  544(ivec3) ConstantComposite 472 232 343
-             765:    6(float) Constant 1077936128
-             766:   21(fvec3) ConstantComposite 228 469 765
-             769:             TypePointer Input 34(fvec4)
-       770(inF0):    769(ptr) Variable Input
-             785:             TypeVector 86(int) 4
-             786:             TypePointer Function 785(ivec4)
-             790:             TypeVector 91(int) 4
-             791:             TypePointer Function 790(ivec4)
-             796:             TypePointer Input 790(ivec4)
-       797(inU0):    796(ptr) Variable Input
-       805(inF1):    769(ptr) Variable Input
-       814(inF2):    769(ptr) Variable Input
-             818:   34(fvec4) ConstantComposite 119 119 119 119
-             819:             TypeVector 67(bool) 4
-             832:  790(ivec4) ConstantComposite 131 343 586 232
-             886:     91(int) Constant 9
-             887:     91(int) Constant 10
-             888:  790(ivec4) ConstantComposite 131 387 886 887
-    904(ResType):             TypeStruct 34(fvec4) 785(ivec4)
-             911:             TypePointer Function 819(bvec4)
-             971:  790(ivec4) ConstantComposite 472 232 343 634
-            1018:    6(float) Constant 1082130432
-            1019:   34(fvec4) ConstantComposite 228 469 765 1018
-            1022:             TypePointer Input 10
-      1023(inF0):   1022(ptr) Variable Input
-      1042(inF1):   1022(ptr) Variable Input
-            1049:          10 ConstantComposite 329 329
-            1050:             TypeMatrix 330(bvec2) 2
-      1059(inF2):   1022(ptr) Variable Input
-   1116(ResType):             TypeStruct 10 296(ivec2)
-            1204:    8(fvec2) ConstantComposite 469 469
-            1205:          10 ConstantComposite 1204 1204
-            1208:             TypePointer Input 23
-      1209(inF0):   1208(ptr) Variable Input
-      1228(inF1):   1208(ptr) Variable Input
-            1235:          23 ConstantComposite 572 572 572
-            1236:             TypeMatrix 573(bvec3) 3
-      1245(inF2):   1208(ptr) Variable Input
-   1305(ResType):             TypeStruct 23 539(ivec3)
-            1393:   21(fvec3) ConstantComposite 765 765 765
-            1394:          23 ConstantComposite 1393 1393 1393
-            1397:             TypePointer Input 36
-      1398(inF0):   1397(ptr) Variable Input
-      1417(inF1):   1397(ptr) Variable Input
-            1424:          36 ConstantComposite 818 818 818 818
-            1425:             TypeMatrix 819(bvec4) 4
-      1434(inF2):   1397(ptr) Variable Input
-   1497(ResType):             TypeStruct 36 785(ivec4)
-            1585:   34(fvec4) ConstantComposite 1018 1018 1018 1018
-            1586:          36 ConstantComposite 1585 1585 1585 1585
+               8:             TypeInt 32 0
+               9:             TypePointer Function 8(int)
+              10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+              18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+              24:             TypeVector 6(float) 2
+              25:             TypePointer Function 24(fvec2)
+              26:             TypeVector 8(int) 2
+              27:             TypePointer Function 26(ivec2)
+              28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+              36:             TypeVector 6(float) 3
+              37:             TypePointer Function 36(fvec3)
+              38:             TypeVector 8(int) 3
+              39:             TypePointer Function 38(ivec3)
+              40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+              48:             TypeMatrix 24(fvec2) 2
+              49:             TypePointer Function 48
+              50:             TypeFunction 48 49(ptr) 49(ptr) 49(ptr)
+              56:             TypeMatrix 36(fvec3) 3
+              57:             TypePointer Function 56
+              58:             TypeFunction 56 57(ptr) 57(ptr) 57(ptr)
+              64:             TypeVector 6(float) 4
+              65:             TypeMatrix 64(fvec4) 4
+              66:             TypePointer Function 65
+              67:             TypeFunction 65 66(ptr) 66(ptr) 66(ptr)
+              73:             TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 49(ptr) 49(ptr)
+              82:             TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 57(ptr) 57(ptr)
+              91:             TypePointer Function 64(fvec4)
+              92:             TypeFunction 2 7(ptr) 7(ptr) 91(ptr) 91(ptr) 66(ptr) 66(ptr)
+             101:             TypeMatrix 24(fvec2) 3
+             102:             TypePointer Function 101
+             103:             TypeMatrix 36(fvec3) 2
+             104:             TypePointer Function 103
+             105:             TypeMatrix 36(fvec3) 4
+             106:             TypePointer Function 105
+             107:             TypeMatrix 24(fvec2) 4
+             108:             TypePointer Function 107
+             109:             TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 102(ptr) 104(ptr) 57(ptr) 106(ptr) 108(ptr)
+             121:             TypeBool
+             122:             TypePointer Function 121(bool)
+             138:             TypeInt 32 1
+             139:             TypePointer Function 138(int)
+             165:    6(float) Constant 0
+             177:      8(int) Constant 7
+             207:    138(int) Constant 7
+    225(ResType):             TypeStruct 6(float) 138(int)
+             253:    6(float) Constant 1050288283
+             274:    6(float) Constant 1065353216
+             278:      8(int) Constant 2
+             342:             TypeVector 138(int) 2
+             343:             TypePointer Function 342(ivec2)
+             369:   24(fvec2) ConstantComposite 165 165
+             370:             TypeVector 121(bool) 2
+             383:      8(int) Constant 3
+             384:   26(ivec2) ConstantComposite 177 383
+             427:      8(int) Constant 8
+             428:   26(ivec2) ConstantComposite 177 427
+    444(ResType):             TypeStruct 24(fvec2) 342(ivec2)
+             451:             TypePointer Function 370(bvec2)
+             509:    6(float) Constant 1073741824
+             512:      8(int) Constant 1
+             513:   26(ivec2) ConstantComposite 512 278
+             560:   24(fvec2) ConstantComposite 274 509
+             578:             TypeVector 138(int) 3
+             579:             TypePointer Function 578(ivec3)
+             605:   36(fvec3) ConstantComposite 165 165 165
+             606:             TypeVector 121(bool) 3
+             619:      8(int) Constant 5
+             620:   38(ivec3) ConstantComposite 177 383 619
+             667:      8(int) Constant 4
+             668:   38(ivec3) ConstantComposite 278 383 667
+    684(ResType):             TypeStruct 36(fvec3) 578(ivec3)
+             691:             TypePointer Function 606(bvec3)
+             751:   38(ivec3) ConstantComposite 512 278 383
+             798:    6(float) Constant 1077936128
+             799:   36(fvec3) ConstantComposite 274 509 798
+             803:             TypePointer Input 64(fvec4)
+       804(inF0):    803(ptr) Variable Input
+             819:             TypeVector 138(int) 4
+             820:             TypePointer Function 819(ivec4)
+             824:             TypeVector 8(int) 4
+             825:             TypePointer Function 824(ivec4)
+             830:             TypePointer Input 824(ivec4)
+       831(inU0):    830(ptr) Variable Input
+       839(inF1):    803(ptr) Variable Input
+       848(inF2):    803(ptr) Variable Input
+             852:   64(fvec4) ConstantComposite 165 165 165 165
+             853:             TypeVector 121(bool) 4
+             866:  824(ivec4) ConstantComposite 177 383 619 278
+             898:             TypePointer Input 6(float)
+             921:      8(int) Constant 9
+             922:      8(int) Constant 10
+             923:  824(ivec4) ConstantComposite 177 427 921 922
+    939(ResType):             TypeStruct 64(fvec4) 819(ivec4)
+             946:             TypePointer Function 853(bvec4)
+            1006:  824(ivec4) ConstantComposite 512 278 383 667
+            1053:    6(float) Constant 1082130432
+            1054:   64(fvec4) ConstantComposite 274 509 798 1053
+            1081:          48 ConstantComposite 369 369
+            1082:             TypeMatrix 370(bvec2) 2
+   1147(ResType):             TypeStruct 48 342(ivec2)
+            1235:   24(fvec2) ConstantComposite 509 509
+            1236:          48 ConstantComposite 1235 1235
+            1264:          56 ConstantComposite 605 605 605
+            1265:             TypeMatrix 606(bvec3) 3
+   1333(ResType):             TypeStruct 56 578(ivec3)
+            1421:   36(fvec3) ConstantComposite 798 798 798
+            1422:          56 ConstantComposite 1421 1421 1421
+            1450:          65 ConstantComposite 852 852 852 852
+            1451:             TypeMatrix 853(bvec4) 4
+   1522(ResType):             TypeStruct 65 819(ivec4)
+            1610:   64(fvec4) ConstantComposite 1053 1053 1053 1053
+            1611:          65 ConstantComposite 1610 1610 1610 1610
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
-        69(r000):     68(ptr) Variable Function
-        74(r001):      7(ptr) Variable Function
-        77(r002):      7(ptr) Variable Function
-        80(r003):     68(ptr) Variable Function
-        83(r004):      7(ptr) Variable Function
-        88(r005):     87(ptr) Variable Function
-        93(r006):     92(ptr) Variable Function
-        96(r007):      7(ptr) Variable Function
-       101(r009):      7(ptr) Variable Function
-       104(r010):      7(ptr) Variable Function
-       109(r011):      7(ptr) Variable Function
-       112(r012):      7(ptr) Variable Function
-       124(r014):      7(ptr) Variable Function
-       127(r015):      7(ptr) Variable Function
-       130(r016):     92(ptr) Variable Function
-       133(r017):      7(ptr) Variable Function
-       136(r018):      7(ptr) Variable Function
-       139(r019):      7(ptr) Variable Function
-       142(r020):      7(ptr) Variable Function
-       145(r021):      7(ptr) Variable Function
-       148(r022):      7(ptr) Variable Function
-       151(r023):      7(ptr) Variable Function
-       154(r027):      7(ptr) Variable Function
-       157(r028):      7(ptr) Variable Function
-       160(r029):     92(ptr) Variable Function
-       164(r030):     92(ptr) Variable Function
-       167(r031):      7(ptr) Variable Function
-       170(r033):      7(ptr) Variable Function
-       174(r034):      7(ptr) Variable Function
-       177(r035):      7(ptr) Variable Function
-       183(r036):      7(ptr) Variable Function
-       186(r037):     68(ptr) Variable Function
-       189(r038):     68(ptr) Variable Function
-       192(r039):      7(ptr) Variable Function
-      196(r039a):      7(ptr) Variable Function
-       201(r040):      7(ptr) Variable Function
-       204(r041):      7(ptr) Variable Function
-       209(r042):      7(ptr) Variable Function
-       212(r043):      7(ptr) Variable Function
-       216(r044):      7(ptr) Variable Function
-       220(r045):      7(ptr) Variable Function
-       224(r046):      7(ptr) Variable Function
-       227(r047):      7(ptr) Variable Function
-       231(r048):     92(ptr) Variable Function
-       234(r049):      7(ptr) Variable Function
-       237(r050):      7(ptr) Variable Function
-       240(r051):      7(ptr) Variable Function
-       243(r052):      7(ptr) Variable Function
-       246(r053):      7(ptr) Variable Function
-       253(r055):      7(ptr) Variable Function
-       256(r056):      7(ptr) Variable Function
-       261(r057):      7(ptr) Variable Function
-       264(r058):      7(ptr) Variable Function
-       268(r059):      7(ptr) Variable Function
-       271(r060):      7(ptr) Variable Function
-       274(r061):      7(ptr) Variable Function
-       279(r000):     68(ptr) Variable Function
-       284(r001):      9(ptr) Variable Function
-       287(r002):      9(ptr) Variable Function
-       290(r003):     68(ptr) Variable Function
-       293(r004):      9(ptr) Variable Function
-       298(r005):    297(ptr) Variable Function
-       303(r006):    302(ptr) Variable Function
-       306(r007):      9(ptr) Variable Function
-       311(r009):      9(ptr) Variable Function
-       314(r010):      9(ptr) Variable Function
-       319(r011):      9(ptr) Variable Function
-       322(r012):      9(ptr) Variable Function
-       336(r013):      9(ptr) Variable Function
-       339(r015):      9(ptr) Variable Function
-       342(r016):    302(ptr) Variable Function
-       346(r017):      9(ptr) Variable Function
-       349(r018):      9(ptr) Variable Function
-       352(r019):      9(ptr) Variable Function
-       355(r020):      9(ptr) Variable Function
-       358(r021):      9(ptr) Variable Function
-       361(r022):      9(ptr) Variable Function
-       364(r023):      9(ptr) Variable Function
-       367(r026):      7(ptr) Variable Function
-       371(r027):      7(ptr) Variable Function
-       375(r028):      9(ptr) Variable Function
-       378(r029):      9(ptr) Variable Function
-       381(r030):      9(ptr) Variable Function
-       386(r031):    302(ptr) Variable Function
-       390(r032):    302(ptr) Variable Function
-       392(r033):      9(ptr) Variable Function
-       395(r035):      9(ptr) Variable Function
-       399(r036):      9(ptr) Variable Function
-       402(r037):      9(ptr) Variable Function
-       408(r038):      9(ptr) Variable Function
-       412(r039):    411(ptr) Variable Function
-       415(r040):    411(ptr) Variable Function
-       418(r041):      9(ptr) Variable Function
-      422(r039a):      9(ptr) Variable Function
-       427(r042):      7(ptr) Variable Function
-       430(r043):      9(ptr) Variable Function
-       433(r044):      9(ptr) Variable Function
-       437(r045):      9(ptr) Variable Function
-       440(r046):      9(ptr) Variable Function
-       444(r047):      9(ptr) Variable Function
-       448(r048):      9(ptr) Variable Function
-       451(r049):      9(ptr) Variable Function
-       455(r050):      9(ptr) Variable Function
-       458(r051):      9(ptr) Variable Function
-       462(r052):      9(ptr) Variable Function
-       466(r053):      9(ptr) Variable Function
-       471(r054):    302(ptr) Variable Function
-       475(r055):      9(ptr) Variable Function
-       478(r056):      9(ptr) Variable Function
-       481(r057):      9(ptr) Variable Function
-       486(r058):      9(ptr) Variable Function
-       489(r059):      9(ptr) Variable Function
-       496(r060):      9(ptr) Variable Function
-       499(r061):      9(ptr) Variable Function
-       504(r062):      9(ptr) Variable Function
-       507(r063):      9(ptr) Variable Function
-       511(r064):      9(ptr) Variable Function
-       514(r065):      9(ptr) Variable Function
-       517(r066):      9(ptr) Variable Function
-       522(r000):     68(ptr) Variable Function
-       527(r001):     22(ptr) Variable Function
-       530(r002):     22(ptr) Variable Function
-       533(r003):     68(ptr) Variable Function
-       536(r004):     22(ptr) Variable Function
-       541(r005):    540(ptr) Variable Function
-       546(r006):    545(ptr) Variable Function
-       549(r007):     22(ptr) Variable Function
-       554(r009):     22(ptr) Variable Function
-       557(r010):     22(ptr) Variable Function
-       562(r011):     22(ptr) Variable Function
-       565(r012):     22(ptr) Variable Function
-       579(r013):     22(ptr) Variable Function
-       582(r014):     22(ptr) Variable Function
-       585(r015):    545(ptr) Variable Function
-       589(r016):     22(ptr) Variable Function
-       593(r017):     22(ptr) Variable Function
-       596(r018):     22(ptr) Variable Function
-       599(r019):     22(ptr) Variable Function
-       602(r020):     22(ptr) Variable Function
-       605(r021):     22(ptr) Variable Function
-       608(r022):     22(ptr) Variable Function
-       611(r023):     22(ptr) Variable Function
-       614(r024):      7(ptr) Variable Function
-       618(r025):      7(ptr) Variable Function
-       622(r029):     22(ptr) Variable Function
-       625(r030):     22(ptr) Variable Function
-       628(r031):     22(ptr) Variable Function
-       633(r032):    545(ptr) Variable Function
-       637(r033):    545(ptr) Variable Function
-       639(r034):     22(ptr) Variable Function
-       642(r036):     22(ptr) Variable Function
-       646(r037):     22(ptr) Variable Function
-       649(r038):     22(ptr) Variable Function
-       655(r039):     22(ptr) Variable Function
-       659(r040):    658(ptr) Variable Function
-       662(r041):    658(ptr) Variable Function
-       665(r042):     22(ptr) Variable Function
-      669(r039a):     22(ptr) Variable Function
-       674(r043):      7(ptr) Variable Function
-       677(r044):     22(ptr) Variable Function
-       680(r045):     22(ptr) Variable Function
-       684(r046):     22(ptr) Variable Function
-       687(r047):     22(ptr) Variable Function
-       691(r048):     22(ptr) Variable Function
-       695(r049):     22(ptr) Variable Function
-       698(r050):     22(ptr) Variable Function
-       702(r051):     22(ptr) Variable Function
-       705(r052):     22(ptr) Variable Function
-       709(r053):     22(ptr) Variable Function
-       713(r054):     22(ptr) Variable Function
-       717(r055):    545(ptr) Variable Function
-       720(r056):     22(ptr) Variable Function
-       723(r057):     22(ptr) Variable Function
-       726(r058):     22(ptr) Variable Function
-       731(r059):     22(ptr) Variable Function
-       734(r060):     22(ptr) Variable Function
-       741(r061):     22(ptr) Variable Function
-       744(r062):     22(ptr) Variable Function
-       749(r063):     22(ptr) Variable Function
-       752(r064):     22(ptr) Variable Function
-       756(r065):     22(ptr) Variable Function
-       759(r066):     22(ptr) Variable Function
-       762(r067):     22(ptr) Variable Function
-       768(r000):     68(ptr) Variable Function
-       773(r001):     35(ptr) Variable Function
-       776(r002):     35(ptr) Variable Function
-       779(r003):     68(ptr) Variable Function
-       782(r004):     35(ptr) Variable Function
-       787(r005):    786(ptr) Variable Function
-       792(r006):    791(ptr) Variable Function
-       795(r007):     35(ptr) Variable Function
-       800(r009):     35(ptr) Variable Function
-       803(r010):     35(ptr) Variable Function
-       808(r011):     35(ptr) Variable Function
-       811(r012):     35(ptr) Variable Function
-       825(r013):     35(ptr) Variable Function
-       828(r014):     35(ptr) Variable Function
-       831(r015):    791(ptr) Variable Function
-       834(r016):     35(ptr) Variable Function
-       837(r017):     35(ptr) Variable Function
-       840(r018):     35(ptr) Variable Function
-       843(r019):     35(ptr) Variable Function
-       846(r020):     35(ptr) Variable Function
-       849(r021):     35(ptr) Variable Function
-       852(r022):     35(ptr) Variable Function
-       855(r023):      7(ptr) Variable Function
-       859(r024):      7(ptr) Variable Function
-       863(r025):     35(ptr) Variable Function
-       874(r029):     35(ptr) Variable Function
-       877(r030):     35(ptr) Variable Function
-       880(r031):     35(ptr) Variable Function
-       885(r032):    791(ptr) Variable Function
-       890(r033):    791(ptr) Variable Function
-       892(r034):     35(ptr) Variable Function
-       895(r036):     35(ptr) Variable Function
-       899(r037):     35(ptr) Variable Function
-       902(r038):     35(ptr) Variable Function
-       908(r039):     35(ptr) Variable Function
-       912(r040):    911(ptr) Variable Function
-       915(r041):    911(ptr) Variable Function
-       918(r042):     35(ptr) Variable Function
-      922(r039a):     35(ptr) Variable Function
-       927(r043):      7(ptr) Variable Function
-       930(r044):     35(ptr) Variable Function
-       933(r045):     35(ptr) Variable Function
-       937(r046):     35(ptr) Variable Function
-       940(r047):     35(ptr) Variable Function
-       944(r048):     35(ptr) Variable Function
-       948(r049):     35(ptr) Variable Function
-       951(r050):     35(ptr) Variable Function
-       955(r051):     35(ptr) Variable Function
-       958(r052):     35(ptr) Variable Function
-       962(r053):     35(ptr) Variable Function
-       966(r054):     35(ptr) Variable Function
-       970(r055):    791(ptr) Variable Function
-       973(r056):     35(ptr) Variable Function
-       976(r057):     35(ptr) Variable Function
-       979(r058):     35(ptr) Variable Function
-       984(r059):     35(ptr) Variable Function
-       987(r060):     35(ptr) Variable Function
-       994(r061):     35(ptr) Variable Function
-       997(r062):     35(ptr) Variable Function
-      1002(r063):     35(ptr) Variable Function
-      1005(r064):     35(ptr) Variable Function
-      1009(r065):     35(ptr) Variable Function
-      1012(r066):     35(ptr) Variable Function
-      1015(r067):     35(ptr) Variable Function
-      1021(r000):     68(ptr) Variable Function
-      1026(r001):     11(ptr) Variable Function
-      1031(r003):     68(ptr) Variable Function
-      1034(r004):     11(ptr) Variable Function
-      1037(r005):     11(ptr) Variable Function
-      1040(r006):     11(ptr) Variable Function
-      1045(r007):     11(ptr) Variable Function
-      1056(r008):     11(ptr) Variable Function
-      1062(r009):     11(ptr) Variable Function
-      1065(r010):     11(ptr) Variable Function
-      1068(r011):     11(ptr) Variable Function
-      1071(r012):     11(ptr) Variable Function
-      1074(r013):     11(ptr) Variable Function
-      1077(r014):     11(ptr) Variable Function
-      1080(r015):     11(ptr) Variable Function
-      1083(r016):     11(ptr) Variable Function
-      1086(r017):     11(ptr) Variable Function
-      1089(r018):      7(ptr) Variable Function
-      1092(r019):     11(ptr) Variable Function
-      1095(R020):     11(ptr) Variable Function
-      1098(r021):     11(ptr) Variable Function
-      1101(r022):     11(ptr) Variable Function
-      1111(r023):     11(ptr) Variable Function
-      1114(r024):     11(ptr) Variable Function
-      1120(r025):     11(ptr) Variable Function
-      1123(r026):     11(ptr) Variable Function
-     1127(r026a):     11(ptr) Variable Function
-      1132(r027):     11(ptr) Variable Function
-      1135(r028):     11(ptr) Variable Function
-      1139(r029):     11(ptr) Variable Function
-      1142(r030):     11(ptr) Variable Function
-      1146(r031):     11(ptr) Variable Function
-      1150(r032):     11(ptr) Variable Function
-      1154(r033):     11(ptr) Variable Function
-      1157(r034):     11(ptr) Variable Function
-      1160(r035):     11(ptr) Variable Function
-      1163(r036):     11(ptr) Variable Function
-      1168(r037):     11(ptr) Variable Function
-      1171(r038):     11(ptr) Variable Function
-      1178(r039):     11(ptr) Variable Function
-      1181(r049):     11(ptr) Variable Function
-      1186(r041):     11(ptr) Variable Function
-      1189(r042):     11(ptr) Variable Function
-      1193(r043):     11(ptr) Variable Function
-      1196(r044):     11(ptr) Variable Function
-      1201(r046):     11(ptr) Variable Function
-      1207(r000):     68(ptr) Variable Function
-      1212(r001):     24(ptr) Variable Function
-      1217(r003):     68(ptr) Variable Function
-      1220(r004):     24(ptr) Variable Function
-      1223(r005):     24(ptr) Variable Function
-      1226(r006):     24(ptr) Variable Function
-      1231(r007):     24(ptr) Variable Function
-      1242(r008):     24(ptr) Variable Function
-      1248(r009):     24(ptr) Variable Function
-      1251(r010):     24(ptr) Variable Function
-      1254(r011):     24(ptr) Variable Function
-      1257(r012):     24(ptr) Variable Function
-      1260(r013):     24(ptr) Variable Function
-      1263(r014):     24(ptr) Variable Function
-      1266(r015):     24(ptr) Variable Function
-      1269(r016):     24(ptr) Variable Function
-      1272(r017):     24(ptr) Variable Function
-      1275(r018):      7(ptr) Variable Function
-      1278(r019):     24(ptr) Variable Function
-      1281(R020):     24(ptr) Variable Function
-      1284(r021):     24(ptr) Variable Function
-      1287(r022):     24(ptr) Variable Function
-      1300(r023):     24(ptr) Variable Function
-      1303(r024):     24(ptr) Variable Function
-      1309(r025):     24(ptr) Variable Function
-      1312(r026):     24(ptr) Variable Function
-     1316(r026a):     24(ptr) Variable Function
-      1321(r027):     24(ptr) Variable Function
-      1324(r028):     24(ptr) Variable Function
-      1328(r029):     24(ptr) Variable Function
-      1331(r030):     24(ptr) Variable Function
-      1335(r031):     24(ptr) Variable Function
-      1339(r032):     24(ptr) Variable Function
-      1343(r033):     24(ptr) Variable Function
-      1346(r034):     24(ptr) Variable Function
-      1349(r035):     24(ptr) Variable Function
-      1352(r036):     24(ptr) Variable Function
-      1357(r037):     24(ptr) Variable Function
-      1360(r038):     24(ptr) Variable Function
-      1367(r039):     24(ptr) Variable Function
-      1370(r049):     24(ptr) Variable Function
-      1375(r041):     24(ptr) Variable Function
-      1378(r042):     24(ptr) Variable Function
-      1382(r043):     24(ptr) Variable Function
-      1385(r044):     24(ptr) Variable Function
-      1390(r046):     24(ptr) Variable Function
-      1396(r000):     68(ptr) Variable Function
-      1401(r001):     37(ptr) Variable Function
-      1406(r003):     68(ptr) Variable Function
-      1409(r004):     37(ptr) Variable Function
-      1412(r005):     37(ptr) Variable Function
-      1415(r006):     37(ptr) Variable Function
-      1420(r007):     37(ptr) Variable Function
-      1431(r008):     37(ptr) Variable Function
-      1437(r009):     37(ptr) Variable Function
-      1440(r010):     37(ptr) Variable Function
-      1443(r011):     37(ptr) Variable Function
-      1446(r012):     37(ptr) Variable Function
-      1449(r013):     37(ptr) Variable Function
-      1452(r014):     37(ptr) Variable Function
-      1455(r015):     37(ptr) Variable Function
-      1458(r016):     37(ptr) Variable Function
-      1461(r017):     37(ptr) Variable Function
-      1464(r018):      7(ptr) Variable Function
-      1467(r019):     37(ptr) Variable Function
-      1470(R020):     37(ptr) Variable Function
-      1473(r021):     37(ptr) Variable Function
-      1476(r022):     37(ptr) Variable Function
-      1492(r023):     37(ptr) Variable Function
-      1495(r024):     37(ptr) Variable Function
-      1501(r025):     37(ptr) Variable Function
-      1504(r026):     37(ptr) Variable Function
-     1508(r026a):     37(ptr) Variable Function
-      1513(r027):     37(ptr) Variable Function
-      1516(r028):     37(ptr) Variable Function
-      1520(r029):     37(ptr) Variable Function
-      1523(r030):     37(ptr) Variable Function
-      1527(r031):     37(ptr) Variable Function
-      1531(r032):     37(ptr) Variable Function
-      1535(r033):     37(ptr) Variable Function
-      1538(r034):     37(ptr) Variable Function
-      1541(r035):     37(ptr) Variable Function
-      1544(r036):     37(ptr) Variable Function
-      1549(r037):     37(ptr) Variable Function
-      1552(r038):     37(ptr) Variable Function
-      1559(r039):     37(ptr) Variable Function
-      1562(r049):     37(ptr) Variable Function
-      1567(r041):     37(ptr) Variable Function
-      1570(r042):     37(ptr) Variable Function
-      1574(r043):     37(ptr) Variable Function
-      1577(r044):     37(ptr) Variable Function
-      1582(r046):     37(ptr) Variable Function
-              72:    6(float) Load 71(inF0)
-              73:    67(bool) All 72
-                              Store 69(r000) 73
-              75:    6(float) Load 71(inF0)
-              76:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 75
-                              Store 74(r001) 76
-              78:    6(float) Load 71(inF0)
-              79:    6(float) ExtInst 1(GLSL.std.450) 17(Acos) 78
-                              Store 77(r002) 79
-              81:    6(float) Load 71(inF0)
-              82:    67(bool) Any 81
-                              Store 80(r003) 82
-              84:    6(float) Load 71(inF0)
-              85:    6(float) ExtInst 1(GLSL.std.450) 16(Asin) 84
-                              Store 83(r004) 85
-              89:    6(float) Load 71(inF0)
-              90:     86(int) Bitcast 89
-                              Store 88(r005) 90
-              94:    6(float) Load 71(inF0)
-              95:     91(int) Bitcast 94
-                              Store 93(r006) 95
-              99:     91(int) Load 98(inU0)
-             100:    6(float) Bitcast 99
-                              Store 96(r007) 100
-             102:    6(float) Load 71(inF0)
-             103:    6(float) ExtInst 1(GLSL.std.450) 18(Atan) 102
-                              Store 101(r009) 103
-             105:    6(float) Load 71(inF0)
-             107:    6(float) Load 106(inF1)
-             108:    6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 105 107
-                              Store 104(r010) 108
-             110:    6(float) Load 71(inF0)
-             111:    6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 110
-                              Store 109(r011) 111
-             113:    6(float) Load 71(inF0)
-             114:    6(float) Load 106(inF1)
-             116:    6(float) Load 115(inF2)
-             117:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 113 114 116
-                              Store 112(r012) 117
-             118:    6(float) Load 71(inF0)
-             120:    67(bool) FOrdLessThan 118 119
-                              SelectionMerge 122 None
-                              BranchConditional 120 121 122
-             121:               Label
+       802(r000):    122(ptr) Variable Function
+       807(r001):     91(ptr) Variable Function
+       810(r002):     91(ptr) Variable Function
+       813(r003):    122(ptr) Variable Function
+       816(r004):     91(ptr) Variable Function
+       821(r005):    820(ptr) Variable Function
+       826(r006):    825(ptr) Variable Function
+       829(r007):     91(ptr) Variable Function
+       834(r009):     91(ptr) Variable Function
+       837(r010):     91(ptr) Variable Function
+       842(r011):     91(ptr) Variable Function
+       845(r012):     91(ptr) Variable Function
+       859(r013):     91(ptr) Variable Function
+       862(r014):     91(ptr) Variable Function
+       865(r015):    825(ptr) Variable Function
+       868(r016):     91(ptr) Variable Function
+       871(r017):     91(ptr) Variable Function
+       874(r018):     91(ptr) Variable Function
+       877(r019):     91(ptr) Variable Function
+       880(r020):     91(ptr) Variable Function
+       883(r021):     91(ptr) Variable Function
+       886(r022):     91(ptr) Variable Function
+       889(r023):      7(ptr) Variable Function
+       893(r024):      7(ptr) Variable Function
+       897(r025):     91(ptr) Variable Function
+       909(r029):     91(ptr) Variable Function
+       912(r030):     91(ptr) Variable Function
+       915(r031):     91(ptr) Variable Function
+       920(r032):    825(ptr) Variable Function
+       925(r033):    825(ptr) Variable Function
+       927(r034):     91(ptr) Variable Function
+       930(r036):     91(ptr) Variable Function
+       934(r037):     91(ptr) Variable Function
+       937(r038):     91(ptr) Variable Function
+       943(r039):     91(ptr) Variable Function
+       947(r040):    946(ptr) Variable Function
+       950(r041):    946(ptr) Variable Function
+       953(r042):     91(ptr) Variable Function
+      957(r039a):     91(ptr) Variable Function
+       962(r043):      7(ptr) Variable Function
+       965(r044):     91(ptr) Variable Function
+       968(r045):     91(ptr) Variable Function
+       972(r046):     91(ptr) Variable Function
+       975(r047):     91(ptr) Variable Function
+       979(r048):     91(ptr) Variable Function
+       983(r049):     91(ptr) Variable Function
+       986(r050):     91(ptr) Variable Function
+       990(r051):     91(ptr) Variable Function
+       993(r052):     91(ptr) Variable Function
+       997(r053):     91(ptr) Variable Function
+      1001(r054):     91(ptr) Variable Function
+      1005(r055):    825(ptr) Variable Function
+      1008(r056):     91(ptr) Variable Function
+      1011(r057):     91(ptr) Variable Function
+      1014(r058):     91(ptr) Variable Function
+      1019(r059):     91(ptr) Variable Function
+      1022(r060):     91(ptr) Variable Function
+      1029(r061):     91(ptr) Variable Function
+      1032(r062):     91(ptr) Variable Function
+      1037(r063):     91(ptr) Variable Function
+      1040(r064):     91(ptr) Variable Function
+      1044(r065):     91(ptr) Variable Function
+      1047(r066):     91(ptr) Variable Function
+      1050(r067):     91(ptr) Variable Function
+             805:   64(fvec4) Load 804(inF0)
+             806:   121(bool) All 805
+                              Store 802(r000) 806
+             808:   64(fvec4) Load 804(inF0)
+             809:   64(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 808
+                              Store 807(r001) 809
+             811:   64(fvec4) Load 804(inF0)
+             812:   64(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 811
+                              Store 810(r002) 812
+             814:   64(fvec4) Load 804(inF0)
+             815:   121(bool) Any 814
+                              Store 813(r003) 815
+             817:   64(fvec4) Load 804(inF0)
+             818:   64(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 817
+                              Store 816(r004) 818
+             822:   64(fvec4) Load 804(inF0)
+             823:  819(ivec4) Bitcast 822
+                              Store 821(r005) 823
+             827:   64(fvec4) Load 804(inF0)
+             828:  824(ivec4) Bitcast 827
+                              Store 826(r006) 828
+             832:  824(ivec4) Load 831(inU0)
+             833:   64(fvec4) Bitcast 832
+                              Store 829(r007) 833
+             835:   64(fvec4) Load 804(inF0)
+             836:   64(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 835
+                              Store 834(r009) 836
+             838:   64(fvec4) Load 804(inF0)
+             840:   64(fvec4) Load 839(inF1)
+             841:   64(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 838 840
+                              Store 837(r010) 841
+             843:   64(fvec4) Load 804(inF0)
+             844:   64(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 843
+                              Store 842(r011) 844
+             846:   64(fvec4) Load 804(inF0)
+             847:   64(fvec4) Load 839(inF1)
+             849:   64(fvec4) Load 848(inF2)
+             850:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 846 847 849
+                              Store 845(r012) 850
+             851:   64(fvec4) Load 804(inF0)
+             854:  853(bvec4) FOrdLessThan 851 852
+             855:   121(bool) Any 854
+                              SelectionMerge 857 None
+                              BranchConditional 855 856 857
+             856:               Label
                                 Kill
-             122:             Label
-             125:    6(float) Load 71(inF0)
-             126:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 125
-                              Store 124(r014) 126
-             128:    6(float) Load 71(inF0)
-             129:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 128
-                              Store 127(r015) 129
-             132:     91(int) BitCount 131
-                              Store 130(r016) 132
-             134:    6(float) Load 71(inF0)
-             135:    6(float) DPdx 134
-                              Store 133(r017) 135
-             137:    6(float) Load 71(inF0)
-             138:    6(float) DPdxCoarse 137
-                              Store 136(r018) 138
-             140:    6(float) Load 71(inF0)
-             141:    6(float) DPdxFine 140
-                              Store 139(r019) 141
-             143:    6(float) Load 71(inF0)
-             144:    6(float) DPdy 143
-                              Store 142(r020) 144
-             146:    6(float) Load 71(inF0)
-             147:    6(float) DPdyCoarse 146
-                              Store 145(r021) 147
-             149:    6(float) Load 71(inF0)
-             150:    6(float) DPdyFine 149
-                              Store 148(r022) 150
-             152:    6(float) Load 71(inF0)
-             153:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 152
-                              Store 151(r023) 153
-             155:    6(float) Load 71(inF0)
-             156:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 155
-                              Store 154(r027) 156
-             158:    6(float) Load 71(inF0)
-             159:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 158
-                              Store 157(r028) 159
-             162:     86(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 161
-             163:     91(int) Bitcast 162
-                              Store 160(r029) 163
-             165:     86(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 161
-             166:     91(int) Bitcast 165
-                              Store 164(r030) 166
-             168:    6(float) Load 71(inF0)
-             169:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 168
-                              Store 167(r031) 169
-             171:    6(float) Load 71(inF0)
-             172:    6(float) Load 106(inF1)
-             173:    6(float) FMod 171 172
-                              Store 170(r033) 173
-             175:    6(float) Load 71(inF0)
-             176:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 175
-                              Store 174(r034) 176
-             178:    6(float) Load 71(inF0)
-             180:179(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 178
-             181:     86(int) CompositeExtract 180 1
-                              Store 106(inF1) 181
-             182:    6(float) CompositeExtract 180 0
-                              Store 177(r035) 182
-             184:    6(float) Load 71(inF0)
-             185:    6(float) Fwidth 184
-                              Store 183(r036) 185
-             187:    6(float) Load 71(inF0)
-             188:    67(bool) IsInf 187
-                              Store 186(r037) 188
-             190:    6(float) Load 71(inF0)
-             191:    67(bool) IsNan 190
-                              Store 189(r038) 191
-             193:    6(float) Load 71(inF0)
-             194:    6(float) Load 106(inF1)
-             195:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 193 194
-                              Store 192(r039) 195
-             197:    6(float) Load 71(inF0)
-             198:    6(float) Load 106(inF1)
-             199:    6(float) Load 115(inF2)
-             200:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 197 198 199
-                              Store 196(r039a) 200
-             202:    6(float) Load 71(inF0)
-             203:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 202
-                              Store 201(r040) 203
-             205:    6(float) Load 71(inF0)
-             206:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 205
-             208:    6(float) FMul 206 207
-                              Store 204(r041) 208
-             210:    6(float) Load 71(inF0)
-             211:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 210
-                              Store 209(r042) 211
-             213:    6(float) Load 71(inF0)
-             214:    6(float) Load 106(inF1)
-             215:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 213 214
-                              Store 212(r043) 215
-             217:    6(float) Load 71(inF0)
-             218:    6(float) Load 106(inF1)
-             219:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 217 218
-                              Store 216(r044) 219
-             221:    6(float) Load 71(inF0)
-             222:    6(float) Load 106(inF1)
-             223:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 221 222
-                              Store 220(r045) 223
-             225:    6(float) Load 71(inF0)
-             226:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 225
-                              Store 224(r046) 226
-             229:    6(float) Load 71(inF0)
-             230:    6(float) FDiv 228 229
-                              Store 227(r047) 230
-             233:     91(int) BitReverse 232
-                              Store 231(r048) 233
-             235:    6(float) Load 71(inF0)
-             236:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 235
-                              Store 234(r049) 236
-             238:    6(float) Load 71(inF0)
-             239:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 238
-                              Store 237(r050) 239
-             241:    6(float) Load 71(inF0)
-             242:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 241 119 228
-                              Store 240(r051) 242
-             244:    6(float) Load 71(inF0)
-             245:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 244
-                              Store 243(r052) 245
-             247:    6(float) Load 71(inF0)
-             248:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 247
-                              Store 246(r053) 248
-             249:    6(float) Load 71(inF0)
-             250:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 249
-                              Store 106(inF1) 250
-             251:    6(float) Load 71(inF0)
-             252:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 251
-                              Store 115(inF2) 252
-             254:    6(float) Load 71(inF0)
-             255:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 254
-                              Store 253(r055) 255
-             257:    6(float) Load 71(inF0)
-             258:    6(float) Load 106(inF1)
-             259:    6(float) Load 115(inF2)
-             260:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 257 258 259
-                              Store 256(r056) 260
-             262:    6(float) Load 71(inF0)
-             263:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 262
-                              Store 261(r057) 263
-             265:    6(float) Load 71(inF0)
-             266:    6(float) Load 106(inF1)
-             267:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 265 266
-                              Store 264(r058) 267
-             269:    6(float) Load 71(inF0)
-             270:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 269
-                              Store 268(r059) 270
-             272:    6(float) Load 71(inF0)
-             273:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 272
-                              Store 271(r060) 273
-             275:    6(float) Load 71(inF0)
-             276:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 275
-                              Store 274(r061) 276
-                              ReturnValue 119
+             857:             Label
+             860:   64(fvec4) Load 804(inF0)
+             861:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 860
+                              Store 859(r013) 861
+             863:   64(fvec4) Load 804(inF0)
+             864:   64(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 863
+                              Store 862(r014) 864
+             867:  824(ivec4) BitCount 866
+                              Store 865(r015) 867
+             869:   64(fvec4) Load 804(inF0)
+             870:   64(fvec4) DPdx 869
+                              Store 868(r016) 870
+             872:   64(fvec4) Load 804(inF0)
+             873:   64(fvec4) DPdxCoarse 872
+                              Store 871(r017) 873
+             875:   64(fvec4) Load 804(inF0)
+             876:   64(fvec4) DPdxFine 875
+                              Store 874(r018) 876
+             878:   64(fvec4) Load 804(inF0)
+             879:   64(fvec4) DPdy 878
+                              Store 877(r019) 879
+             881:   64(fvec4) Load 804(inF0)
+             882:   64(fvec4) DPdyCoarse 881
+                              Store 880(r020) 882
+             884:   64(fvec4) Load 804(inF0)
+             885:   64(fvec4) DPdyFine 884
+                              Store 883(r021) 885
+             887:   64(fvec4) Load 804(inF0)
+             888:   64(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 887
+                              Store 886(r022) 888
+             890:   64(fvec4) Load 804(inF0)
+             891:   64(fvec4) Load 839(inF1)
+             892:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 890 891
+                              Store 889(r023) 892
+             894:   64(fvec4) Load 804(inF0)
+             895:   64(fvec4) Load 839(inF1)
+             896:    6(float) Dot 894 895
+                              Store 893(r024) 896
+             899:    898(ptr) AccessChain 804(inF0) 512
+             900:    6(float) Load 899
+             901:    898(ptr) AccessChain 839(inF1) 512
+             902:    6(float) Load 901
+             903:    6(float) FMul 900 902
+             904:    898(ptr) AccessChain 804(inF0) 278
+             905:    6(float) Load 904
+             906:    898(ptr) AccessChain 839(inF1) 383
+             907:    6(float) Load 906
+             908:   64(fvec4) CompositeConstruct 274 903 905 907
+                              Store 897(r025) 908
+             910:   64(fvec4) Load 804(inF0)
+             911:   64(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 910
+                              Store 909(r029) 911
+             913:   64(fvec4) Load 804(inF0)
+             914:   64(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 913
+                              Store 912(r030) 914
+             916:   64(fvec4) Load 804(inF0)
+             917:   64(fvec4) Load 839(inF1)
+             918:   64(fvec4) Load 848(inF2)
+             919:   64(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 916 917 918
+                              Store 915(r031) 919
+             924:  824(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 923
+                              Store 920(r032) 924
+             926:  824(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 923
+                              Store 925(r033) 926
+             928:   64(fvec4) Load 804(inF0)
+             929:   64(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 928
+                              Store 927(r034) 929
+             931:   64(fvec4) Load 804(inF0)
+             932:   64(fvec4) Load 839(inF1)
+             933:   64(fvec4) FMod 931 932
+                              Store 930(r036) 933
+             935:   64(fvec4) Load 804(inF0)
+             936:   64(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 935
+                              Store 934(r037) 936
+             938:   64(fvec4) Load 804(inF0)
+             940:939(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 938
+             941:  819(ivec4) CompositeExtract 940 1
+                              Store 839(inF1) 941
+             942:   64(fvec4) CompositeExtract 940 0
+                              Store 937(r038) 942
+             944:   64(fvec4) Load 804(inF0)
+             945:   64(fvec4) Fwidth 944
+                              Store 943(r039) 945
+             948:   64(fvec4) Load 804(inF0)
+             949:  853(bvec4) IsInf 948
+                              Store 947(r040) 949
+             951:   64(fvec4) Load 804(inF0)
+             952:  853(bvec4) IsNan 951
+                              Store 950(r041) 952
+             954:   64(fvec4) Load 804(inF0)
+             955:   64(fvec4) Load 839(inF1)
+             956:   64(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 954 955
+                              Store 953(r042) 956
+             958:   64(fvec4) Load 804(inF0)
+             959:   64(fvec4) Load 839(inF1)
+             960:   64(fvec4) Load 848(inF2)
+             961:   64(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 958 959 960
+                              Store 957(r039a) 961
+             963:   64(fvec4) Load 804(inF0)
+             964:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 963
+                              Store 962(r043) 964
+             966:   64(fvec4) Load 804(inF0)
+             967:   64(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 966
+                              Store 965(r044) 967
+             969:   64(fvec4) Load 804(inF0)
+             970:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 969
+             971:   64(fvec4) VectorTimesScalar 970 253
+                              Store 968(r045) 971
+             973:   64(fvec4) Load 804(inF0)
+             974:   64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 973
+                              Store 972(r046) 974
+             976:   64(fvec4) Load 804(inF0)
+             977:   64(fvec4) Load 839(inF1)
+             978:   64(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 976 977
+                              Store 975(r047) 978
+             980:   64(fvec4) Load 804(inF0)
+             981:   64(fvec4) Load 839(inF1)
+             982:   64(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 980 981
+                              Store 979(r048) 982
+             984:   64(fvec4) Load 804(inF0)
+             985:   64(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 984
+                              Store 983(r049) 985
+             987:   64(fvec4) Load 804(inF0)
+             988:   64(fvec4) Load 839(inF1)
+             989:   64(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 987 988
+                              Store 986(r050) 989
+             991:   64(fvec4) Load 804(inF0)
+             992:   64(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 991
+                              Store 990(r051) 992
+             994:   64(fvec4) Load 804(inF0)
+             995:   64(fvec4) CompositeConstruct 274 274 274 274
+             996:   64(fvec4) FDiv 995 994
+                              Store 993(r052) 996
+             998:   64(fvec4) Load 804(inF0)
+             999:   64(fvec4) Load 839(inF1)
+            1000:   64(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 998 999
+                              Store 997(r053) 1000
+            1002:   64(fvec4) Load 804(inF0)
+            1003:   64(fvec4) Load 839(inF1)
+            1004:   64(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1002 1003 509
+                              Store 1001(r054) 1004
+            1007:  824(ivec4) BitReverse 1006
+                              Store 1005(r055) 1007
+            1009:   64(fvec4) Load 804(inF0)
+            1010:   64(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1009
+                              Store 1008(r056) 1010
+            1012:   64(fvec4) Load 804(inF0)
+            1013:   64(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1012
+                              Store 1011(r057) 1013
+            1015:   64(fvec4) Load 804(inF0)
+            1016:   64(fvec4) CompositeConstruct 165 165 165 165
+            1017:   64(fvec4) CompositeConstruct 274 274 274 274
+            1018:   64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1015 1016 1017
+                              Store 1014(r058) 1018
+            1020:   64(fvec4) Load 804(inF0)
+            1021:   64(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1020
+                              Store 1019(r059) 1021
+            1023:   64(fvec4) Load 804(inF0)
+            1024:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1023
+                              Store 1022(r060) 1024
+            1025:   64(fvec4) Load 804(inF0)
+            1026:   64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1025
+                              Store 839(inF1) 1026
+            1027:   64(fvec4) Load 804(inF0)
+            1028:   64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1027
+                              Store 848(inF2) 1028
+            1030:   64(fvec4) Load 804(inF0)
+            1031:   64(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1030
+                              Store 1029(r061) 1031
+            1033:   64(fvec4) Load 804(inF0)
+            1034:   64(fvec4) Load 839(inF1)
+            1035:   64(fvec4) Load 848(inF2)
+            1036:   64(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1033 1034 1035
+                              Store 1032(r062) 1036
+            1038:   64(fvec4) Load 804(inF0)
+            1039:   64(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1038
+                              Store 1037(r063) 1039
+            1041:   64(fvec4) Load 804(inF0)
+            1042:   64(fvec4) Load 839(inF1)
+            1043:   64(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1041 1042
+                              Store 1040(r064) 1043
+            1045:   64(fvec4) Load 804(inF0)
+            1046:   64(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1045
+                              Store 1044(r065) 1046
+            1048:   64(fvec4) Load 804(inF0)
+            1049:   64(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1048
+                              Store 1047(r066) 1049
+            1051:   64(fvec4) Load 804(inF0)
+            1052:   64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1051
+                              Store 1050(r067) 1052
+                              ReturnValue 1054
                               FunctionEnd
-19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 12
-        13(inF0):      7(ptr) FunctionParameter
-        14(inF1):      7(ptr) FunctionParameter
-       15(inFV0):      9(ptr) FunctionParameter
-       16(inFV1):      9(ptr) FunctionParameter
-       17(inFM0):     11(ptr) FunctionParameter
-       18(inFM1):     11(ptr) FunctionParameter
-              20:             Label
-        1588(r0):      7(ptr) Variable Function
-        1592(r1):      9(ptr) Variable Function
-        1596(r2):      9(ptr) Variable Function
-        1600(r3):      7(ptr) Variable Function
-        1604(r4):      9(ptr) Variable Function
-        1608(r5):      9(ptr) Variable Function
-        1612(r6):     11(ptr) Variable Function
-        1616(r7):     11(ptr) Variable Function
-        1620(r8):     11(ptr) Variable Function
-            1589:    6(float) Load 13(inF0)
-            1590:    6(float) Load 14(inF1)
-            1591:    6(float) FMul 1589 1590
-                              Store 1588(r0) 1591
-            1593:    8(fvec2) Load 15(inFV0)
-            1594:    6(float) Load 13(inF0)
-            1595:    8(fvec2) VectorTimesScalar 1593 1594
-                              Store 1592(r1) 1595
-            1597:    6(float) Load 13(inF0)
-            1598:    8(fvec2) Load 15(inFV0)
-            1599:    8(fvec2) VectorTimesScalar 1598 1597
-                              Store 1596(r2) 1599
-            1601:    8(fvec2) Load 15(inFV0)
-            1602:    8(fvec2) Load 16(inFV1)
-            1603:    6(float) Dot 1601 1602
-                              Store 1600(r3) 1603
-            1605:          10 Load 17(inFM0)
-            1606:    8(fvec2) Load 15(inFV0)
-            1607:    8(fvec2) MatrixTimesVector 1605 1606
-                              Store 1604(r4) 1607
-            1609:    8(fvec2) Load 15(inFV0)
-            1610:          10 Load 17(inFM0)
-            1611:    8(fvec2) VectorTimesMatrix 1609 1610
-                              Store 1608(r5) 1611
-            1613:          10 Load 17(inFM0)
-            1614:    6(float) Load 13(inF0)
-            1615:          10 MatrixTimesScalar 1613 1614
-                              Store 1612(r6) 1615
-            1617:    6(float) Load 13(inF0)
-            1618:          10 Load 17(inFM0)
-            1619:          10 MatrixTimesScalar 1618 1617
-                              Store 1616(r7) 1619
-            1621:          10 Load 17(inFM0)
-            1622:          10 Load 18(inFM1)
-            1623:          10 MatrixTimesMatrix 1621 1622
-                              Store 1620(r8) 1623
+16(PixelShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
+        11(inF0):      7(ptr) FunctionParameter
+        12(inF1):      7(ptr) FunctionParameter
+        13(inF2):      7(ptr) FunctionParameter
+        14(inU0):      9(ptr) FunctionParameter
+        15(inU1):      9(ptr) FunctionParameter
+              17:             Label
+       123(r000):    122(ptr) Variable Function
+       126(r001):      7(ptr) Variable Function
+       129(r002):      7(ptr) Variable Function
+       132(r003):    122(ptr) Variable Function
+       135(r004):      7(ptr) Variable Function
+       140(r005):    139(ptr) Variable Function
+       143(r006):      9(ptr) Variable Function
+       146(r007):      7(ptr) Variable Function
+       149(r009):      7(ptr) Variable Function
+       152(r010):      7(ptr) Variable Function
+       156(r011):      7(ptr) Variable Function
+       159(r012):      7(ptr) Variable Function
+       170(r014):      7(ptr) Variable Function
+       173(r015):      7(ptr) Variable Function
+       176(r016):      9(ptr) Variable Function
+       179(r017):      7(ptr) Variable Function
+       182(r018):      7(ptr) Variable Function
+       185(r019):      7(ptr) Variable Function
+       188(r020):      7(ptr) Variable Function
+       191(r021):      7(ptr) Variable Function
+       194(r022):      7(ptr) Variable Function
+       197(r023):      7(ptr) Variable Function
+       200(r027):      7(ptr) Variable Function
+       203(r028):      7(ptr) Variable Function
+       206(r029):      9(ptr) Variable Function
+       210(r030):      9(ptr) Variable Function
+       213(r031):      7(ptr) Variable Function
+       216(r033):      7(ptr) Variable Function
+       220(r034):      7(ptr) Variable Function
+       223(r035):      7(ptr) Variable Function
+       229(r036):      7(ptr) Variable Function
+       232(r037):    122(ptr) Variable Function
+       235(r038):    122(ptr) Variable Function
+       238(r039):      7(ptr) Variable Function
+      242(r039a):      7(ptr) Variable Function
+       247(r040):      7(ptr) Variable Function
+       250(r041):      7(ptr) Variable Function
+       255(r042):      7(ptr) Variable Function
+       258(r043):      7(ptr) Variable Function
+       262(r044):      7(ptr) Variable Function
+       266(r045):      7(ptr) Variable Function
+       270(r046):      7(ptr) Variable Function
+       273(r047):      7(ptr) Variable Function
+       277(r048):      9(ptr) Variable Function
+       280(r049):      7(ptr) Variable Function
+       283(r050):      7(ptr) Variable Function
+       286(r051):      7(ptr) Variable Function
+       289(r052):      7(ptr) Variable Function
+       292(r053):      7(ptr) Variable Function
+       299(r055):      7(ptr) Variable Function
+       302(r056):      7(ptr) Variable Function
+       307(r057):      7(ptr) Variable Function
+       310(r058):      7(ptr) Variable Function
+       314(r059):      7(ptr) Variable Function
+       317(r060):      7(ptr) Variable Function
+       320(r061):      7(ptr) Variable Function
+             124:    6(float) Load 11(inF0)
+             125:   121(bool) All 124
+                              Store 123(r000) 125
+             127:    6(float) Load 11(inF0)
+             128:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 127
+                              Store 126(r001) 128
+             130:    6(float) Load 11(inF0)
+             131:    6(float) ExtInst 1(GLSL.std.450) 17(Acos) 130
+                              Store 129(r002) 131
+             133:    6(float) Load 11(inF0)
+             134:   121(bool) Any 133
+                              Store 132(r003) 134
+             136:    6(float) Load 11(inF0)
+             137:    6(float) ExtInst 1(GLSL.std.450) 16(Asin) 136
+                              Store 135(r004) 137
+             141:    6(float) Load 11(inF0)
+             142:    138(int) Bitcast 141
+                              Store 140(r005) 142
+             144:    6(float) Load 11(inF0)
+             145:      8(int) Bitcast 144
+                              Store 143(r006) 145
+             147:      8(int) Load 14(inU0)
+             148:    6(float) Bitcast 147
+                              Store 146(r007) 148
+             150:    6(float) Load 11(inF0)
+             151:    6(float) ExtInst 1(GLSL.std.450) 18(Atan) 150
+                              Store 149(r009) 151
+             153:    6(float) Load 11(inF0)
+             154:    6(float) Load 12(inF1)
+             155:    6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 153 154
+                              Store 152(r010) 155
+             157:    6(float) Load 11(inF0)
+             158:    6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 157
+                              Store 156(r011) 158
+             160:    6(float) Load 11(inF0)
+             161:    6(float) Load 12(inF1)
+             162:    6(float) Load 13(inF2)
+             163:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 160 161 162
+                              Store 159(r012) 163
+             164:    6(float) Load 11(inF0)
+             166:   121(bool) FOrdLessThan 164 165
+                              SelectionMerge 168 None
+                              BranchConditional 166 167 168
+             167:               Label
+                                Kill
+             168:             Label
+             171:    6(float) Load 11(inF0)
+             172:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 171
+                              Store 170(r014) 172
+             174:    6(float) Load 11(inF0)
+             175:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 174
+                              Store 173(r015) 175
+             178:      8(int) BitCount 177
+                              Store 176(r016) 178
+             180:    6(float) Load 11(inF0)
+             181:    6(float) DPdx 180
+                              Store 179(r017) 181
+             183:    6(float) Load 11(inF0)
+             184:    6(float) DPdxCoarse 183
+                              Store 182(r018) 184
+             186:    6(float) Load 11(inF0)
+             187:    6(float) DPdxFine 186
+                              Store 185(r019) 187
+             189:    6(float) Load 11(inF0)
+             190:    6(float) DPdy 189
+                              Store 188(r020) 190
+             192:    6(float) Load 11(inF0)
+             193:    6(float) DPdyCoarse 192
+                              Store 191(r021) 193
+             195:    6(float) Load 11(inF0)
+             196:    6(float) DPdyFine 195
+                              Store 194(r022) 196
+             198:    6(float) Load 11(inF0)
+             199:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 198
+                              Store 197(r023) 199
+             201:    6(float) Load 11(inF0)
+             202:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 201
+                              Store 200(r027) 202
+             204:    6(float) Load 11(inF0)
+             205:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 204
+                              Store 203(r028) 205
+             208:    138(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 207
+             209:      8(int) Bitcast 208
+                              Store 206(r029) 209
+             211:    138(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 207
+             212:      8(int) Bitcast 211
+                              Store 210(r030) 212
+             214:    6(float) Load 11(inF0)
+             215:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 214
+                              Store 213(r031) 215
+             217:    6(float) Load 11(inF0)
+             218:    6(float) Load 12(inF1)
+             219:    6(float) FMod 217 218
+                              Store 216(r033) 219
+             221:    6(float) Load 11(inF0)
+             222:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 221
+                              Store 220(r034) 222
+             224:    6(float) Load 11(inF0)
+             226:225(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 224
+             227:    138(int) CompositeExtract 226 1
+                              Store 12(inF1) 227
+             228:    6(float) CompositeExtract 226 0
+                              Store 223(r035) 228
+             230:    6(float) Load 11(inF0)
+             231:    6(float) Fwidth 230
+                              Store 229(r036) 231
+             233:    6(float) Load 11(inF0)
+             234:   121(bool) IsInf 233
+                              Store 232(r037) 234
+             236:    6(float) Load 11(inF0)
+             237:   121(bool) IsNan 236
+                              Store 235(r038) 237
+             239:    6(float) Load 11(inF0)
+             240:    6(float) Load 12(inF1)
+             241:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 239 240
+                              Store 238(r039) 241
+             243:    6(float) Load 11(inF0)
+             244:    6(float) Load 12(inF1)
+             245:    6(float) Load 13(inF2)
+             246:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 243 244 245
+                              Store 242(r039a) 246
+             248:    6(float) Load 11(inF0)
+             249:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 248
+                              Store 247(r040) 249
+             251:    6(float) Load 11(inF0)
+             252:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 251
+             254:    6(float) FMul 252 253
+                              Store 250(r041) 254
+             256:    6(float) Load 11(inF0)
+             257:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 256
+                              Store 255(r042) 257
+             259:    6(float) Load 11(inF0)
+             260:    6(float) Load 12(inF1)
+             261:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 259 260
+                              Store 258(r043) 261
+             263:    6(float) Load 11(inF0)
+             264:    6(float) Load 12(inF1)
+             265:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 263 264
+                              Store 262(r044) 265
+             267:    6(float) Load 11(inF0)
+             268:    6(float) Load 12(inF1)
+             269:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 267 268
+                              Store 266(r045) 269
+             271:    6(float) Load 11(inF0)
+             272:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 271
+                              Store 270(r046) 272
+             275:    6(float) Load 11(inF0)
+             276:    6(float) FDiv 274 275
+                              Store 273(r047) 276
+             279:      8(int) BitReverse 278
+                              Store 277(r048) 279
+             281:    6(float) Load 11(inF0)
+             282:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
+                              Store 280(r049) 282
+             284:    6(float) Load 11(inF0)
+             285:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 284
+                              Store 283(r050) 285
+             287:    6(float) Load 11(inF0)
+             288:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 287 165 274
+                              Store 286(r051) 288
+             290:    6(float) Load 11(inF0)
+             291:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 290
+                              Store 289(r052) 291
+             293:    6(float) Load 11(inF0)
+             294:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 293
+                              Store 292(r053) 294
+             295:    6(float) Load 11(inF0)
+             296:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 295
+                              Store 12(inF1) 296
+             297:    6(float) Load 11(inF0)
+             298:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 297
+                              Store 13(inF2) 298
+             300:    6(float) Load 11(inF0)
+             301:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 300
+                              Store 299(r055) 301
+             303:    6(float) Load 11(inF0)
+             304:    6(float) Load 12(inF1)
+             305:    6(float) Load 13(inF2)
+             306:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 303 304 305
+                              Store 302(r056) 306
+             308:    6(float) Load 11(inF0)
+             309:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 308
+                              Store 307(r057) 309
+             311:    6(float) Load 11(inF0)
+             312:    6(float) Load 12(inF1)
+             313:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 311 312
+                              Store 310(r058) 313
+             315:    6(float) Load 11(inF0)
+             316:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 315
+                              Store 314(r059) 316
+             318:    6(float) Load 11(inF0)
+             319:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 318
+                              Store 317(r060) 319
+             321:    6(float) Load 11(inF0)
+             322:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 321
+                              Store 320(r061) 322
+                              ReturnValue 165
+                              FunctionEnd
+22(PixelShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
+        19(inF0):      7(ptr) FunctionParameter
+        20(inF1):      7(ptr) FunctionParameter
+        21(inF2):      7(ptr) FunctionParameter
+              23:             Label
+                              ReturnValue 165
+                              FunctionEnd
+34(PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
+        29(inF0):     25(ptr) FunctionParameter
+        30(inF1):     25(ptr) FunctionParameter
+        31(inF2):     25(ptr) FunctionParameter
+        32(inU0):     27(ptr) FunctionParameter
+        33(inU1):     27(ptr) FunctionParameter
+              35:             Label
+       327(r000):    122(ptr) Variable Function
+       330(r001):     25(ptr) Variable Function
+       333(r002):     25(ptr) Variable Function
+       336(r003):    122(ptr) Variable Function
+       339(r004):     25(ptr) Variable Function
+       344(r005):    343(ptr) Variable Function
+       347(r006):     27(ptr) Variable Function
+       350(r007):     25(ptr) Variable Function
+       353(r009):     25(ptr) Variable Function
+       356(r010):     25(ptr) Variable Function
+       360(r011):     25(ptr) Variable Function
+       363(r012):     25(ptr) Variable Function
+       376(r013):     25(ptr) Variable Function
+       379(r015):     25(ptr) Variable Function
+       382(r016):     27(ptr) Variable Function
+       386(r017):     25(ptr) Variable Function
+       389(r018):     25(ptr) Variable Function
+       392(r019):     25(ptr) Variable Function
+       395(r020):     25(ptr) Variable Function
+       398(r021):     25(ptr) Variable Function
+       401(r022):     25(ptr) Variable Function
+       404(r023):     25(ptr) Variable Function
+       407(r026):      7(ptr) Variable Function
+       411(r027):      7(ptr) Variable Function
+       415(r028):     25(ptr) Variable Function
+       418(r029):     25(ptr) Variable Function
+       421(r030):     25(ptr) Variable Function
+       426(r031):     27(ptr) Variable Function
+       430(r032):     27(ptr) Variable Function
+       432(r033):     25(ptr) Variable Function
+       435(r035):     25(ptr) Variable Function
+       439(r036):     25(ptr) Variable Function
+       442(r037):     25(ptr) Variable Function
+       448(r038):     25(ptr) Variable Function
+       452(r039):    451(ptr) Variable Function
+       455(r040):    451(ptr) Variable Function
+       458(r041):     25(ptr) Variable Function
+      462(r039a):     25(ptr) Variable Function
+       467(r042):      7(ptr) Variable Function
+       470(r043):     25(ptr) Variable Function
+       473(r044):     25(ptr) Variable Function
+       477(r045):     25(ptr) Variable Function
+       480(r046):     25(ptr) Variable Function
+       484(r047):     25(ptr) Variable Function
+       488(r048):     25(ptr) Variable Function
+       491(r049):     25(ptr) Variable Function
+       495(r050):     25(ptr) Variable Function
+       498(r051):     25(ptr) Variable Function
+       502(r052):     25(ptr) Variable Function
+       506(r053):     25(ptr) Variable Function
+       511(r054):     27(ptr) Variable Function
+       515(r055):     25(ptr) Variable Function
+       518(r056):     25(ptr) Variable Function
+       521(r057):     25(ptr) Variable Function
+       526(r058):     25(ptr) Variable Function
+       529(r059):     25(ptr) Variable Function
+       536(r060):     25(ptr) Variable Function
+       539(r061):     25(ptr) Variable Function
+       544(r062):     25(ptr) Variable Function
+       547(r063):     25(ptr) Variable Function
+       551(r064):     25(ptr) Variable Function
+       554(r065):     25(ptr) Variable Function
+       557(r066):     25(ptr) Variable Function
+             328:   24(fvec2) Load 29(inF0)
+             329:   121(bool) All 328
+                              Store 327(r000) 329
+             331:   24(fvec2) Load 29(inF0)
+             332:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 331
+                              Store 330(r001) 332
+             334:   24(fvec2) Load 29(inF0)
+             335:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 334
+                              Store 333(r002) 335
+             337:   24(fvec2) Load 29(inF0)
+             338:   121(bool) Any 337
+                              Store 336(r003) 338
+             340:   24(fvec2) Load 29(inF0)
+             341:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 340
+                              Store 339(r004) 341
+             345:   24(fvec2) Load 29(inF0)
+             346:  342(ivec2) Bitcast 345
+                              Store 344(r005) 346
+             348:   24(fvec2) Load 29(inF0)
+             349:   26(ivec2) Bitcast 348
+                              Store 347(r006) 349
+             351:   26(ivec2) Load 32(inU0)
+             352:   24(fvec2) Bitcast 351
+                              Store 350(r007) 352
+             354:   24(fvec2) Load 29(inF0)
+             355:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 354
+                              Store 353(r009) 355
+             357:   24(fvec2) Load 29(inF0)
+             358:   24(fvec2) Load 30(inF1)
+             359:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 357 358
+                              Store 356(r010) 359
+             361:   24(fvec2) Load 29(inF0)
+             362:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 361
+                              Store 360(r011) 362
+             364:   24(fvec2) Load 29(inF0)
+             365:   24(fvec2) Load 30(inF1)
+             366:   24(fvec2) Load 31(inF2)
+             367:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 364 365 366
+                              Store 363(r012) 367
+             368:   24(fvec2) Load 29(inF0)
+             371:  370(bvec2) FOrdLessThan 368 369
+             372:   121(bool) Any 371
+                              SelectionMerge 374 None
+                              BranchConditional 372 373 374
+             373:               Label
+                                Kill
+             374:             Label
+             377:   24(fvec2) Load 29(inF0)
+             378:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 377
+                              Store 376(r013) 378
+             380:   24(fvec2) Load 29(inF0)
+             381:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 380
+                              Store 379(r015) 381
+             385:   26(ivec2) BitCount 384
+                              Store 382(r016) 385
+             387:   24(fvec2) Load 29(inF0)
+             388:   24(fvec2) DPdx 387
+                              Store 386(r017) 388
+             390:   24(fvec2) Load 29(inF0)
+             391:   24(fvec2) DPdxCoarse 390
+                              Store 389(r018) 391
+             393:   24(fvec2) Load 29(inF0)
+             394:   24(fvec2) DPdxFine 393
+                              Store 392(r019) 394
+             396:   24(fvec2) Load 29(inF0)
+             397:   24(fvec2) DPdy 396
+                              Store 395(r020) 397
+             399:   24(fvec2) Load 29(inF0)
+             400:   24(fvec2) DPdyCoarse 399
+                              Store 398(r021) 400
+             402:   24(fvec2) Load 29(inF0)
+             403:   24(fvec2) DPdyFine 402
+                              Store 401(r022) 403
+             405:   24(fvec2) Load 29(inF0)
+             406:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 405
+                              Store 404(r023) 406
+             408:   24(fvec2) Load 29(inF0)
+             409:   24(fvec2) Load 30(inF1)
+             410:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 408 409
+                              Store 407(r026) 410
+             412:   24(fvec2) Load 29(inF0)
+             413:   24(fvec2) Load 30(inF1)
+             414:    6(float) Dot 412 413
+                              Store 411(r027) 414
+             416:   24(fvec2) Load 29(inF0)
+             417:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 416
+                              Store 415(r028) 417
+             419:   24(fvec2) Load 29(inF0)
+             420:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 419
+                              Store 418(r029) 420
+             422:   24(fvec2) Load 29(inF0)
+             423:   24(fvec2) Load 30(inF1)
+             424:   24(fvec2) Load 31(inF2)
+             425:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 422 423 424
+                              Store 421(r030) 425
+             429:   26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 428
+                              Store 426(r031) 429
+             431:   26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 428
+                              Store 430(r032) 431
+             433:   24(fvec2) Load 29(inF0)
+             434:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 433
+                              Store 432(r033) 434
+             436:   24(fvec2) Load 29(inF0)
+             437:   24(fvec2) Load 30(inF1)
+             438:   24(fvec2) FMod 436 437
+                              Store 435(r035) 438
+             440:   24(fvec2) Load 29(inF0)
+             441:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 440
+                              Store 439(r036) 441
+             443:   24(fvec2) Load 29(inF0)
+             445:444(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 443
+             446:  342(ivec2) CompositeExtract 445 1
+                              Store 30(inF1) 446
+             447:   24(fvec2) CompositeExtract 445 0
+                              Store 442(r037) 447
+             449:   24(fvec2) Load 29(inF0)
+             450:   24(fvec2) Fwidth 449
+                              Store 448(r038) 450
+             453:   24(fvec2) Load 29(inF0)
+             454:  370(bvec2) IsInf 453
+                              Store 452(r039) 454
+             456:   24(fvec2) Load 29(inF0)
+             457:  370(bvec2) IsNan 456
+                              Store 455(r040) 457
+             459:   24(fvec2) Load 29(inF0)
+             460:   24(fvec2) Load 30(inF1)
+             461:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 459 460
+                              Store 458(r041) 461
+             463:   24(fvec2) Load 29(inF0)
+             464:   24(fvec2) Load 30(inF1)
+             465:   24(fvec2) Load 31(inF2)
+             466:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 463 464 465
+                              Store 462(r039a) 466
+             468:   24(fvec2) Load 29(inF0)
+             469:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 468
+                              Store 467(r042) 469
+             471:   24(fvec2) Load 29(inF0)
+             472:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 471
+                              Store 470(r043) 472
+             474:   24(fvec2) Load 29(inF0)
+             475:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 474
+             476:   24(fvec2) VectorTimesScalar 475 253
+                              Store 473(r044) 476
+             478:   24(fvec2) Load 29(inF0)
+             479:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 478
+                              Store 477(r045) 479
+             481:   24(fvec2) Load 29(inF0)
+             482:   24(fvec2) Load 30(inF1)
+             483:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 481 482
+                              Store 480(r046) 483
+             485:   24(fvec2) Load 29(inF0)
+             486:   24(fvec2) Load 30(inF1)
+             487:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 485 486
+                              Store 484(r047) 487
+             489:   24(fvec2) Load 29(inF0)
+             490:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 489
+                              Store 488(r048) 490
+             492:   24(fvec2) Load 29(inF0)
+             493:   24(fvec2) Load 30(inF1)
+             494:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 492 493
+                              Store 491(r049) 494
+             496:   24(fvec2) Load 29(inF0)
+             497:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 496
+                              Store 495(r050) 497
+             499:   24(fvec2) Load 29(inF0)
+             500:   24(fvec2) CompositeConstruct 274 274
+             501:   24(fvec2) FDiv 500 499
+                              Store 498(r051) 501
+             503:   24(fvec2) Load 29(inF0)
+             504:   24(fvec2) Load 30(inF1)
+             505:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 503 504
+                              Store 502(r052) 505
+             507:   24(fvec2) Load 29(inF0)
+             508:   24(fvec2) Load 30(inF1)
+             510:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 507 508 509
+                              Store 506(r053) 510
+             514:   26(ivec2) BitReverse 513
+                              Store 511(r054) 514
+             516:   24(fvec2) Load 29(inF0)
+             517:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 516
+                              Store 515(r055) 517
+             519:   24(fvec2) Load 29(inF0)
+             520:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 519
+                              Store 518(r056) 520
+             522:   24(fvec2) Load 29(inF0)
+             523:   24(fvec2) CompositeConstruct 165 165
+             524:   24(fvec2) CompositeConstruct 274 274
+             525:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 522 523 524
+                              Store 521(r057) 525
+             527:   24(fvec2) Load 29(inF0)
+             528:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 527
+                              Store 526(r058) 528
+             530:   24(fvec2) Load 29(inF0)
+             531:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 530
+                              Store 529(r059) 531
+             532:   24(fvec2) Load 29(inF0)
+             533:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 532
+                              Store 30(inF1) 533
+             534:   24(fvec2) Load 29(inF0)
+             535:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 534
+                              Store 31(inF2) 535
+             537:   24(fvec2) Load 29(inF0)
+             538:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 537
+                              Store 536(r060) 538
+             540:   24(fvec2) Load 29(inF0)
+             541:   24(fvec2) Load 30(inF1)
+             542:   24(fvec2) Load 31(inF2)
+             543:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 540 541 542
+                              Store 539(r061) 543
+             545:   24(fvec2) Load 29(inF0)
+             546:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 545
+                              Store 544(r062) 546
+             548:   24(fvec2) Load 29(inF0)
+             549:   24(fvec2) Load 30(inF1)
+             550:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 548 549
+                              Store 547(r063) 550
+             552:   24(fvec2) Load 29(inF0)
+             553:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 552
+                              Store 551(r064) 553
+             555:   24(fvec2) Load 29(inF0)
+             556:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 555
+                              Store 554(r065) 556
+             558:   24(fvec2) Load 29(inF0)
+             559:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 558
+                              Store 557(r066) 559
+                              ReturnValue 560
+                              FunctionEnd
+46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
+        41(inF0):     37(ptr) FunctionParameter
+        42(inF1):     37(ptr) FunctionParameter
+        43(inF2):     37(ptr) FunctionParameter
+        44(inU0):     39(ptr) FunctionParameter
+        45(inU1):     39(ptr) FunctionParameter
+              47:             Label
+       563(r000):    122(ptr) Variable Function
+       566(r001):     37(ptr) Variable Function
+       569(r002):     37(ptr) Variable Function
+       572(r003):    122(ptr) Variable Function
+       575(r004):     37(ptr) Variable Function
+       580(r005):    579(ptr) Variable Function
+       583(r006):     39(ptr) Variable Function
+       586(r007):     37(ptr) Variable Function
+       589(r009):     37(ptr) Variable Function
+       592(r010):     37(ptr) Variable Function
+       596(r011):     37(ptr) Variable Function
+       599(r012):     37(ptr) Variable Function
+       612(r013):     37(ptr) Variable Function
+       615(r014):     37(ptr) Variable Function
+       618(r015):     39(ptr) Variable Function
+       622(r016):     37(ptr) Variable Function
+       626(r017):     37(ptr) Variable Function
+       629(r018):     37(ptr) Variable Function
+       632(r019):     37(ptr) Variable Function
+       635(r020):     37(ptr) Variable Function
+       638(r021):     37(ptr) Variable Function
+       641(r022):     37(ptr) Variable Function
+       644(r023):     37(ptr) Variable Function
+       647(r024):      7(ptr) Variable Function
+       651(r025):      7(ptr) Variable Function
+       655(r029):     37(ptr) Variable Function
+       658(r030):     37(ptr) Variable Function
+       661(r031):     37(ptr) Variable Function
+       666(r032):     39(ptr) Variable Function
+       670(r033):     39(ptr) Variable Function
+       672(r034):     37(ptr) Variable Function
+       675(r036):     37(ptr) Variable Function
+       679(r037):     37(ptr) Variable Function
+       682(r038):     37(ptr) Variable Function
+       688(r039):     37(ptr) Variable Function
+       692(r040):    691(ptr) Variable Function
+       695(r041):    691(ptr) Variable Function
+       698(r042):     37(ptr) Variable Function
+      702(r039a):     37(ptr) Variable Function
+       707(r043):      7(ptr) Variable Function
+       710(r044):     37(ptr) Variable Function
+       713(r045):     37(ptr) Variable Function
+       717(r046):     37(ptr) Variable Function
+       720(r047):     37(ptr) Variable Function
+       724(r048):     37(ptr) Variable Function
+       728(r049):     37(ptr) Variable Function
+       731(r050):     37(ptr) Variable Function
+       735(r051):     37(ptr) Variable Function
+       738(r052):     37(ptr) Variable Function
+       742(r053):     37(ptr) Variable Function
+       746(r054):     37(ptr) Variable Function
+       750(r055):     39(ptr) Variable Function
+       753(r056):     37(ptr) Variable Function
+       756(r057):     37(ptr) Variable Function
+       759(r058):     37(ptr) Variable Function
+       764(r059):     37(ptr) Variable Function
+       767(r060):     37(ptr) Variable Function
+       774(r061):     37(ptr) Variable Function
+       777(r062):     37(ptr) Variable Function
+       782(r063):     37(ptr) Variable Function
+       785(r064):     37(ptr) Variable Function
+       789(r065):     37(ptr) Variable Function
+       792(r066):     37(ptr) Variable Function
+       795(r067):     37(ptr) Variable Function
+             564:   36(fvec3) Load 41(inF0)
+             565:   121(bool) All 564
+                              Store 563(r000) 565
+             567:   36(fvec3) Load 41(inF0)
+             568:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 567
+                              Store 566(r001) 568
+             570:   36(fvec3) Load 41(inF0)
+             571:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 570
+                              Store 569(r002) 571
+             573:   36(fvec3) Load 41(inF0)
+             574:   121(bool) Any 573
+                              Store 572(r003) 574
+             576:   36(fvec3) Load 41(inF0)
+             577:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 576
+                              Store 575(r004) 577
+             581:   36(fvec3) Load 41(inF0)
+             582:  578(ivec3) Bitcast 581
+                              Store 580(r005) 582
+             584:   36(fvec3) Load 41(inF0)
+             585:   38(ivec3) Bitcast 584
+                              Store 583(r006) 585
+             587:   38(ivec3) Load 44(inU0)
+             588:   36(fvec3) Bitcast 587
+                              Store 586(r007) 588
+             590:   36(fvec3) Load 41(inF0)
+             591:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 590
+                              Store 589(r009) 591
+             593:   36(fvec3) Load 41(inF0)
+             594:   36(fvec3) Load 42(inF1)
+             595:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 593 594
+                              Store 592(r010) 595
+             597:   36(fvec3) Load 41(inF0)
+             598:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 597
+                              Store 596(r011) 598
+             600:   36(fvec3) Load 41(inF0)
+             601:   36(fvec3) Load 42(inF1)
+             602:   36(fvec3) Load 43(inF2)
+             603:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 600 601 602
+                              Store 599(r012) 603
+             604:   36(fvec3) Load 41(inF0)
+             607:  606(bvec3) FOrdLessThan 604 605
+             608:   121(bool) Any 607
+                              SelectionMerge 610 None
+                              BranchConditional 608 609 610
+             609:               Label
+                                Kill
+             610:             Label
+             613:   36(fvec3) Load 41(inF0)
+             614:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 613
+                              Store 612(r013) 614
+             616:   36(fvec3) Load 41(inF0)
+             617:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 616
+                              Store 615(r014) 617
+             621:   38(ivec3) BitCount 620
+                              Store 618(r015) 621
+             623:   36(fvec3) Load 41(inF0)
+             624:   36(fvec3) Load 42(inF1)
+             625:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 623 624
+                              Store 622(r016) 625
+             627:   36(fvec3) Load 41(inF0)
+             628:   36(fvec3) DPdx 627
+                              Store 626(r017) 628
+             630:   36(fvec3) Load 41(inF0)
+             631:   36(fvec3) DPdxCoarse 630
+                              Store 629(r018) 631
+             633:   36(fvec3) Load 41(inF0)
+             634:   36(fvec3) DPdxFine 633
+                              Store 632(r019) 634
+             636:   36(fvec3) Load 41(inF0)
+             637:   36(fvec3) DPdy 636
+                              Store 635(r020) 637
+             639:   36(fvec3) Load 41(inF0)
+             640:   36(fvec3) DPdyCoarse 639
+                              Store 638(r021) 640
+             642:   36(fvec3) Load 41(inF0)
+             643:   36(fvec3) DPdyFine 642
+                              Store 641(r022) 643
+             645:   36(fvec3) Load 41(inF0)
+             646:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 645
+                              Store 644(r023) 646
+             648:   36(fvec3) Load 41(inF0)
+             649:   36(fvec3) Load 42(inF1)
+             650:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 648 649
+                              Store 647(r024) 650
+             652:   36(fvec3) Load 41(inF0)
+             653:   36(fvec3) Load 42(inF1)
+             654:    6(float) Dot 652 653
+                              Store 651(r025) 654
+             656:   36(fvec3) Load 41(inF0)
+             657:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 656
+                              Store 655(r029) 657
+             659:   36(fvec3) Load 41(inF0)
+             660:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 659
+                              Store 658(r030) 660
+             662:   36(fvec3) Load 41(inF0)
+             663:   36(fvec3) Load 42(inF1)
+             664:   36(fvec3) Load 43(inF2)
+             665:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 662 663 664
+                              Store 661(r031) 665
+             669:   38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 668
+                              Store 666(r032) 669
+             671:   38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 668
+                              Store 670(r033) 671
+             673:   36(fvec3) Load 41(inF0)
+             674:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 673
+                              Store 672(r034) 674
+             676:   36(fvec3) Load 41(inF0)
+             677:   36(fvec3) Load 42(inF1)
+             678:   36(fvec3) FMod 676 677
+                              Store 675(r036) 678
+             680:   36(fvec3) Load 41(inF0)
+             681:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 680
+                              Store 679(r037) 681
+             683:   36(fvec3) Load 41(inF0)
+             685:684(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 683
+             686:  578(ivec3) CompositeExtract 685 1
+                              Store 42(inF1) 686
+             687:   36(fvec3) CompositeExtract 685 0
+                              Store 682(r038) 687
+             689:   36(fvec3) Load 41(inF0)
+             690:   36(fvec3) Fwidth 689
+                              Store 688(r039) 690
+             693:   36(fvec3) Load 41(inF0)
+             694:  606(bvec3) IsInf 693
+                              Store 692(r040) 694
+             696:   36(fvec3) Load 41(inF0)
+             697:  606(bvec3) IsNan 696
+                              Store 695(r041) 697
+             699:   36(fvec3) Load 41(inF0)
+             700:   36(fvec3) Load 42(inF1)
+             701:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 699 700
+                              Store 698(r042) 701
+             703:   36(fvec3) Load 41(inF0)
+             704:   36(fvec3) Load 42(inF1)
+             705:   36(fvec3) Load 43(inF2)
+             706:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 703 704 705
+                              Store 702(r039a) 706
+             708:   36(fvec3) Load 41(inF0)
+             709:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 708
+                              Store 707(r043) 709
+             711:   36(fvec3) Load 41(inF0)
+             712:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 711
+                              Store 710(r044) 712
+             714:   36(fvec3) Load 41(inF0)
+             715:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 714
+             716:   36(fvec3) VectorTimesScalar 715 253
+                              Store 713(r045) 716
+             718:   36(fvec3) Load 41(inF0)
+             719:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 718
+                              Store 717(r046) 719
+             721:   36(fvec3) Load 41(inF0)
+             722:   36(fvec3) Load 42(inF1)
+             723:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 721 722
+                              Store 720(r047) 723
+             725:   36(fvec3) Load 41(inF0)
+             726:   36(fvec3) Load 42(inF1)
+             727:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 725 726
+                              Store 724(r048) 727
+             729:   36(fvec3) Load 41(inF0)
+             730:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 729
+                              Store 728(r049) 730
+             732:   36(fvec3) Load 41(inF0)
+             733:   36(fvec3) Load 42(inF1)
+             734:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 732 733
+                              Store 731(r050) 734
+             736:   36(fvec3) Load 41(inF0)
+             737:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 736
+                              Store 735(r051) 737
+             739:   36(fvec3) Load 41(inF0)
+             740:   36(fvec3) CompositeConstruct 274 274 274
+             741:   36(fvec3) FDiv 740 739
+                              Store 738(r052) 741
+             743:   36(fvec3) Load 41(inF0)
+             744:   36(fvec3) Load 42(inF1)
+             745:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 743 744
+                              Store 742(r053) 745
+             747:   36(fvec3) Load 41(inF0)
+             748:   36(fvec3) Load 42(inF1)
+             749:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 747 748 509
+                              Store 746(r054) 749
+             752:   38(ivec3) BitReverse 751
+                              Store 750(r055) 752
+             754:   36(fvec3) Load 41(inF0)
+             755:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 754
+                              Store 753(r056) 755
+             757:   36(fvec3) Load 41(inF0)
+             758:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 757
+                              Store 756(r057) 758
+             760:   36(fvec3) Load 41(inF0)
+             761:   36(fvec3) CompositeConstruct 165 165 165
+             762:   36(fvec3) CompositeConstruct 274 274 274
+             763:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 760 761 762
+                              Store 759(r058) 763
+             765:   36(fvec3) Load 41(inF0)
+             766:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 765
+                              Store 764(r059) 766
+             768:   36(fvec3) Load 41(inF0)
+             769:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 768
+                              Store 767(r060) 769
+             770:   36(fvec3) Load 41(inF0)
+             771:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 770
+                              Store 42(inF1) 771
+             772:   36(fvec3) Load 41(inF0)
+             773:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 772
+                              Store 43(inF2) 773
+             775:   36(fvec3) Load 41(inF0)
+             776:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 775
+                              Store 774(r061) 776
+             778:   36(fvec3) Load 41(inF0)
+             779:   36(fvec3) Load 42(inF1)
+             780:   36(fvec3) Load 43(inF2)
+             781:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 778 779 780
+                              Store 777(r062) 781
+             783:   36(fvec3) Load 41(inF0)
+             784:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 783
+                              Store 782(r063) 784
+             786:   36(fvec3) Load 41(inF0)
+             787:   36(fvec3) Load 42(inF1)
+             788:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 786 787
+                              Store 785(r064) 788
+             790:   36(fvec3) Load 41(inF0)
+             791:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 790
+                              Store 789(r065) 791
+             793:   36(fvec3) Load 41(inF0)
+             794:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 793
+                              Store 792(r066) 794
+             796:   36(fvec3) Load 41(inF0)
+             797:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 796
+                              Store 795(r067) 797
+                              ReturnValue 799
+                              FunctionEnd
+54(PixelShaderFunction2x2(mf22;mf22;mf22;):          48 Function None 50
+        51(inF0):     49(ptr) FunctionParameter
+        52(inF1):     49(ptr) FunctionParameter
+        53(inF2):     49(ptr) FunctionParameter
+              55:             Label
+      1056(r000):    122(ptr) Variable Function
+      1059(r001):     49(ptr) Variable Function
+      1064(r003):    122(ptr) Variable Function
+      1067(r004):     49(ptr) Variable Function
+      1070(r005):     49(ptr) Variable Function
+      1073(r006):     49(ptr) Variable Function
+      1077(r007):     49(ptr) Variable Function
+      1088(r008):     49(ptr) Variable Function
+      1093(r009):     49(ptr) Variable Function
+      1096(r010):     49(ptr) Variable Function
+      1099(r011):     49(ptr) Variable Function
+      1102(r012):     49(ptr) Variable Function
+      1105(r013):     49(ptr) Variable Function
+      1108(r014):     49(ptr) Variable Function
+      1111(r015):     49(ptr) Variable Function
+      1114(r016):     49(ptr) Variable Function
+      1117(r017):     49(ptr) Variable Function
+      1120(r018):      7(ptr) Variable Function
+      1123(r019):     49(ptr) Variable Function
+      1126(R020):     49(ptr) Variable Function
+      1129(r021):     49(ptr) Variable Function
+      1132(r022):     49(ptr) Variable Function
+      1142(r023):     49(ptr) Variable Function
+      1145(r024):     49(ptr) Variable Function
+      1151(r025):     49(ptr) Variable Function
+      1154(r026):     49(ptr) Variable Function
+     1158(r026a):     49(ptr) Variable Function
+      1163(r027):     49(ptr) Variable Function
+      1166(r028):     49(ptr) Variable Function
+      1170(r029):     49(ptr) Variable Function
+      1173(r030):     49(ptr) Variable Function
+      1177(r031):     49(ptr) Variable Function
+      1181(r032):     49(ptr) Variable Function
+      1185(r033):     49(ptr) Variable Function
+      1188(r034):     49(ptr) Variable Function
+      1191(r035):     49(ptr) Variable Function
+      1194(r036):     49(ptr) Variable Function
+      1199(r037):     49(ptr) Variable Function
+      1202(r038):     49(ptr) Variable Function
+      1209(r039):     49(ptr) Variable Function
+      1212(r049):     49(ptr) Variable Function
+      1217(r041):     49(ptr) Variable Function
+      1220(r042):     49(ptr) Variable Function
+      1224(r043):     49(ptr) Variable Function
+      1227(r044):     49(ptr) Variable Function
+      1232(r046):     49(ptr) Variable Function
+            1057:          48 Load 51(inF0)
+            1058:   121(bool) All 1057
+                              Store 1056(r000) 1058
+            1060:          48 Load 51(inF0)
+            1061:          48 ExtInst 1(GLSL.std.450) 4(FAbs) 1060
+                              Store 1059(r001) 1061
+            1062:          48 Load 51(inF0)
+            1063:          48 ExtInst 1(GLSL.std.450) 17(Acos) 1062
+            1065:          48 Load 51(inF0)
+            1066:   121(bool) Any 1065
+                              Store 1064(r003) 1066
+            1068:          48 Load 51(inF0)
+            1069:          48 ExtInst 1(GLSL.std.450) 16(Asin) 1068
+                              Store 1067(r004) 1069
+            1071:          48 Load 51(inF0)
+            1072:          48 ExtInst 1(GLSL.std.450) 18(Atan) 1071
+                              Store 1070(r005) 1072
+            1074:          48 Load 51(inF0)
+            1075:          48 Load 52(inF1)
+            1076:          48 ExtInst 1(GLSL.std.450) 25(Atan2) 1074 1075
+                              Store 1073(r006) 1076
+            1078:          48 Load 51(inF0)
+            1079:          48 ExtInst 1(GLSL.std.450) 9(Ceil) 1078
+                              Store 1077(r007) 1079
+            1080:          48 Load 51(inF0)
+            1083:        1082 FOrdLessThan 1080 1081
+            1084:   121(bool) Any 1083
+                              SelectionMerge 1086 None
+                              BranchConditional 1084 1085 1086
+            1085:               Label
+                                Kill
+            1086:             Label
+            1089:          48 Load 51(inF0)
+            1090:          48 Load 52(inF1)
+            1091:          48 Load 53(inF2)
+            1092:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1089 1090 1091
+                              Store 1088(r008) 1092
+            1094:          48 Load 51(inF0)
+            1095:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1094
+                              Store 1093(r009) 1095
+            1097:          48 Load 51(inF0)
+            1098:          48 ExtInst 1(GLSL.std.450) 20(Cosh) 1097
+                              Store 1096(r010) 1098
+            1100:          48 Load 51(inF0)
+            1101:          48 DPdx 1100
+                              Store 1099(r011) 1101
+            1103:          48 Load 51(inF0)
+            1104:          48 DPdxCoarse 1103
+                              Store 1102(r012) 1104
+            1106:          48 Load 51(inF0)
+            1107:          48 DPdxFine 1106
+                              Store 1105(r013) 1107
+            1109:          48 Load 51(inF0)
+            1110:          48 DPdy 1109
+                              Store 1108(r014) 1110
+            1112:          48 Load 51(inF0)
+            1113:          48 DPdyCoarse 1112
+                              Store 1111(r015) 1113
+            1115:          48 Load 51(inF0)
+            1116:          48 DPdyFine 1115
+                              Store 1114(r016) 1116
+            1118:          48 Load 51(inF0)
+            1119:          48 ExtInst 1(GLSL.std.450) 12(Degrees) 1118
+                              Store 1117(r017) 1119
+            1121:          48 Load 51(inF0)
+            1122:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1121
+                              Store 1120(r018) 1122
+            1124:          48 Load 51(inF0)
+            1125:          48 ExtInst 1(GLSL.std.450) 27(Exp) 1124
+                              Store 1123(r019) 1125
+            1127:          48 Load 51(inF0)
+            1128:          48 ExtInst 1(GLSL.std.450) 29(Exp2) 1127
+                              Store 1126(R020) 1128
+            1130:          48 Load 51(inF0)
+            1131:          48 ExtInst 1(GLSL.std.450) 8(Floor) 1130
+                              Store 1129(r021) 1131
+            1133:          48 Load 51(inF0)
+            1134:          48 Load 52(inF1)
+            1135:   24(fvec2) CompositeExtract 1133 0
+            1136:   24(fvec2) CompositeExtract 1134 0
+            1137:   24(fvec2) FMod 1135 1136
+            1138:   24(fvec2) CompositeExtract 1133 1
+            1139:   24(fvec2) CompositeExtract 1134 1
+            1140:   24(fvec2) FMod 1138 1139
+            1141:          48 CompositeConstruct 1137 1140
+                              Store 1132(r022) 1141
+            1143:          48 Load 51(inF0)
+            1144:          48 ExtInst 1(GLSL.std.450) 10(Fract) 1143
+                              Store 1142(r023) 1144
+            1146:          48 Load 51(inF0)
+            1148:1147(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1146
+            1149:  342(ivec2) CompositeExtract 1148 1
+                              Store 52(inF1) 1149
+            1150:          48 CompositeExtract 1148 0
+                              Store 1145(r024) 1150
+            1152:          48 Load 51(inF0)
+            1153:          48 Fwidth 1152
+                              Store 1151(r025) 1153
+            1155:          48 Load 51(inF0)
+            1156:          48 Load 52(inF1)
+            1157:          48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1155 1156
+                              Store 1154(r026) 1157
+            1159:          48 Load 51(inF0)
+            1160:          48 Load 52(inF1)
+            1161:          48 Load 53(inF2)
+            1162:          48 ExtInst 1(GLSL.std.450) 46(FMix) 1159 1160 1161
+                              Store 1158(r026a) 1162
+            1164:          48 Load 51(inF0)
+            1165:          48 ExtInst 1(GLSL.std.450) 28(Log) 1164
+                              Store 1163(r027) 1165
+            1167:          48 Load 51(inF0)
+            1168:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1167
+            1169:          48 MatrixTimesScalar 1168 253
+                              Store 1166(r028) 1169
+            1171:          48 Load 51(inF0)
+            1172:          48 ExtInst 1(GLSL.std.450) 30(Log2) 1171
+                              Store 1170(r029) 1172
+            1174:          48 Load 51(inF0)
+            1175:          48 Load 52(inF1)
+            1176:          48 ExtInst 1(GLSL.std.450) 40(FMax) 1174 1175
+                              Store 1173(r030) 1176
+            1178:          48 Load 51(inF0)
+            1179:          48 Load 52(inF1)
+            1180:          48 ExtInst 1(GLSL.std.450) 37(FMin) 1178 1179
+                              Store 1177(r031) 1180
+            1182:          48 Load 51(inF0)
+            1183:          48 Load 52(inF1)
+            1184:          48 ExtInst 1(GLSL.std.450) 26(Pow) 1182 1183
+                              Store 1181(r032) 1184
+            1186:          48 Load 51(inF0)
+            1187:          48 ExtInst 1(GLSL.std.450) 11(Radians) 1186
+                              Store 1185(r033) 1187
+            1189:          48 Load 51(inF0)
+            1190:          48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1189
+                              Store 1188(r034) 1190
+            1192:          48 Load 51(inF0)
+            1193:          48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1192
+                              Store 1191(r035) 1193
+            1195:          48 Load 51(inF0)
+            1196:   24(fvec2) CompositeConstruct 165 165
+            1197:   24(fvec2) CompositeConstruct 274 274
+            1198:          48 ExtInst 1(GLSL.std.450) 43(FClamp) 1195 1196 1197
+                              Store 1194(r036) 1198
+            1200:          48 Load 51(inF0)
+            1201:          48 ExtInst 1(GLSL.std.450) 6(FSign) 1200
+                              Store 1199(r037) 1201
+            1203:          48 Load 51(inF0)
+            1204:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1203
+                              Store 1202(r038) 1204
+            1205:          48 Load 51(inF0)
+            1206:          48 ExtInst 1(GLSL.std.450) 13(Sin) 1205
+                              Store 52(inF1) 1206
+            1207:          48 Load 51(inF0)
+            1208:          48 ExtInst 1(GLSL.std.450) 14(Cos) 1207
+                              Store 53(inF2) 1208
+            1210:          48 Load 51(inF0)
+            1211:          48 ExtInst 1(GLSL.std.450) 19(Sinh) 1210
+                              Store 1209(r039) 1211
+            1213:          48 Load 51(inF0)
+            1214:          48 Load 52(inF1)
+            1215:          48 Load 53(inF2)
+            1216:          48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1213 1214 1215
+                              Store 1212(r049) 1216
+            1218:          48 Load 51(inF0)
+            1219:          48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1218
+                              Store 1217(r041) 1219
+            1221:          48 Load 51(inF0)
+            1222:          48 Load 52(inF1)
+            1223:          48 ExtInst 1(GLSL.std.450) 48(Step) 1221 1222
+                              Store 1220(r042) 1223
+            1225:          48 Load 51(inF0)
+            1226:          48 ExtInst 1(GLSL.std.450) 15(Tan) 1225
+                              Store 1224(r043) 1226
+            1228:          48 Load 51(inF0)
+            1229:          48 ExtInst 1(GLSL.std.450) 21(Tanh) 1228
+                              Store 1227(r044) 1229
+            1230:          48 Load 51(inF0)
+            1231:          48 Transpose 1230
+            1233:          48 Load 51(inF0)
+            1234:          48 ExtInst 1(GLSL.std.450) 3(Trunc) 1233
+                              Store 1232(r046) 1234
+                              ReturnValue 1236
+                              FunctionEnd
+62(PixelShaderFunction3x3(mf33;mf33;mf33;):          56 Function None 58
+        59(inF0):     57(ptr) FunctionParameter
+        60(inF1):     57(ptr) FunctionParameter
+        61(inF2):     57(ptr) FunctionParameter
+              63:             Label
+      1239(r000):    122(ptr) Variable Function
+      1242(r001):     57(ptr) Variable Function
+      1247(r003):    122(ptr) Variable Function
+      1250(r004):     57(ptr) Variable Function
+      1253(r005):     57(ptr) Variable Function
+      1256(r006):     57(ptr) Variable Function
+      1260(r007):     57(ptr) Variable Function
+      1271(r008):     57(ptr) Variable Function
+      1276(r009):     57(ptr) Variable Function
+      1279(r010):     57(ptr) Variable Function
+      1282(r011):     57(ptr) Variable Function
+      1285(r012):     57(ptr) Variable Function
+      1288(r013):     57(ptr) Variable Function
+      1291(r014):     57(ptr) Variable Function
+      1294(r015):     57(ptr) Variable Function
+      1297(r016):     57(ptr) Variable Function
+      1300(r017):     57(ptr) Variable Function
+      1303(r018):      7(ptr) Variable Function
+      1306(r019):     57(ptr) Variable Function
+      1309(R020):     57(ptr) Variable Function
+      1312(r021):     57(ptr) Variable Function
+      1315(r022):     57(ptr) Variable Function
+      1328(r023):     57(ptr) Variable Function
+      1331(r024):     57(ptr) Variable Function
+      1337(r025):     57(ptr) Variable Function
+      1340(r026):     57(ptr) Variable Function
+     1344(r026a):     57(ptr) Variable Function
+      1349(r027):     57(ptr) Variable Function
+      1352(r028):     57(ptr) Variable Function
+      1356(r029):     57(ptr) Variable Function
+      1359(r030):     57(ptr) Variable Function
+      1363(r031):     57(ptr) Variable Function
+      1367(r032):     57(ptr) Variable Function
+      1371(r033):     57(ptr) Variable Function
+      1374(r034):     57(ptr) Variable Function
+      1377(r035):     57(ptr) Variable Function
+      1380(r036):     57(ptr) Variable Function
+      1385(r037):     57(ptr) Variable Function
+      1388(r038):     57(ptr) Variable Function
+      1395(r039):     57(ptr) Variable Function
+      1398(r049):     57(ptr) Variable Function
+      1403(r041):     57(ptr) Variable Function
+      1406(r042):     57(ptr) Variable Function
+      1410(r043):     57(ptr) Variable Function
+      1413(r044):     57(ptr) Variable Function
+      1418(r046):     57(ptr) Variable Function
+            1240:          56 Load 59(inF0)
+            1241:   121(bool) All 1240
+                              Store 1239(r000) 1241
+            1243:          56 Load 59(inF0)
+            1244:          56 ExtInst 1(GLSL.std.450) 4(FAbs) 1243
+                              Store 1242(r001) 1244
+            1245:          56 Load 59(inF0)
+            1246:          56 ExtInst 1(GLSL.std.450) 17(Acos) 1245
+            1248:          56 Load 59(inF0)
+            1249:   121(bool) Any 1248
+                              Store 1247(r003) 1249
+            1251:          56 Load 59(inF0)
+            1252:          56 ExtInst 1(GLSL.std.450) 16(Asin) 1251
+                              Store 1250(r004) 1252
+            1254:          56 Load 59(inF0)
+            1255:          56 ExtInst 1(GLSL.std.450) 18(Atan) 1254
+                              Store 1253(r005) 1255
+            1257:          56 Load 59(inF0)
+            1258:          56 Load 60(inF1)
+            1259:          56 ExtInst 1(GLSL.std.450) 25(Atan2) 1257 1258
+                              Store 1256(r006) 1259
+            1261:          56 Load 59(inF0)
+            1262:          56 ExtInst 1(GLSL.std.450) 9(Ceil) 1261
+                              Store 1260(r007) 1262
+            1263:          56 Load 59(inF0)
+            1266:        1265 FOrdLessThan 1263 1264
+            1267:   121(bool) Any 1266
+                              SelectionMerge 1269 None
+                              BranchConditional 1267 1268 1269
+            1268:               Label
+                                Kill
+            1269:             Label
+            1272:          56 Load 59(inF0)
+            1273:          56 Load 60(inF1)
+            1274:          56 Load 61(inF2)
+            1275:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1272 1273 1274
+                              Store 1271(r008) 1275
+            1277:          56 Load 59(inF0)
+            1278:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1277
+                              Store 1276(r009) 1278
+            1280:          56 Load 59(inF0)
+            1281:          56 ExtInst 1(GLSL.std.450) 20(Cosh) 1280
+                              Store 1279(r010) 1281
+            1283:          56 Load 59(inF0)
+            1284:          56 DPdx 1283
+                              Store 1282(r011) 1284
+            1286:          56 Load 59(inF0)
+            1287:          56 DPdxCoarse 1286
+                              Store 1285(r012) 1287
+            1289:          56 Load 59(inF0)
+            1290:          56 DPdxFine 1289
+                              Store 1288(r013) 1290
+            1292:          56 Load 59(inF0)
+            1293:          56 DPdy 1292
+                              Store 1291(r014) 1293
+            1295:          56 Load 59(inF0)
+            1296:          56 DPdyCoarse 1295
+                              Store 1294(r015) 1296
+            1298:          56 Load 59(inF0)
+            1299:          56 DPdyFine 1298
+                              Store 1297(r016) 1299
+            1301:          56 Load 59(inF0)
+            1302:          56 ExtInst 1(GLSL.std.450) 12(Degrees) 1301
+                              Store 1300(r017) 1302
+            1304:          56 Load 59(inF0)
+            1305:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1304
+                              Store 1303(r018) 1305
+            1307:          56 Load 59(inF0)
+            1308:          56 ExtInst 1(GLSL.std.450) 27(Exp) 1307
+                              Store 1306(r019) 1308
+            1310:          56 Load 59(inF0)
+            1311:          56 ExtInst 1(GLSL.std.450) 29(Exp2) 1310
+                              Store 1309(R020) 1311
+            1313:          56 Load 59(inF0)
+            1314:          56 ExtInst 1(GLSL.std.450) 8(Floor) 1313
+                              Store 1312(r021) 1314
+            1316:          56 Load 59(inF0)
+            1317:          56 Load 60(inF1)
+            1318:   36(fvec3) CompositeExtract 1316 0
+            1319:   36(fvec3) CompositeExtract 1317 0
+            1320:   36(fvec3) FMod 1318 1319
+            1321:   36(fvec3) CompositeExtract 1316 1
+            1322:   36(fvec3) CompositeExtract 1317 1
+            1323:   36(fvec3) FMod 1321 1322
+            1324:   36(fvec3) CompositeExtract 1316 2
+            1325:   36(fvec3) CompositeExtract 1317 2
+            1326:   36(fvec3) FMod 1324 1325
+            1327:          56 CompositeConstruct 1320 1323 1326
+                              Store 1315(r022) 1327
+            1329:          56 Load 59(inF0)
+            1330:          56 ExtInst 1(GLSL.std.450) 10(Fract) 1329
+                              Store 1328(r023) 1330
+            1332:          56 Load 59(inF0)
+            1334:1333(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1332
+            1335:  578(ivec3) CompositeExtract 1334 1
+                              Store 60(inF1) 1335
+            1336:          56 CompositeExtract 1334 0
+                              Store 1331(r024) 1336
+            1338:          56 Load 59(inF0)
+            1339:          56 Fwidth 1338
+                              Store 1337(r025) 1339
+            1341:          56 Load 59(inF0)
+            1342:          56 Load 60(inF1)
+            1343:          56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1341 1342
+                              Store 1340(r026) 1343
+            1345:          56 Load 59(inF0)
+            1346:          56 Load 60(inF1)
+            1347:          56 Load 61(inF2)
+            1348:          56 ExtInst 1(GLSL.std.450) 46(FMix) 1345 1346 1347
+                              Store 1344(r026a) 1348
+            1350:          56 Load 59(inF0)
+            1351:          56 ExtInst 1(GLSL.std.450) 28(Log) 1350
+                              Store 1349(r027) 1351
+            1353:          56 Load 59(inF0)
+            1354:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1353
+            1355:          56 MatrixTimesScalar 1354 253
+                              Store 1352(r028) 1355
+            1357:          56 Load 59(inF0)
+            1358:          56 ExtInst 1(GLSL.std.450) 30(Log2) 1357
+                              Store 1356(r029) 1358
+            1360:          56 Load 59(inF0)
+            1361:          56 Load 60(inF1)
+            1362:          56 ExtInst 1(GLSL.std.450) 40(FMax) 1360 1361
+                              Store 1359(r030) 1362
+            1364:          56 Load 59(inF0)
+            1365:          56 Load 60(inF1)
+            1366:          56 ExtInst 1(GLSL.std.450) 37(FMin) 1364 1365
+                              Store 1363(r031) 1366
+            1368:          56 Load 59(inF0)
+            1369:          56 Load 60(inF1)
+            1370:          56 ExtInst 1(GLSL.std.450) 26(Pow) 1368 1369
+                              Store 1367(r032) 1370
+            1372:          56 Load 59(inF0)
+            1373:          56 ExtInst 1(GLSL.std.450) 11(Radians) 1372
+                              Store 1371(r033) 1373
+            1375:          56 Load 59(inF0)
+            1376:          56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1375
+                              Store 1374(r034) 1376
+            1378:          56 Load 59(inF0)
+            1379:          56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1378
+                              Store 1377(r035) 1379
+            1381:          56 Load 59(inF0)
+            1382:   36(fvec3) CompositeConstruct 165 165 165
+            1383:   36(fvec3) CompositeConstruct 274 274 274
+            1384:          56 ExtInst 1(GLSL.std.450) 43(FClamp) 1381 1382 1383
+                              Store 1380(r036) 1384
+            1386:          56 Load 59(inF0)
+            1387:          56 ExtInst 1(GLSL.std.450) 6(FSign) 1386
+                              Store 1385(r037) 1387
+            1389:          56 Load 59(inF0)
+            1390:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1389
+                              Store 1388(r038) 1390
+            1391:          56 Load 59(inF0)
+            1392:          56 ExtInst 1(GLSL.std.450) 13(Sin) 1391
+                              Store 60(inF1) 1392
+            1393:          56 Load 59(inF0)
+            1394:          56 ExtInst 1(GLSL.std.450) 14(Cos) 1393
+                              Store 61(inF2) 1394
+            1396:          56 Load 59(inF0)
+            1397:          56 ExtInst 1(GLSL.std.450) 19(Sinh) 1396
+                              Store 1395(r039) 1397
+            1399:          56 Load 59(inF0)
+            1400:          56 Load 60(inF1)
+            1401:          56 Load 61(inF2)
+            1402:          56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1399 1400 1401
+                              Store 1398(r049) 1402
+            1404:          56 Load 59(inF0)
+            1405:          56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1404
+                              Store 1403(r041) 1405
+            1407:          56 Load 59(inF0)
+            1408:          56 Load 60(inF1)
+            1409:          56 ExtInst 1(GLSL.std.450) 48(Step) 1407 1408
+                              Store 1406(r042) 1409
+            1411:          56 Load 59(inF0)
+            1412:          56 ExtInst 1(GLSL.std.450) 15(Tan) 1411
+                              Store 1410(r043) 1412
+            1414:          56 Load 59(inF0)
+            1415:          56 ExtInst 1(GLSL.std.450) 21(Tanh) 1414
+                              Store 1413(r044) 1415
+            1416:          56 Load 59(inF0)
+            1417:          56 Transpose 1416
+            1419:          56 Load 59(inF0)
+            1420:          56 ExtInst 1(GLSL.std.450) 3(Trunc) 1419
+                              Store 1418(r046) 1420
+                              ReturnValue 1422
+                              FunctionEnd
+71(PixelShaderFunction4x4(mf44;mf44;mf44;):          65 Function None 67
+        68(inF0):     66(ptr) FunctionParameter
+        69(inF1):     66(ptr) FunctionParameter
+        70(inF2):     66(ptr) FunctionParameter
+              72:             Label
+      1425(r000):    122(ptr) Variable Function
+      1428(r001):     66(ptr) Variable Function
+      1433(r003):    122(ptr) Variable Function
+      1436(r004):     66(ptr) Variable Function
+      1439(r005):     66(ptr) Variable Function
+      1442(r006):     66(ptr) Variable Function
+      1446(r007):     66(ptr) Variable Function
+      1457(r008):     66(ptr) Variable Function
+      1462(r009):     66(ptr) Variable Function
+      1465(r010):     66(ptr) Variable Function
+      1468(r011):     66(ptr) Variable Function
+      1471(r012):     66(ptr) Variable Function
+      1474(r013):     66(ptr) Variable Function
+      1477(r014):     66(ptr) Variable Function
+      1480(r015):     66(ptr) Variable Function
+      1483(r016):     66(ptr) Variable Function
+      1486(r017):     66(ptr) Variable Function
+      1489(r018):      7(ptr) Variable Function
+      1492(r019):     66(ptr) Variable Function
+      1495(R020):     66(ptr) Variable Function
+      1498(r021):     66(ptr) Variable Function
+      1501(r022):     66(ptr) Variable Function
+      1517(r023):     66(ptr) Variable Function
+      1520(r024):     66(ptr) Variable Function
+      1526(r025):     66(ptr) Variable Function
+      1529(r026):     66(ptr) Variable Function
+     1533(r026a):     66(ptr) Variable Function
+      1538(r027):     66(ptr) Variable Function
+      1541(r028):     66(ptr) Variable Function
+      1545(r029):     66(ptr) Variable Function
+      1548(r030):     66(ptr) Variable Function
+      1552(r031):     66(ptr) Variable Function
+      1556(r032):     66(ptr) Variable Function
+      1560(r033):     66(ptr) Variable Function
+      1563(r034):     66(ptr) Variable Function
+      1566(r035):     66(ptr) Variable Function
+      1569(r036):     66(ptr) Variable Function
+      1574(r037):     66(ptr) Variable Function
+      1577(r038):     66(ptr) Variable Function
+      1584(r039):     66(ptr) Variable Function
+      1587(r049):     66(ptr) Variable Function
+      1592(r041):     66(ptr) Variable Function
+      1595(r042):     66(ptr) Variable Function
+      1599(r043):     66(ptr) Variable Function
+      1602(r044):     66(ptr) Variable Function
+      1607(r046):     66(ptr) Variable Function
+            1426:          65 Load 68(inF0)
+            1427:   121(bool) All 1426
+                              Store 1425(r000) 1427
+            1429:          65 Load 68(inF0)
+            1430:          65 ExtInst 1(GLSL.std.450) 4(FAbs) 1429
+                              Store 1428(r001) 1430
+            1431:          65 Load 68(inF0)
+            1432:          65 ExtInst 1(GLSL.std.450) 17(Acos) 1431
+            1434:          65 Load 68(inF0)
+            1435:   121(bool) Any 1434
+                              Store 1433(r003) 1435
+            1437:          65 Load 68(inF0)
+            1438:          65 ExtInst 1(GLSL.std.450) 16(Asin) 1437
+                              Store 1436(r004) 1438
+            1440:          65 Load 68(inF0)
+            1441:          65 ExtInst 1(GLSL.std.450) 18(Atan) 1440
+                              Store 1439(r005) 1441
+            1443:          65 Load 68(inF0)
+            1444:          65 Load 69(inF1)
+            1445:          65 ExtInst 1(GLSL.std.450) 25(Atan2) 1443 1444
+                              Store 1442(r006) 1445
+            1447:          65 Load 68(inF0)
+            1448:          65 ExtInst 1(GLSL.std.450) 9(Ceil) 1447
+                              Store 1446(r007) 1448
+            1449:          65 Load 68(inF0)
+            1452:        1451 FOrdLessThan 1449 1450
+            1453:   121(bool) Any 1452
+                              SelectionMerge 1455 None
+                              BranchConditional 1453 1454 1455
+            1454:               Label
+                                Kill
+            1455:             Label
+            1458:          65 Load 68(inF0)
+            1459:          65 Load 69(inF1)
+            1460:          65 Load 70(inF2)
+            1461:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1458 1459 1460
+                              Store 1457(r008) 1461
+            1463:          65 Load 68(inF0)
+            1464:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1463
+                              Store 1462(r009) 1464
+            1466:          65 Load 68(inF0)
+            1467:          65 ExtInst 1(GLSL.std.450) 20(Cosh) 1466
+                              Store 1465(r010) 1467
+            1469:          65 Load 68(inF0)
+            1470:          65 DPdx 1469
+                              Store 1468(r011) 1470
+            1472:          65 Load 68(inF0)
+            1473:          65 DPdxCoarse 1472
+                              Store 1471(r012) 1473
+            1475:          65 Load 68(inF0)
+            1476:          65 DPdxFine 1475
+                              Store 1474(r013) 1476
+            1478:          65 Load 68(inF0)
+            1479:          65 DPdy 1478
+                              Store 1477(r014) 1479
+            1481:          65 Load 68(inF0)
+            1482:          65 DPdyCoarse 1481
+                              Store 1480(r015) 1482
+            1484:          65 Load 68(inF0)
+            1485:          65 DPdyFine 1484
+                              Store 1483(r016) 1485
+            1487:          65 Load 68(inF0)
+            1488:          65 ExtInst 1(GLSL.std.450) 12(Degrees) 1487
+                              Store 1486(r017) 1488
+            1490:          65 Load 68(inF0)
+            1491:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1490
+                              Store 1489(r018) 1491
+            1493:          65 Load 68(inF0)
+            1494:          65 ExtInst 1(GLSL.std.450) 27(Exp) 1493
+                              Store 1492(r019) 1494
+            1496:          65 Load 68(inF0)
+            1497:          65 ExtInst 1(GLSL.std.450) 29(Exp2) 1496
+                              Store 1495(R020) 1497
+            1499:          65 Load 68(inF0)
+            1500:          65 ExtInst 1(GLSL.std.450) 8(Floor) 1499
+                              Store 1498(r021) 1500
+            1502:          65 Load 68(inF0)
+            1503:          65 Load 69(inF1)
+            1504:   64(fvec4) CompositeExtract 1502 0
+            1505:   64(fvec4) CompositeExtract 1503 0
+            1506:   64(fvec4) FMod 1504 1505
+            1507:   64(fvec4) CompositeExtract 1502 1
+            1508:   64(fvec4) CompositeExtract 1503 1
+            1509:   64(fvec4) FMod 1507 1508
+            1510:   64(fvec4) CompositeExtract 1502 2
+            1511:   64(fvec4) CompositeExtract 1503 2
+            1512:   64(fvec4) FMod 1510 1511
+            1513:   64(fvec4) CompositeExtract 1502 3
+            1514:   64(fvec4) CompositeExtract 1503 3
+            1515:   64(fvec4) FMod 1513 1514
+            1516:          65 CompositeConstruct 1506 1509 1512 1515
+                              Store 1501(r022) 1516
+            1518:          65 Load 68(inF0)
+            1519:          65 ExtInst 1(GLSL.std.450) 10(Fract) 1518
+                              Store 1517(r023) 1519
+            1521:          65 Load 68(inF0)
+            1523:1522(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1521
+            1524:  819(ivec4) CompositeExtract 1523 1
+                              Store 69(inF1) 1524
+            1525:          65 CompositeExtract 1523 0
+                              Store 1520(r024) 1525
+            1527:          65 Load 68(inF0)
+            1528:          65 Fwidth 1527
+                              Store 1526(r025) 1528
+            1530:          65 Load 68(inF0)
+            1531:          65 Load 69(inF1)
+            1532:          65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1530 1531
+                              Store 1529(r026) 1532
+            1534:          65 Load 68(inF0)
+            1535:          65 Load 69(inF1)
+            1536:          65 Load 70(inF2)
+            1537:          65 ExtInst 1(GLSL.std.450) 46(FMix) 1534 1535 1536
+                              Store 1533(r026a) 1537
+            1539:          65 Load 68(inF0)
+            1540:          65 ExtInst 1(GLSL.std.450) 28(Log) 1539
+                              Store 1538(r027) 1540
+            1542:          65 Load 68(inF0)
+            1543:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1542
+            1544:          65 MatrixTimesScalar 1543 253
+                              Store 1541(r028) 1544
+            1546:          65 Load 68(inF0)
+            1547:          65 ExtInst 1(GLSL.std.450) 30(Log2) 1546
+                              Store 1545(r029) 1547
+            1549:          65 Load 68(inF0)
+            1550:          65 Load 69(inF1)
+            1551:          65 ExtInst 1(GLSL.std.450) 40(FMax) 1549 1550
+                              Store 1548(r030) 1551
+            1553:          65 Load 68(inF0)
+            1554:          65 Load 69(inF1)
+            1555:          65 ExtInst 1(GLSL.std.450) 37(FMin) 1553 1554
+                              Store 1552(r031) 1555
+            1557:          65 Load 68(inF0)
+            1558:          65 Load 69(inF1)
+            1559:          65 ExtInst 1(GLSL.std.450) 26(Pow) 1557 1558
+                              Store 1556(r032) 1559
+            1561:          65 Load 68(inF0)
+            1562:          65 ExtInst 1(GLSL.std.450) 11(Radians) 1561
+                              Store 1560(r033) 1562
+            1564:          65 Load 68(inF0)
+            1565:          65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1564
+                              Store 1563(r034) 1565
+            1567:          65 Load 68(inF0)
+            1568:          65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1567
+                              Store 1566(r035) 1568
+            1570:          65 Load 68(inF0)
+            1571:   64(fvec4) CompositeConstruct 165 165 165 165
+            1572:   64(fvec4) CompositeConstruct 274 274 274 274
+            1573:          65 ExtInst 1(GLSL.std.450) 43(FClamp) 1570 1571 1572
+                              Store 1569(r036) 1573
+            1575:          65 Load 68(inF0)
+            1576:          65 ExtInst 1(GLSL.std.450) 6(FSign) 1575
+                              Store 1574(r037) 1576
+            1578:          65 Load 68(inF0)
+            1579:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1578
+                              Store 1577(r038) 1579
+            1580:          65 Load 68(inF0)
+            1581:          65 ExtInst 1(GLSL.std.450) 13(Sin) 1580
+                              Store 69(inF1) 1581
+            1582:          65 Load 68(inF0)
+            1583:          65 ExtInst 1(GLSL.std.450) 14(Cos) 1582
+                              Store 70(inF2) 1583
+            1585:          65 Load 68(inF0)
+            1586:          65 ExtInst 1(GLSL.std.450) 19(Sinh) 1585
+                              Store 1584(r039) 1586
+            1588:          65 Load 68(inF0)
+            1589:          65 Load 69(inF1)
+            1590:          65 Load 70(inF2)
+            1591:          65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1588 1589 1590
+                              Store 1587(r049) 1591
+            1593:          65 Load 68(inF0)
+            1594:          65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1593
+                              Store 1592(r041) 1594
+            1596:          65 Load 68(inF0)
+            1597:          65 Load 69(inF1)
+            1598:          65 ExtInst 1(GLSL.std.450) 48(Step) 1596 1597
+                              Store 1595(r042) 1598
+            1600:          65 Load 68(inF0)
+            1601:          65 ExtInst 1(GLSL.std.450) 15(Tan) 1600
+                              Store 1599(r043) 1601
+            1603:          65 Load 68(inF0)
+            1604:          65 ExtInst 1(GLSL.std.450) 21(Tanh) 1603
+                              Store 1602(r044) 1604
+            1605:          65 Load 68(inF0)
+            1606:          65 Transpose 1605
+            1608:          65 Load 68(inF0)
+            1609:          65 ExtInst 1(GLSL.std.450) 3(Trunc) 1608
+                              Store 1607(r046) 1609
+                              ReturnValue 1611
+                              FunctionEnd
+80(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 73
+        74(inF0):      7(ptr) FunctionParameter
+        75(inF1):      7(ptr) FunctionParameter
+       76(inFV0):     25(ptr) FunctionParameter
+       77(inFV1):     25(ptr) FunctionParameter
+       78(inFM0):     49(ptr) FunctionParameter
+       79(inFM1):     49(ptr) FunctionParameter
+              81:             Label
+        1614(r0):      7(ptr) Variable Function
+        1618(r1):     25(ptr) Variable Function
+        1622(r2):     25(ptr) Variable Function
+        1626(r3):      7(ptr) Variable Function
+        1630(r4):     25(ptr) Variable Function
+        1634(r5):     25(ptr) Variable Function
+        1638(r6):     49(ptr) Variable Function
+        1642(r7):     49(ptr) Variable Function
+        1646(r8):     49(ptr) Variable Function
+            1615:    6(float) Load 74(inF0)
+            1616:    6(float) Load 75(inF1)
+            1617:    6(float) FMul 1615 1616
+                              Store 1614(r0) 1617
+            1619:   24(fvec2) Load 76(inFV0)
+            1620:    6(float) Load 74(inF0)
+            1621:   24(fvec2) VectorTimesScalar 1619 1620
+                              Store 1618(r1) 1621
+            1623:    6(float) Load 74(inF0)
+            1624:   24(fvec2) Load 76(inFV0)
+            1625:   24(fvec2) VectorTimesScalar 1624 1623
+                              Store 1622(r2) 1625
+            1627:   24(fvec2) Load 76(inFV0)
+            1628:   24(fvec2) Load 77(inFV1)
+            1629:    6(float) Dot 1627 1628
+                              Store 1626(r3) 1629
+            1631:          48 Load 78(inFM0)
+            1632:   24(fvec2) Load 76(inFV0)
+            1633:   24(fvec2) MatrixTimesVector 1631 1632
+                              Store 1630(r4) 1633
+            1635:   24(fvec2) Load 76(inFV0)
+            1636:          48 Load 78(inFM0)
+            1637:   24(fvec2) VectorTimesMatrix 1635 1636
+                              Store 1634(r5) 1637
+            1639:          48 Load 78(inFM0)
+            1640:    6(float) Load 74(inF0)
+            1641:          48 MatrixTimesScalar 1639 1640
+                              Store 1638(r6) 1641
+            1643:    6(float) Load 74(inF0)
+            1644:          48 Load 78(inFM0)
+            1645:          48 MatrixTimesScalar 1644 1643
+                              Store 1642(r7) 1645
+            1647:          48 Load 78(inFM0)
+            1648:          48 Load 79(inFM1)
+            1649:          48 MatrixTimesMatrix 1647 1648
+                              Store 1646(r8) 1649
                               Return
                               FunctionEnd
-32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 25
-        26(inF0):      7(ptr) FunctionParameter
-        27(inF1):      7(ptr) FunctionParameter
-       28(inFV0):     22(ptr) FunctionParameter
-       29(inFV1):     22(ptr) FunctionParameter
-       30(inFM0):     24(ptr) FunctionParameter
-       31(inFM1):     24(ptr) FunctionParameter
-              33:             Label
-        1624(r0):      7(ptr) Variable Function
-        1628(r1):     22(ptr) Variable Function
-        1632(r2):     22(ptr) Variable Function
-        1636(r3):      7(ptr) Variable Function
-        1640(r4):     22(ptr) Variable Function
-        1644(r5):     22(ptr) Variable Function
-        1648(r6):     24(ptr) Variable Function
-        1652(r7):     24(ptr) Variable Function
-        1656(r8):     24(ptr) Variable Function
-            1625:    6(float) Load 26(inF0)
-            1626:    6(float) Load 27(inF1)
-            1627:    6(float) FMul 1625 1626
-                              Store 1624(r0) 1627
-            1629:   21(fvec3) Load 28(inFV0)
-            1630:    6(float) Load 26(inF0)
-            1631:   21(fvec3) VectorTimesScalar 1629 1630
-                              Store 1628(r1) 1631
-            1633:    6(float) Load 26(inF0)
-            1634:   21(fvec3) Load 28(inFV0)
-            1635:   21(fvec3) VectorTimesScalar 1634 1633
-                              Store 1632(r2) 1635
-            1637:   21(fvec3) Load 28(inFV0)
-            1638:   21(fvec3) Load 29(inFV1)
-            1639:    6(float) Dot 1637 1638
-                              Store 1636(r3) 1639
-            1641:          23 Load 30(inFM0)
-            1642:   21(fvec3) Load 28(inFV0)
-            1643:   21(fvec3) MatrixTimesVector 1641 1642
-                              Store 1640(r4) 1643
-            1645:   21(fvec3) Load 28(inFV0)
-            1646:          23 Load 30(inFM0)
-            1647:   21(fvec3) VectorTimesMatrix 1645 1646
-                              Store 1644(r5) 1647
-            1649:          23 Load 30(inFM0)
-            1650:    6(float) Load 26(inF0)
-            1651:          23 MatrixTimesScalar 1649 1650
-                              Store 1648(r6) 1651
-            1653:    6(float) Load 26(inF0)
-            1654:          23 Load 30(inFM0)
-            1655:          23 MatrixTimesScalar 1654 1653
-                              Store 1652(r7) 1655
-            1657:          23 Load 30(inFM0)
-            1658:          23 Load 31(inFM1)
-            1659:          23 MatrixTimesMatrix 1657 1658
-                              Store 1656(r8) 1659
+89(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 82
+        83(inF0):      7(ptr) FunctionParameter
+        84(inF1):      7(ptr) FunctionParameter
+       85(inFV0):     37(ptr) FunctionParameter
+       86(inFV1):     37(ptr) FunctionParameter
+       87(inFM0):     57(ptr) FunctionParameter
+       88(inFM1):     57(ptr) FunctionParameter
+              90:             Label
+        1650(r0):      7(ptr) Variable Function
+        1654(r1):     37(ptr) Variable Function
+        1658(r2):     37(ptr) Variable Function
+        1662(r3):      7(ptr) Variable Function
+        1666(r4):     37(ptr) Variable Function
+        1670(r5):     37(ptr) Variable Function
+        1674(r6):     57(ptr) Variable Function
+        1678(r7):     57(ptr) Variable Function
+        1682(r8):     57(ptr) Variable Function
+            1651:    6(float) Load 83(inF0)
+            1652:    6(float) Load 84(inF1)
+            1653:    6(float) FMul 1651 1652
+                              Store 1650(r0) 1653
+            1655:   36(fvec3) Load 85(inFV0)
+            1656:    6(float) Load 83(inF0)
+            1657:   36(fvec3) VectorTimesScalar 1655 1656
+                              Store 1654(r1) 1657
+            1659:    6(float) Load 83(inF0)
+            1660:   36(fvec3) Load 85(inFV0)
+            1661:   36(fvec3) VectorTimesScalar 1660 1659
+                              Store 1658(r2) 1661
+            1663:   36(fvec3) Load 85(inFV0)
+            1664:   36(fvec3) Load 86(inFV1)
+            1665:    6(float) Dot 1663 1664
+                              Store 1662(r3) 1665
+            1667:          56 Load 87(inFM0)
+            1668:   36(fvec3) Load 85(inFV0)
+            1669:   36(fvec3) MatrixTimesVector 1667 1668
+                              Store 1666(r4) 1669
+            1671:   36(fvec3) Load 85(inFV0)
+            1672:          56 Load 87(inFM0)
+            1673:   36(fvec3) VectorTimesMatrix 1671 1672
+                              Store 1670(r5) 1673
+            1675:          56 Load 87(inFM0)
+            1676:    6(float) Load 83(inF0)
+            1677:          56 MatrixTimesScalar 1675 1676
+                              Store 1674(r6) 1677
+            1679:    6(float) Load 83(inF0)
+            1680:          56 Load 87(inFM0)
+            1681:          56 MatrixTimesScalar 1680 1679
+                              Store 1678(r7) 1681
+            1683:          56 Load 87(inFM0)
+            1684:          56 Load 88(inFM1)
+            1685:          56 MatrixTimesMatrix 1683 1684
+                              Store 1682(r8) 1685
                               Return
                               FunctionEnd
-45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 38
-        39(inF0):      7(ptr) FunctionParameter
-        40(inF1):      7(ptr) FunctionParameter
-       41(inFV0):     35(ptr) FunctionParameter
-       42(inFV1):     35(ptr) FunctionParameter
-       43(inFM0):     37(ptr) FunctionParameter
-       44(inFM1):     37(ptr) FunctionParameter
-              46:             Label
-        1660(r0):      7(ptr) Variable Function
-        1664(r1):     35(ptr) Variable Function
-        1668(r2):     35(ptr) Variable Function
-        1672(r3):      7(ptr) Variable Function
-        1676(r4):     35(ptr) Variable Function
-        1680(r5):     35(ptr) Variable Function
-        1684(r6):     37(ptr) Variable Function
-        1688(r7):     37(ptr) Variable Function
-        1692(r8):     37(ptr) Variable Function
-            1661:    6(float) Load 39(inF0)
-            1662:    6(float) Load 40(inF1)
-            1663:    6(float) FMul 1661 1662
-                              Store 1660(r0) 1663
-            1665:   34(fvec4) Load 41(inFV0)
-            1666:    6(float) Load 39(inF0)
-            1667:   34(fvec4) VectorTimesScalar 1665 1666
-                              Store 1664(r1) 1667
-            1669:    6(float) Load 39(inF0)
-            1670:   34(fvec4) Load 41(inFV0)
-            1671:   34(fvec4) VectorTimesScalar 1670 1669
-                              Store 1668(r2) 1671
-            1673:   34(fvec4) Load 41(inFV0)
-            1674:   34(fvec4) Load 42(inFV1)
-            1675:    6(float) Dot 1673 1674
-                              Store 1672(r3) 1675
-            1677:          36 Load 43(inFM0)
-            1678:   34(fvec4) Load 41(inFV0)
-            1679:   34(fvec4) MatrixTimesVector 1677 1678
-                              Store 1676(r4) 1679
-            1681:   34(fvec4) Load 41(inFV0)
-            1682:          36 Load 43(inFM0)
-            1683:   34(fvec4) VectorTimesMatrix 1681 1682
-                              Store 1680(r5) 1683
-            1685:          36 Load 43(inFM0)
-            1686:    6(float) Load 39(inF0)
-            1687:          36 MatrixTimesScalar 1685 1686
-                              Store 1684(r6) 1687
-            1689:    6(float) Load 39(inF0)
-            1690:          36 Load 43(inFM0)
-            1691:          36 MatrixTimesScalar 1690 1689
-                              Store 1688(r7) 1691
-            1693:          36 Load 43(inFM0)
-            1694:          36 Load 44(inFM1)
-            1695:          36 MatrixTimesMatrix 1693 1694
-                              Store 1692(r8) 1695
+99(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 92
+        93(inF0):      7(ptr) FunctionParameter
+        94(inF1):      7(ptr) FunctionParameter
+       95(inFV0):     91(ptr) FunctionParameter
+       96(inFV1):     91(ptr) FunctionParameter
+       97(inFM0):     66(ptr) FunctionParameter
+       98(inFM1):     66(ptr) FunctionParameter
+             100:             Label
+        1686(r0):      7(ptr) Variable Function
+        1690(r1):     91(ptr) Variable Function
+        1694(r2):     91(ptr) Variable Function
+        1698(r3):      7(ptr) Variable Function
+        1702(r4):     91(ptr) Variable Function
+        1706(r5):     91(ptr) Variable Function
+        1710(r6):     66(ptr) Variable Function
+        1714(r7):     66(ptr) Variable Function
+        1718(r8):     66(ptr) Variable Function
+            1687:    6(float) Load 93(inF0)
+            1688:    6(float) Load 94(inF1)
+            1689:    6(float) FMul 1687 1688
+                              Store 1686(r0) 1689
+            1691:   64(fvec4) Load 95(inFV0)
+            1692:    6(float) Load 93(inF0)
+            1693:   64(fvec4) VectorTimesScalar 1691 1692
+                              Store 1690(r1) 1693
+            1695:    6(float) Load 93(inF0)
+            1696:   64(fvec4) Load 95(inFV0)
+            1697:   64(fvec4) VectorTimesScalar 1696 1695
+                              Store 1694(r2) 1697
+            1699:   64(fvec4) Load 95(inFV0)
+            1700:   64(fvec4) Load 96(inFV1)
+            1701:    6(float) Dot 1699 1700
+                              Store 1698(r3) 1701
+            1703:          65 Load 97(inFM0)
+            1704:   64(fvec4) Load 95(inFV0)
+            1705:   64(fvec4) MatrixTimesVector 1703 1704
+                              Store 1702(r4) 1705
+            1707:   64(fvec4) Load 95(inFV0)
+            1708:          65 Load 97(inFM0)
+            1709:   64(fvec4) VectorTimesMatrix 1707 1708
+                              Store 1706(r5) 1709
+            1711:          65 Load 97(inFM0)
+            1712:    6(float) Load 93(inF0)
+            1713:          65 MatrixTimesScalar 1711 1712
+                              Store 1710(r6) 1713
+            1715:    6(float) Load 93(inF0)
+            1716:          65 Load 97(inFM0)
+            1717:          65 MatrixTimesScalar 1716 1715
+                              Store 1714(r7) 1717
+            1719:          65 Load 97(inFM0)
+            1720:          65 Load 98(inFM1)
+            1721:          65 MatrixTimesMatrix 1719 1720
+                              Store 1718(r8) 1721
                               Return
                               FunctionEnd
-65(TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;):           2 Function None 55
-        56(inF0):      7(ptr) FunctionParameter
-        57(inF1):      7(ptr) FunctionParameter
-       58(inFV2):      9(ptr) FunctionParameter
-       59(inFV3):     22(ptr) FunctionParameter
-     60(inFM2x3):     48(ptr) FunctionParameter
-     61(inFM3x2):     50(ptr) FunctionParameter
-     62(inFM3x3):     24(ptr) FunctionParameter
-     63(inFM3x4):     52(ptr) FunctionParameter
-     64(inFM2x4):     54(ptr) FunctionParameter
-              66:             Label
-       1696(r00):      7(ptr) Variable Function
-       1700(r01):      9(ptr) Variable Function
-       1704(r02):     22(ptr) Variable Function
-       1708(r03):      9(ptr) Variable Function
-       1712(r04):     22(ptr) Variable Function
-       1716(r05):      7(ptr) Variable Function
-       1720(r06):      7(ptr) Variable Function
-       1724(r07):     22(ptr) Variable Function
-       1728(r08):      9(ptr) Variable Function
-       1732(r09):      9(ptr) Variable Function
-       1736(r10):     22(ptr) Variable Function
-       1740(r11):     48(ptr) Variable Function
-       1744(r12):     50(ptr) Variable Function
-       1748(r13):     11(ptr) Variable Function
-       1752(r14):     48(ptr) Variable Function
-       1756(r15):     54(ptr) Variable Function
-       1760(r16):     52(ptr) Variable Function
-     1764(gs_ua):     92(ptr) Variable Function
-     1765(gs_ub):     92(ptr) Variable Function
-     1766(gs_uc):     92(ptr) Variable Function
-    1767(gs_ua2):    302(ptr) Variable Function
-    1768(gs_ub2):    302(ptr) Variable Function
-    1769(gs_uc2):    302(ptr) Variable Function
-    1770(gs_ua3):    545(ptr) Variable Function
-    1771(gs_ub3):    545(ptr) Variable Function
-    1772(gs_uc3):    545(ptr) Variable Function
-    1773(gs_ua4):    791(ptr) Variable Function
-    1774(gs_ub4):    791(ptr) Variable Function
-    1775(gs_uc4):    791(ptr) Variable Function
-            1697:    6(float) Load 56(inF0)
-            1698:    6(float) Load 57(inF1)
-            1699:    6(float) FMul 1697 1698
-                              Store 1696(r00) 1699
-            1701:    8(fvec2) Load 58(inFV2)
-            1702:    6(float) Load 56(inF0)
-            1703:    8(fvec2) VectorTimesScalar 1701 1702
-                              Store 1700(r01) 1703
-            1705:   21(fvec3) Load 59(inFV3)
-            1706:    6(float) Load 56(inF0)
-            1707:   21(fvec3) VectorTimesScalar 1705 1706
-                              Store 1704(r02) 1707
-            1709:    6(float) Load 56(inF0)
-            1710:    8(fvec2) Load 58(inFV2)
-            1711:    8(fvec2) VectorTimesScalar 1710 1709
-                              Store 1708(r03) 1711
-            1713:    6(float) Load 56(inF0)
-            1714:   21(fvec3) Load 59(inFV3)
-            1715:   21(fvec3) VectorTimesScalar 1714 1713
-                              Store 1712(r04) 1715
-            1717:    8(fvec2) Load 58(inFV2)
-            1718:    8(fvec2) Load 58(inFV2)
-            1719:    6(float) Dot 1717 1718
-                              Store 1716(r05) 1719
-            1721:   21(fvec3) Load 59(inFV3)
-            1722:   21(fvec3) Load 59(inFV3)
-            1723:    6(float) Dot 1721 1722
-                              Store 1720(r06) 1723
-            1725:    8(fvec2) Load 58(inFV2)
-            1726:          47 Load 60(inFM2x3)
-            1727:   21(fvec3) VectorTimesMatrix 1725 1726
-                              Store 1724(r07) 1727
-            1729:   21(fvec3) Load 59(inFV3)
-            1730:          49 Load 61(inFM3x2)
-            1731:    8(fvec2) VectorTimesMatrix 1729 1730
-                              Store 1728(r08) 1731
-            1733:          47 Load 60(inFM2x3)
-            1734:   21(fvec3) Load 59(inFV3)
-            1735:    8(fvec2) MatrixTimesVector 1733 1734
-                              Store 1732(r09) 1735
-            1737:          49 Load 61(inFM3x2)
-            1738:    8(fvec2) Load 58(inFV2)
-            1739:   21(fvec3) MatrixTimesVector 1737 1738
-                              Store 1736(r10) 1739
-            1741:          47 Load 60(inFM2x3)
-            1742:    6(float) Load 56(inF0)
-            1743:          47 MatrixTimesScalar 1741 1742
-                              Store 1740(r11) 1743
-            1745:          49 Load 61(inFM3x2)
-            1746:    6(float) Load 56(inF0)
-            1747:          49 MatrixTimesScalar 1745 1746
-                              Store 1744(r12) 1747
-            1749:          47 Load 60(inFM2x3)
-            1750:          49 Load 61(inFM3x2)
-            1751:          10 MatrixTimesMatrix 1749 1750
-                              Store 1748(r13) 1751
-            1753:          47 Load 60(inFM2x3)
-            1754:          23 Load 62(inFM3x3)
-            1755:          47 MatrixTimesMatrix 1753 1754
-                              Store 1752(r14) 1755
-            1757:          47 Load 60(inFM2x3)
-            1758:          51 Load 63(inFM3x4)
-            1759:          53 MatrixTimesMatrix 1757 1758
-                              Store 1756(r15) 1759
-            1761:          49 Load 61(inFM3x2)
-            1762:          53 Load 64(inFM2x4)
-            1763:          51 MatrixTimesMatrix 1761 1762
-                              Store 1760(r16) 1763
+119(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;):           2 Function None 109
+       110(inF0):      7(ptr) FunctionParameter
+       111(inF1):      7(ptr) FunctionParameter
+      112(inFV2):     25(ptr) FunctionParameter
+      113(inFV3):     37(ptr) FunctionParameter
+    114(inFM2x3):    102(ptr) FunctionParameter
+    115(inFM3x2):    104(ptr) FunctionParameter
+    116(inFM3x3):     57(ptr) FunctionParameter
+    117(inFM3x4):    106(ptr) FunctionParameter
+    118(inFM2x4):    108(ptr) FunctionParameter
+             120:             Label
+       1722(r00):      7(ptr) Variable Function
+       1726(r01):     25(ptr) Variable Function
+       1730(r02):     37(ptr) Variable Function
+       1734(r03):     25(ptr) Variable Function
+       1738(r04):     37(ptr) Variable Function
+       1742(r05):      7(ptr) Variable Function
+       1746(r06):      7(ptr) Variable Function
+       1750(r07):     37(ptr) Variable Function
+       1754(r08):     25(ptr) Variable Function
+       1758(r09):     25(ptr) Variable Function
+       1762(r10):     37(ptr) Variable Function
+       1766(r11):    102(ptr) Variable Function
+       1770(r12):    104(ptr) Variable Function
+       1774(r13):     49(ptr) Variable Function
+       1778(r14):    102(ptr) Variable Function
+       1782(r15):    108(ptr) Variable Function
+       1786(r16):    106(ptr) Variable Function
+     1790(gs_ua):      9(ptr) Variable Function
+     1791(gs_ub):      9(ptr) Variable Function
+     1792(gs_uc):      9(ptr) Variable Function
+    1793(gs_ua2):     27(ptr) Variable Function
+    1794(gs_ub2):     27(ptr) Variable Function
+    1795(gs_uc2):     27(ptr) Variable Function
+    1796(gs_ua3):     39(ptr) Variable Function
+    1797(gs_ub3):     39(ptr) Variable Function
+    1798(gs_uc3):     39(ptr) Variable Function
+    1799(gs_ua4):    825(ptr) Variable Function
+    1800(gs_ub4):    825(ptr) Variable Function
+    1801(gs_uc4):    825(ptr) Variable Function
+            1723:    6(float) Load 110(inF0)
+            1724:    6(float) Load 111(inF1)
+            1725:    6(float) FMul 1723 1724
+                              Store 1722(r00) 1725
+            1727:   24(fvec2) Load 112(inFV2)
+            1728:    6(float) Load 110(inF0)
+            1729:   24(fvec2) VectorTimesScalar 1727 1728
+                              Store 1726(r01) 1729
+            1731:   36(fvec3) Load 113(inFV3)
+            1732:    6(float) Load 110(inF0)
+            1733:   36(fvec3) VectorTimesScalar 1731 1732
+                              Store 1730(r02) 1733
+            1735:    6(float) Load 110(inF0)
+            1736:   24(fvec2) Load 112(inFV2)
+            1737:   24(fvec2) VectorTimesScalar 1736 1735
+                              Store 1734(r03) 1737
+            1739:    6(float) Load 110(inF0)
+            1740:   36(fvec3) Load 113(inFV3)
+            1741:   36(fvec3) VectorTimesScalar 1740 1739
+                              Store 1738(r04) 1741
+            1743:   24(fvec2) Load 112(inFV2)
+            1744:   24(fvec2) Load 112(inFV2)
+            1745:    6(float) Dot 1743 1744
+                              Store 1742(r05) 1745
+            1747:   36(fvec3) Load 113(inFV3)
+            1748:   36(fvec3) Load 113(inFV3)
+            1749:    6(float) Dot 1747 1748
+                              Store 1746(r06) 1749
+            1751:   24(fvec2) Load 112(inFV2)
+            1752:         101 Load 114(inFM2x3)
+            1753:   36(fvec3) VectorTimesMatrix 1751 1752
+                              Store 1750(r07) 1753
+            1755:   36(fvec3) Load 113(inFV3)
+            1756:         103 Load 115(inFM3x2)
+            1757:   24(fvec2) VectorTimesMatrix 1755 1756
+                              Store 1754(r08) 1757
+            1759:         101 Load 114(inFM2x3)
+            1760:   36(fvec3) Load 113(inFV3)
+            1761:   24(fvec2) MatrixTimesVector 1759 1760
+                              Store 1758(r09) 1761
+            1763:         103 Load 115(inFM3x2)
+            1764:   24(fvec2) Load 112(inFV2)
+            1765:   36(fvec3) MatrixTimesVector 1763 1764
+                              Store 1762(r10) 1765
+            1767:         101 Load 114(inFM2x3)
+            1768:    6(float) Load 110(inF0)
+            1769:         101 MatrixTimesScalar 1767 1768
+                              Store 1766(r11) 1769
+            1771:         103 Load 115(inFM3x2)
+            1772:    6(float) Load 110(inF0)
+            1773:         103 MatrixTimesScalar 1771 1772
+                              Store 1770(r12) 1773
+            1775:         101 Load 114(inFM2x3)
+            1776:         103 Load 115(inFM3x2)
+            1777:          48 MatrixTimesMatrix 1775 1776
+                              Store 1774(r13) 1777
+            1779:         101 Load 114(inFM2x3)
+            1780:          56 Load 116(inFM3x3)
+            1781:         101 MatrixTimesMatrix 1779 1780
+                              Store 1778(r14) 1781
+            1783:         101 Load 114(inFM2x3)
+            1784:         105 Load 117(inFM3x4)
+            1785:         107 MatrixTimesMatrix 1783 1784
+                              Store 1782(r15) 1785
+            1787:         103 Load 115(inFM3x2)
+            1788:         107 Load 118(inFM2x4)
+            1789:         105 MatrixTimesMatrix 1787 1788
+                              Store 1786(r16) 1789
                               Return
                               FunctionEnd
index b8393220e91f52b9dd19554e2e1228fa1b8daaa6..e27ab5b8e2c5af7968b5409ec66f63b9dba7e63a 100644 (file)
@@ -152,7 +152,7 @@ ERROR: 147 compilation errors.  No code generated.
 Shader version: 450
 local_size = (1, 1, 1)
 ERROR: node is still EOpNull!
-0:56  Function Definition: ComputeShaderFunction(f1;f1;f1;i1; (temp float)
+0:56  Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -246,7 +246,7 @@ ERROR: node is still EOpNull!
 0:53      Branch: Return with expression
 0:53        Constant:
 0:53          0.000000
-0:65  Function Definition: ComputeShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:65  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:57    Function Parameters: 
 0:57      'inF0' (in 1-component vector of float)
 0:57      'inF1' (in 1-component vector of float)
@@ -258,7 +258,7 @@ ERROR: node is still EOpNull!
 0:62      Branch: Return with expression
 0:62        Constant:
 0:62          0.000000
-0:112  Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:112  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:66    Function Parameters: 
 0:66      'inF0' (in 2-component vector of float)
 0:66      'inF1' (in 2-component vector of float)
@@ -341,7 +341,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:157  Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:157  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:113    Function Parameters: 
 0:113      'inF0' (in 3-component vector of float)
 0:113      'inF1' (in 3-component vector of float)
@@ -511,7 +511,7 @@ Linked compute stage:
 Shader version: 450
 local_size = (1, 1, 1)
 ERROR: node is still EOpNull!
-0:56  Function Definition: ComputeShaderFunction(f1;f1;f1;i1; (temp float)
+0:56  Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -605,7 +605,7 @@ ERROR: node is still EOpNull!
 0:53      Branch: Return with expression
 0:53        Constant:
 0:53          0.000000
-0:65  Function Definition: ComputeShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:65  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:57    Function Parameters: 
 0:57      'inF0' (in 1-component vector of float)
 0:57      'inF1' (in 1-component vector of float)
@@ -617,7 +617,7 @@ ERROR: node is still EOpNull!
 0:62      Branch: Return with expression
 0:62        Constant:
 0:62          0.000000
-0:112  Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:112  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:66    Function Parameters: 
 0:66      'inF0' (in 2-component vector of float)
 0:66      'inF1' (in 2-component vector of float)
@@ -700,7 +700,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:157  Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:157  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:113    Function Parameters: 
 0:113      'inF0' (in 3-component vector of float)
 0:113      'inF1' (in 3-component vector of float)
index 22c1a8712cdd75bcb216f3c3c10dcac20f5eb92b..d065e073eb095ccd8af7e6dfd278babc2ab69f3a 100644 (file)
@@ -91,7 +91,7 @@ ERROR: 86 compilation errors.  No code generated.
 Shader version: 450
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:35  Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:35  Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -135,7 +135,7 @@ ERROR: node is still EOpNull!
 0:32      Branch: Return with expression
 0:32        Constant:
 0:32          0.000000
-0:44  Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:44  Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:36    Function Parameters: 
 0:36      'inF0' (in 1-component vector of float)
 0:36      'inF1' (in 1-component vector of float)
@@ -147,7 +147,7 @@ ERROR: node is still EOpNull!
 0:41      Branch: Return with expression
 0:41        Constant:
 0:41          0.000000
-0:62  Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:62  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:45    Function Parameters: 
 0:45      'inF0' (in 2-component vector of float)
 0:45      'inF1' (in 2-component vector of float)
@@ -180,7 +180,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:79  Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:79  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:63    Function Parameters: 
 0:63      'inF0' (in 3-component vector of float)
 0:63      'inF1' (in 3-component vector of float)
@@ -241,7 +241,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:122  Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:122  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:115    Function Parameters: 
 0:115      'inF0' (in 2X2 matrix of float)
 0:115      'inF1' (in 2X2 matrix of float)
@@ -279,7 +279,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:130  Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:130  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:123    Function Parameters: 
 0:123      'inF0' (in 3X3 matrix of float)
 0:123      'inF1' (in 3X3 matrix of float)
@@ -322,7 +322,7 @@ ERROR: node is still EOpNull!
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:137  Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:137  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:131    Function Parameters: 
 0:131      'inF0' (in 4X4 matrix of float)
 0:131      'inF1' (in 4X4 matrix of float)
@@ -381,7 +381,7 @@ Linked fragment stage:
 Shader version: 450
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:35  Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:35  Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -425,7 +425,7 @@ ERROR: node is still EOpNull!
 0:32      Branch: Return with expression
 0:32        Constant:
 0:32          0.000000
-0:44  Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:44  Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:36    Function Parameters: 
 0:36      'inF0' (in 1-component vector of float)
 0:36      'inF1' (in 1-component vector of float)
@@ -437,7 +437,7 @@ ERROR: node is still EOpNull!
 0:41      Branch: Return with expression
 0:41        Constant:
 0:41          0.000000
-0:62  Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:62  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:45    Function Parameters: 
 0:45      'inF0' (in 2-component vector of float)
 0:45      'inF1' (in 2-component vector of float)
@@ -470,7 +470,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:79  Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:79  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:63    Function Parameters: 
 0:63      'inF0' (in 3-component vector of float)
 0:63      'inF1' (in 3-component vector of float)
@@ -531,7 +531,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:122  Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:122  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:115    Function Parameters: 
 0:115      'inF0' (in 2X2 matrix of float)
 0:115      'inF1' (in 2X2 matrix of float)
@@ -569,7 +569,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:130  Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:130  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:123    Function Parameters: 
 0:123      'inF0' (in 3X3 matrix of float)
 0:123      'inF1' (in 3X3 matrix of float)
@@ -612,7 +612,7 @@ ERROR: node is still EOpNull!
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:137  Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:137  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:131    Function Parameters: 
 0:131      'inF0' (in 4X4 matrix of float)
 0:131      'inF1' (in 4X4 matrix of float)
index 3dd08c1ee1a434b70342f702ad62f4a1437e46c4..11123cb80998dbd2d37dea9710cfd9ab9eff4643 100644 (file)
@@ -230,7 +230,7 @@ ERROR: 226 compilation errors.  No code generated.
 
 Shader version: 450
 ERROR: node is still EOpNull!
-0:74  Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:74  Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:15    Function Parameters: 
 0:15      'inF0' (in float)
 0:15      'inF1' (in float)
@@ -338,7 +338,7 @@ ERROR: node is still EOpNull!
 0:71      Branch: Return with expression
 0:71        Constant:
 0:71          0.000000
-0:83  Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:83  Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:75    Function Parameters: 
 0:75      'inF0' (in 1-component vector of float)
 0:75      'inF1' (in 1-component vector of float)
@@ -350,7 +350,7 @@ ERROR: node is still EOpNull!
 0:80      Branch: Return with expression
 0:80        Constant:
 0:80          0.000000
-0:130  Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:130  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:84    Function Parameters: 
 0:84      'inF0' (in 2-component vector of float)
 0:84      'inF1' (in 2-component vector of float)
@@ -433,7 +433,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:175  Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:175  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:131    Function Parameters: 
 0:131      'inF0' (in 3-component vector of float)
 0:131      'inF1' (in 3-component vector of float)
@@ -594,7 +594,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:258  Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:258  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:251    Function Parameters: 
 0:251      'inF0' (in 2X2 matrix of float)
 0:251      'inF1' (in 2X2 matrix of float)
@@ -654,7 +654,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:266  Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:266  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:259    Function Parameters: 
 0:259      'inF0' (in 3X3 matrix of float)
 0:259      'inF1' (in 3X3 matrix of float)
@@ -719,7 +719,7 @@ ERROR: node is still EOpNull!
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:273  Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:273  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:267    Function Parameters: 
 0:267      'inF0' (in 4X4 matrix of float)
 0:267      'inF1' (in 4X4 matrix of float)
@@ -811,7 +811,7 @@ Linked vertex stage:
 
 Shader version: 450
 ERROR: node is still EOpNull!
-0:74  Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:74  Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (temp float)
 0:15    Function Parameters: 
 0:15      'inF0' (in float)
 0:15      'inF1' (in float)
@@ -919,7 +919,7 @@ ERROR: node is still EOpNull!
 0:71      Branch: Return with expression
 0:71        Constant:
 0:71          0.000000
-0:83  Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:83  Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
 0:75    Function Parameters: 
 0:75      'inF0' (in 1-component vector of float)
 0:75      'inF1' (in 1-component vector of float)
@@ -931,7 +931,7 @@ ERROR: node is still EOpNull!
 0:80      Branch: Return with expression
 0:80        Constant:
 0:80          0.000000
-0:130  Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:130  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
 0:84    Function Parameters: 
 0:84      'inF0' (in 2-component vector of float)
 0:84      'inF1' (in 2-component vector of float)
@@ -1014,7 +1014,7 @@ ERROR: node is still EOpNull!
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:175  Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:175  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
 0:131    Function Parameters: 
 0:131      'inF0' (in 3-component vector of float)
 0:131      'inF1' (in 3-component vector of float)
@@ -1175,7 +1175,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:258  Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:258  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:251    Function Parameters: 
 0:251      'inF0' (in 2X2 matrix of float)
 0:251      'inF1' (in 2X2 matrix of float)
@@ -1235,7 +1235,7 @@ ERROR: node is still EOpNull!
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:266  Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:266  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:259    Function Parameters: 
 0:259      'inF0' (in 3X3 matrix of float)
 0:259      'inF1' (in 3X3 matrix of float)
@@ -1300,7 +1300,7 @@ ERROR: node is still EOpNull!
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:273  Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:273  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:267    Function Parameters: 
 0:267      'inF0' (in 4X4 matrix of float)
 0:267      'inF1' (in 4X4 matrix of float)
index 20d5eca0820c6b61c012875566bf3482216d3249..9258511f44230a36fbb90b1789e5a96211f13323 100644 (file)
@@ -1,7 +1,7 @@
 hlsl.intrinsics.vert
 Shader version: 450
 0:? Sequence
-0:63  Function Definition: VertexShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:63  Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -142,7 +142,7 @@ Shader version: 450
 0:60      Branch: Return with expression
 0:60        Constant:
 0:60          0.000000
-0:69  Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:69  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:64    Function Parameters: 
 0:64      'inF0' (in 1-component vector of float)
 0:64      'inF1' (in 1-component vector of float)
@@ -151,7 +151,7 @@ Shader version: 450
 0:66      Branch: Return with expression
 0:66        Constant:
 0:66          0.000000
-0:139  Function Definition: VertexShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:139  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:70    Function Parameters: 
 0:70      'inF0' (in 2-component vector of float)
 0:70      'inF1' (in 2-component vector of float)
@@ -317,7 +317,7 @@ Shader version: 450
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:210  Function Definition: VertexShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:210  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:140    Function Parameters: 
 0:140      'inF0' (in 3-component vector of float)
 0:140      'inF1' (in 3-component vector of float)
@@ -489,7 +489,7 @@ Shader version: 450
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:335  Function Definition: VertexShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
+0:335  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
 0:211    Function Parameters: 
 0:211      'inF0' (in 4-component vector of float)
 0:211      'inF1' (in 4-component vector of float)
@@ -681,7 +681,7 @@ Shader version: 450
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:344  Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:344  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:336    Function Parameters: 
 0:336      'inF0' (in 2X2 matrix of float)
 0:336      'inF1' (in 2X2 matrix of float)
@@ -811,7 +811,7 @@ Shader version: 450
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:353  Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:353  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:345    Function Parameters: 
 0:345      'inF0' (in 3X3 matrix of float)
 0:345      'inF1' (in 3X3 matrix of float)
@@ -946,7 +946,7 @@ Shader version: 450
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:374  Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:374  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:354    Function Parameters: 
 0:354      'inF0' (in 4X4 matrix of float)
 0:354      'inF1' (in 4X4 matrix of float)
@@ -1088,7 +1088,7 @@ Shader version: 450
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:381  Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:381  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void)
 0:377    Function Parameters: 
 0:377      'inF0' (in float)
 0:377      'inF1' (in float)
@@ -1142,7 +1142,7 @@ Shader version: 450
 0:378        matrix-multiply (temp 2X2 matrix of float)
 0:378          'inFM0' (in 2X2 matrix of float)
 0:378          'inFM1' (in 2X2 matrix of float)
-0:388  Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:388  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void)
 0:384    Function Parameters: 
 0:384      'inF0' (in float)
 0:384      'inF1' (in float)
@@ -1196,7 +1196,7 @@ Shader version: 450
 0:385        matrix-multiply (temp 3X3 matrix of float)
 0:385          'inFM0' (in 3X3 matrix of float)
 0:385          'inFM1' (in 3X3 matrix of float)
-0:396  Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:396  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void)
 0:391    Function Parameters: 
 0:391      'inF0' (in float)
 0:391      'inF1' (in float)
@@ -1250,7 +1250,7 @@ Shader version: 450
 0:392        matrix-multiply (temp 4X4 matrix of float)
 0:392          'inFM0' (in 4X4 matrix of float)
 0:392          'inFM1' (in 4X4 matrix of float)
-0:420  Function Definition: TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
+0:420  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
 0:401    Function Parameters: 
 0:401      'inF0' (in float)
 0:401      'inF1' (in float)
@@ -1355,7 +1355,7 @@ Linked vertex stage:
 
 Shader version: 450
 0:? Sequence
-0:63  Function Definition: VertexShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:63  Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (temp float)
 0:2    Function Parameters: 
 0:2      'inF0' (in float)
 0:2      'inF1' (in float)
@@ -1496,7 +1496,7 @@ Shader version: 450
 0:60      Branch: Return with expression
 0:60        Constant:
 0:60          0.000000
-0:69  Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:69  Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float)
 0:64    Function Parameters: 
 0:64      'inF0' (in 1-component vector of float)
 0:64      'inF1' (in 1-component vector of float)
@@ -1505,7 +1505,7 @@ Shader version: 450
 0:66      Branch: Return with expression
 0:66        Constant:
 0:66          0.000000
-0:139  Function Definition: VertexShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:139  Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
 0:70    Function Parameters: 
 0:70      'inF0' (in 2-component vector of float)
 0:70      'inF1' (in 2-component vector of float)
@@ -1671,7 +1671,7 @@ Shader version: 450
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:210  Function Definition: VertexShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:210  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
 0:140    Function Parameters: 
 0:140      'inF0' (in 3-component vector of float)
 0:140      'inF1' (in 3-component vector of float)
@@ -1843,7 +1843,7 @@ Shader version: 450
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:335  Function Definition: VertexShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
+0:335  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
 0:211    Function Parameters: 
 0:211      'inF0' (in 4-component vector of float)
 0:211      'inF1' (in 4-component vector of float)
@@ -2035,7 +2035,7 @@ Shader version: 450
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:344  Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
+0:344  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
 0:336    Function Parameters: 
 0:336      'inF0' (in 2X2 matrix of float)
 0:336      'inF1' (in 2X2 matrix of float)
@@ -2165,7 +2165,7 @@ Shader version: 450
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:353  Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
+0:353  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float)
 0:345    Function Parameters: 
 0:345      'inF0' (in 3X3 matrix of float)
 0:345      'inF1' (in 3X3 matrix of float)
@@ -2300,7 +2300,7 @@ Shader version: 450
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:374  Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
+0:374  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float)
 0:354    Function Parameters: 
 0:354      'inF0' (in 4X4 matrix of float)
 0:354      'inF1' (in 4X4 matrix of float)
@@ -2442,7 +2442,7 @@ Shader version: 450
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:381  Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
+0:381  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void)
 0:377    Function Parameters: 
 0:377      'inF0' (in float)
 0:377      'inF1' (in float)
@@ -2496,7 +2496,7 @@ Shader version: 450
 0:378        matrix-multiply (temp 2X2 matrix of float)
 0:378          'inFM0' (in 2X2 matrix of float)
 0:378          'inFM1' (in 2X2 matrix of float)
-0:388  Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
+0:388  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void)
 0:384    Function Parameters: 
 0:384      'inF0' (in float)
 0:384      'inF1' (in float)
@@ -2550,7 +2550,7 @@ Shader version: 450
 0:385        matrix-multiply (temp 3X3 matrix of float)
 0:385          'inFM0' (in 3X3 matrix of float)
 0:385          'inFM1' (in 3X3 matrix of float)
-0:396  Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
+0:396  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void)
 0:391    Function Parameters: 
 0:391      'inF0' (in float)
 0:391      'inF1' (in float)
@@ -2604,7 +2604,7 @@ Shader version: 450
 0:392        matrix-multiply (temp 4X4 matrix of float)
 0:392          'inFM0' (in 4X4 matrix of float)
 0:392          'inFM1' (in 4X4 matrix of float)
-0:420  Function Definition: TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
+0:420  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (temp void)
 0:401    Function Parameters: 
 0:401      'inF0' (in float)
 0:401      'inF1' (in float)
@@ -2705,611 +2705,1443 @@ Shader version: 450
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 1206
+// Id's are bound by 1238
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "VertexShaderFunction" 68 87 93 100 198 216 222 229 349 367 373 380 502 520 526 533 662 676 683 782 796 803 905 919 926
+                              EntryPoint Vertex 4  "VertexShaderFunction"
                               Source HLSL 450
                               Name 4  "VertexShaderFunction"
-                              Name 19  "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
-                              Name 13  "inF0"
-                              Name 14  "inF1"
-                              Name 15  "inFV0"
-                              Name 16  "inFV1"
-                              Name 17  "inFM0"
-                              Name 18  "inFM1"
-                              Name 32  "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
-                              Name 26  "inF0"
-                              Name 27  "inF1"
-                              Name 28  "inFV0"
-                              Name 29  "inFV1"
-                              Name 30  "inFM0"
-                              Name 31  "inFM1"
-                              Name 45  "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
-                              Name 39  "inF0"
-                              Name 40  "inF1"
-                              Name 41  "inFV0"
-                              Name 42  "inFV1"
-                              Name 43  "inFM0"
-                              Name 44  "inFM1"
-                              Name 65  "TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
-                              Name 56  "inF0"
-                              Name 57  "inF1"
-                              Name 58  "inFV2"
-                              Name 59  "inFV3"
-                              Name 60  "inFM2x3"
-                              Name 61  "inFM3x2"
-                              Name 62  "inFM3x3"
-                              Name 63  "inFM3x4"
-                              Name 64  "inFM2x4"
-                              Name 68  "inF0"
-                              Name 87  "inU0"
-                              Name 93  "inF1"
-                              Name 100  "inF2"
-                              Name 126  "ResType"
-                              Name 198  "inF0"
-                              Name 216  "inU0"
-                              Name 222  "inF1"
-                              Name 229  "inF2"
-                              Name 265  "ResType"
-                              Name 349  "inF0"
-                              Name 367  "inU0"
-                              Name 373  "inF1"
-                              Name 380  "inF2"
-                              Name 419  "ResType"
-                              Name 502  "inF0"
-                              Name 520  "inU0"
-                              Name 526  "inF1"
-                              Name 533  "inF2"
-                              Name 578  "ResType"
-                              Name 662  "inF0"
-                              Name 676  "inF1"
-                              Name 683  "inF2"
-                              Name 714  "ResType"
-                              Name 782  "inF0"
-                              Name 796  "inF1"
-                              Name 803  "inF2"
-                              Name 837  "ResType"
-                              Name 905  "inF0"
-                              Name 919  "inF1"
-                              Name 926  "inF2"
-                              Name 963  "ResType"
-                              Name 1030  "r0"
-                              Name 1034  "r1"
-                              Name 1038  "r2"
-                              Name 1042  "r3"
-                              Name 1046  "r4"
-                              Name 1050  "r5"
-                              Name 1054  "r6"
-                              Name 1058  "r7"
-                              Name 1062  "r8"
-                              Name 1066  "r0"
-                              Name 1070  "r1"
-                              Name 1074  "r2"
-                              Name 1078  "r3"
-                              Name 1082  "r4"
-                              Name 1086  "r5"
-                              Name 1090  "r6"
-                              Name 1094  "r7"
-                              Name 1098  "r8"
-                              Name 1102  "r0"
-                              Name 1106  "r1"
-                              Name 1110  "r2"
-                              Name 1114  "r3"
-                              Name 1118  "r4"
-                              Name 1122  "r5"
-                              Name 1126  "r6"
-                              Name 1130  "r7"
-                              Name 1134  "r8"
-                              Name 1138  "r00"
-                              Name 1142  "r01"
-                              Name 1146  "r02"
-                              Name 1150  "r03"
-                              Name 1154  "r04"
-                              Name 1158  "r05"
-                              Name 1162  "r06"
-                              Name 1166  "r07"
-                              Name 1170  "r08"
-                              Name 1174  "r09"
-                              Name 1178  "r10"
-                              Name 1182  "r11"
-                              Name 1186  "r12"
-                              Name 1190  "r13"
-                              Name 1194  "r14"
-                              Name 1198  "r15"
-                              Name 1202  "r16"
+                              Name 16  "VertexShaderFunctionS(f1;f1;f1;u1;u1;"
+                              Name 11  "inF0"
+                              Name 12  "inF1"
+                              Name 13  "inF2"
+                              Name 14  "inU0"
+                              Name 15  "inU1"
+                              Name 22  "VertexShaderFunction1(vf1;vf1;vf1;"
+                              Name 19  "inF0"
+                              Name 20  "inF1"
+                              Name 21  "inF2"
+                              Name 34  "VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+                              Name 29  "inF0"
+                              Name 30  "inF1"
+                              Name 31  "inF2"
+                              Name 32  "inU0"
+                              Name 33  "inU1"
+                              Name 46  "VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+                              Name 41  "inF0"
+                              Name 42  "inF1"
+                              Name 43  "inF2"
+                              Name 44  "inU0"
+                              Name 45  "inU1"
+                              Name 58  "VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4;"
+                              Name 53  "inF0"
+                              Name 54  "inF1"
+                              Name 55  "inF2"
+                              Name 56  "inU0"
+                              Name 57  "inU1"
+                              Name 66  "VertexShaderFunction2x2(mf22;mf22;mf22;"
+                              Name 63  "inF0"
+                              Name 64  "inF1"
+                              Name 65  "inF2"
+                              Name 74  "VertexShaderFunction3x3(mf33;mf33;mf33;"
+                              Name 71  "inF0"
+                              Name 72  "inF1"
+                              Name 73  "inF2"
+                              Name 82  "VertexShaderFunction4x4(mf44;mf44;mf44;"
+                              Name 79  "inF0"
+                              Name 80  "inF1"
+                              Name 81  "inF2"
+                              Name 91  "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;"
+                              Name 85  "inF0"
+                              Name 86  "inF1"
+                              Name 87  "inFV0"
+                              Name 88  "inFV1"
+                              Name 89  "inFM0"
+                              Name 90  "inFM1"
+                              Name 100  "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;"
+                              Name 94  "inF0"
+                              Name 95  "inF1"
+                              Name 96  "inFV0"
+                              Name 97  "inFV1"
+                              Name 98  "inFM0"
+                              Name 99  "inFM1"
+                              Name 109  "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;"
+                              Name 103  "inF0"
+                              Name 104  "inF1"
+                              Name 105  "inFV0"
+                              Name 106  "inFV1"
+                              Name 107  "inFM0"
+                              Name 108  "inFM1"
+                              Name 129  "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
+                              Name 120  "inF0"
+                              Name 121  "inF1"
+                              Name 122  "inFV2"
+                              Name 123  "inFV3"
+                              Name 124  "inFM2x3"
+                              Name 125  "inFM3x2"
+                              Name 126  "inFM3x3"
+                              Name 127  "inFM3x4"
+                              Name 128  "inFM2x4"
+                              Name 183  "ResType"
+                              Name 317  "ResType"
+                              Name 465  "ResType"
+                              Name 618  "ResType"
+                              Name 751  "ResType"
+                              Name 871  "ResType"
+                              Name 994  "ResType"
+                              Name 1062  "r0"
+                              Name 1066  "r1"
+                              Name 1070  "r2"
+                              Name 1074  "r3"
+                              Name 1078  "r4"
+                              Name 1082  "r5"
+                              Name 1086  "r6"
+                              Name 1090  "r7"
+                              Name 1094  "r8"
+                              Name 1098  "r0"
+                              Name 1102  "r1"
+                              Name 1106  "r2"
+                              Name 1110  "r3"
+                              Name 1114  "r4"
+                              Name 1118  "r5"
+                              Name 1122  "r6"
+                              Name 1126  "r7"
+                              Name 1130  "r8"
+                              Name 1134  "r0"
+                              Name 1138  "r1"
+                              Name 1142  "r2"
+                              Name 1146  "r3"
+                              Name 1150  "r4"
+                              Name 1154  "r5"
+                              Name 1158  "r6"
+                              Name 1162  "r7"
+                              Name 1166  "r8"
+                              Name 1170  "r00"
+                              Name 1174  "r01"
+                              Name 1178  "r02"
+                              Name 1182  "r03"
+                              Name 1186  "r04"
+                              Name 1190  "r05"
+                              Name 1194  "r06"
+                              Name 1198  "r07"
+                              Name 1202  "r08"
+                              Name 1206  "r09"
+                              Name 1210  "r10"
+                              Name 1214  "r11"
+                              Name 1218  "r12"
+                              Name 1222  "r13"
+                              Name 1226  "r14"
+                              Name 1230  "r15"
+                              Name 1234  "r16"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
                7:             TypePointer Function 6(float)
-               8:             TypeVector 6(float) 2
-               9:             TypePointer Function 8(fvec2)
-              10:             TypeMatrix 8(fvec2) 2
-              11:             TypePointer Function 10
-              12:             TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
-              21:             TypeVector 6(float) 3
-              22:             TypePointer Function 21(fvec3)
-              23:             TypeMatrix 21(fvec3) 3
-              24:             TypePointer Function 23
-              25:             TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
-              34:             TypeVector 6(float) 4
-              35:             TypePointer Function 34(fvec4)
-              36:             TypeMatrix 34(fvec4) 4
-              37:             TypePointer Function 36
-              38:             TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
-              47:             TypeMatrix 8(fvec2) 3
-              48:             TypePointer Function 47
-              49:             TypeMatrix 21(fvec3) 2
-              50:             TypePointer Function 49
-              51:             TypeMatrix 21(fvec3) 4
-              52:             TypePointer Function 51
-              53:             TypeMatrix 8(fvec2) 4
-              54:             TypePointer Function 53
-              55:             TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 22(ptr) 48(ptr) 50(ptr) 24(ptr) 52(ptr) 54(ptr)
-              67:             TypePointer Input 6(float)
-        68(inF0):     67(ptr) Variable Input
-              70:             TypeBool
-              81:             TypeInt 32 1
-              84:             TypeInt 32 0
-              86:             TypePointer Input 84(int)
-        87(inU0):     86(ptr) Variable Input
-        93(inF1):     67(ptr) Variable Input
-       100(inF2):     67(ptr) Variable Input
-             107:     84(int) Constant 7
-             115:     81(int) Constant 7
-    126(ResType):             TypeStruct 6(float) 81(int)
-             145:    6(float) Constant 1050288283
-             160:     84(int) Constant 2
-             167:    6(float) Constant 0
-             168:    6(float) Constant 1065353216
-             197:             TypePointer Input 8(fvec2)
-       198(inF0):    197(ptr) Variable Input
-             210:             TypeVector 81(int) 2
-             213:             TypeVector 84(int) 2
-             215:             TypePointer Input 213(ivec2)
-       216(inU0):    215(ptr) Variable Input
-       222(inF1):    197(ptr) Variable Input
-       229(inF2):    197(ptr) Variable Input
-             236:     84(int) Constant 3
-             237:  213(ivec2) ConstantComposite 107 236
-    265(ResType):             TypeStruct 8(fvec2) 210(ivec2)
-             270:             TypeVector 70(bool) 2
-             308:    6(float) Constant 1073741824
-             310:     84(int) Constant 1
-             311:  213(ivec2) ConstantComposite 310 160
-             346:    8(fvec2) ConstantComposite 168 308
-             348:             TypePointer Input 21(fvec3)
-       349(inF0):    348(ptr) Variable Input
-             361:             TypeVector 81(int) 3
-             364:             TypeVector 84(int) 3
-             366:             TypePointer Input 364(ivec3)
-       367(inU0):    366(ptr) Variable Input
-       373(inF1):    348(ptr) Variable Input
-       380(inF2):    348(ptr) Variable Input
-             387:     84(int) Constant 5
-             388:  364(ivec3) ConstantComposite 107 236 387
-    419(ResType):             TypeStruct 21(fvec3) 361(ivec3)
-             424:             TypeVector 70(bool) 3
-             463:  364(ivec3) ConstantComposite 310 160 236
-             498:    6(float) Constant 1077936128
-             499:   21(fvec3) ConstantComposite 168 308 498
-             501:             TypePointer Input 34(fvec4)
-       502(inF0):    501(ptr) Variable Input
-             514:             TypeVector 81(int) 4
-             517:             TypeVector 84(int) 4
-             519:             TypePointer Input 517(ivec4)
-       520(inU0):    519(ptr) Variable Input
-       526(inF1):    501(ptr) Variable Input
-       533(inF2):    501(ptr) Variable Input
-             540:  517(ivec4) ConstantComposite 107 236 387 160
-    578(ResType):             TypeStruct 34(fvec4) 514(ivec4)
-             583:             TypeVector 70(bool) 4
-             622:     84(int) Constant 4
-             623:  517(ivec4) ConstantComposite 310 160 236 622
-             658:    6(float) Constant 1082130432
-             659:   34(fvec4) ConstantComposite 168 308 498 658
-             661:             TypePointer Input 10
-       662(inF0):    661(ptr) Variable Input
-       676(inF1):    661(ptr) Variable Input
-       683(inF2):    661(ptr) Variable Input
-    714(ResType):             TypeStruct 10 210(ivec2)
-             778:    8(fvec2) ConstantComposite 308 308
-             779:          10 ConstantComposite 778 778
-             781:             TypePointer Input 23
-       782(inF0):    781(ptr) Variable Input
-       796(inF1):    781(ptr) Variable Input
-       803(inF2):    781(ptr) Variable Input
-    837(ResType):             TypeStruct 23 361(ivec3)
-             901:   21(fvec3) ConstantComposite 498 498 498
-             902:          23 ConstantComposite 901 901 901
-             904:             TypePointer Input 36
-       905(inF0):    904(ptr) Variable Input
-       919(inF1):    904(ptr) Variable Input
-       926(inF2):    904(ptr) Variable Input
-    963(ResType):             TypeStruct 36 514(ivec4)
-            1027:   34(fvec4) ConstantComposite 658 658 658 658
-            1028:          36 ConstantComposite 1027 1027 1027 1027
+               8:             TypeInt 32 0
+               9:             TypePointer Function 8(int)
+              10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+              18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+              24:             TypeVector 6(float) 2
+              25:             TypePointer Function 24(fvec2)
+              26:             TypeVector 8(int) 2
+              27:             TypePointer Function 26(ivec2)
+              28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+              36:             TypeVector 6(float) 3
+              37:             TypePointer Function 36(fvec3)
+              38:             TypeVector 8(int) 3
+              39:             TypePointer Function 38(ivec3)
+              40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+              48:             TypeVector 6(float) 4
+              49:             TypePointer Function 48(fvec4)
+              50:             TypeVector 8(int) 4
+              51:             TypePointer Function 50(ivec4)
+              52:             TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
+              60:             TypeMatrix 24(fvec2) 2
+              61:             TypePointer Function 60
+              62:             TypeFunction 60 61(ptr) 61(ptr) 61(ptr)
+              68:             TypeMatrix 36(fvec3) 3
+              69:             TypePointer Function 68
+              70:             TypeFunction 68 69(ptr) 69(ptr) 69(ptr)
+              76:             TypeMatrix 48(fvec4) 4
+              77:             TypePointer Function 76
+              78:             TypeFunction 76 77(ptr) 77(ptr) 77(ptr)
+              84:             TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 61(ptr) 61(ptr)
+              93:             TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 69(ptr) 69(ptr)
+             102:             TypeFunction 2 7(ptr) 7(ptr) 49(ptr) 49(ptr) 77(ptr) 77(ptr)
+             111:             TypeMatrix 24(fvec2) 3
+             112:             TypePointer Function 111
+             113:             TypeMatrix 36(fvec3) 2
+             114:             TypePointer Function 113
+             115:             TypeMatrix 36(fvec3) 4
+             116:             TypePointer Function 115
+             117:             TypeMatrix 24(fvec2) 4
+             118:             TypePointer Function 117
+             119:             TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr)
+             132:             TypeBool
+             143:             TypeInt 32 1
+             164:      8(int) Constant 7
+             172:    143(int) Constant 7
+    183(ResType):             TypeStruct 6(float) 143(int)
+             202:    6(float) Constant 1050288283
+             217:      8(int) Constant 2
+             224:    6(float) Constant 0
+             225:    6(float) Constant 1065353216
+             267:             TypeVector 143(int) 2
+             288:      8(int) Constant 3
+             289:   26(ivec2) ConstantComposite 164 288
+    317(ResType):             TypeStruct 24(fvec2) 267(ivec2)
+             322:             TypeVector 132(bool) 2
+             360:    6(float) Constant 1073741824
+             362:      8(int) Constant 1
+             363:   26(ivec2) ConstantComposite 362 217
+             398:   24(fvec2) ConstantComposite 225 360
+             412:             TypeVector 143(int) 3
+             433:      8(int) Constant 5
+             434:   38(ivec3) ConstantComposite 164 288 433
+    465(ResType):             TypeStruct 36(fvec3) 412(ivec3)
+             470:             TypeVector 132(bool) 3
+             509:   38(ivec3) ConstantComposite 362 217 288
+             544:    6(float) Constant 1077936128
+             545:   36(fvec3) ConstantComposite 225 360 544
+             559:             TypeVector 143(int) 4
+             580:   50(ivec4) ConstantComposite 164 288 433 217
+    618(ResType):             TypeStruct 48(fvec4) 559(ivec4)
+             623:             TypeVector 132(bool) 4
+             662:      8(int) Constant 4
+             663:   50(ivec4) ConstantComposite 362 217 288 662
+             698:    6(float) Constant 1082130432
+             699:   48(fvec4) ConstantComposite 225 360 544 698
+    751(ResType):             TypeStruct 60 267(ivec2)
+             815:   24(fvec2) ConstantComposite 360 360
+             816:          60 ConstantComposite 815 815
+    871(ResType):             TypeStruct 68 412(ivec3)
+             935:   36(fvec3) ConstantComposite 544 544 544
+             936:          68 ConstantComposite 935 935 935
+    994(ResType):             TypeStruct 76 559(ivec4)
+            1058:   48(fvec4) ConstantComposite 698 698 698 698
+            1059:          76 ConstantComposite 1058 1058 1058 1058
 4(VertexShaderFunction):           2 Function None 3
                5:             Label
-              69:    6(float) Load 68(inF0)
-              71:    70(bool) All 69
-              72:    6(float) Load 68(inF0)
-              73:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 72
-              74:    6(float) Load 68(inF0)
-              75:    6(float) ExtInst 1(GLSL.std.450) 17(Acos) 74
-              76:    6(float) Load 68(inF0)
-              77:    70(bool) Any 76
-              78:    6(float) Load 68(inF0)
-              79:    6(float) ExtInst 1(GLSL.std.450) 16(Asin) 78
-              80:    6(float) Load 68(inF0)
-              82:     81(int) Bitcast 80
-              83:    6(float) Load 68(inF0)
-              85:     84(int) Bitcast 83
-              88:     84(int) Load 87(inU0)
-              89:    6(float) Bitcast 88
-              90:    6(float) Load 68(inF0)
-              91:    6(float) ExtInst 1(GLSL.std.450) 18(Atan) 90
-              92:    6(float) Load 68(inF0)
-              94:    6(float) Load 93(inF1)
-              95:    6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 92 94
-              96:    6(float) Load 68(inF0)
-              97:    6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 96
-              98:    6(float) Load 68(inF0)
-              99:    6(float) Load 93(inF1)
-             101:    6(float) Load 100(inF2)
-             102:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 98 99 101
-             103:    6(float) Load 68(inF0)
-             104:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 103
-             105:    6(float) Load 68(inF0)
-             106:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 105
-             108:     84(int) BitCount 107
-             109:    6(float) Load 68(inF0)
-             110:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 109
-             111:    6(float) Load 68(inF0)
-             112:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 111
-             113:    6(float) Load 68(inF0)
-             114:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 113
-             116:     81(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 115
-             117:     81(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 115
-             118:    6(float) Load 68(inF0)
-             119:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 118
-             120:    6(float) Load 68(inF0)
-             121:    6(float) Load 93(inF1)
-             122:    6(float) FMod 120 121
-             123:    6(float) Load 68(inF0)
-             124:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 123
-             125:    6(float) Load 68(inF0)
-             127:126(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 125
-             128:     81(int) CompositeExtract 127 1
-                              Store 93(inF1) 128
-             129:    6(float) CompositeExtract 127 0
-             130:    6(float) Load 68(inF0)
-             131:    70(bool) IsInf 130
-             132:    6(float) Load 68(inF0)
-             133:    70(bool) IsNan 132
-             134:    6(float) Load 68(inF0)
-             135:    6(float) Load 93(inF1)
-             136:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 134 135
-             137:    6(float) Load 68(inF0)
-             138:    6(float) Load 93(inF1)
-             139:    6(float) Load 100(inF2)
-             140:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 137 138 139
-             141:    6(float) Load 68(inF0)
-             142:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 141
-             143:    6(float) Load 68(inF0)
-             144:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 143
-             146:    6(float) FMul 144 145
-             147:    6(float) Load 68(inF0)
-             148:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 147
-             149:    6(float) Load 68(inF0)
-             150:    6(float) Load 93(inF1)
-             151:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 149 150
-             152:    6(float) Load 68(inF0)
-             153:    6(float) Load 93(inF1)
-             154:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 152 153
-             155:    6(float) Load 68(inF0)
-             156:    6(float) Load 93(inF1)
-             157:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 155 156
-             158:    6(float) Load 68(inF0)
-             159:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 158
-             161:     84(int) BitReverse 160
-             162:    6(float) Load 68(inF0)
-             163:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 162
-             164:    6(float) Load 68(inF0)
-             165:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 164
-             166:    6(float) Load 68(inF0)
-             169:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 166 167 168
-             170:    6(float) Load 68(inF0)
-             171:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 170
-             172:    6(float) Load 68(inF0)
-             173:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 172
-             174:    6(float) Load 68(inF0)
-             175:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 174
-                              Store 93(inF1) 175
-             176:    6(float) Load 68(inF0)
-             177:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 176
-                              Store 100(inF2) 177
-             178:    6(float) Load 68(inF0)
-             179:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 178
-             180:    6(float) Load 68(inF0)
-             181:    6(float) Load 93(inF1)
-             182:    6(float) Load 100(inF2)
-             183:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 180 181 182
-             184:    6(float) Load 68(inF0)
-             185:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 184
-             186:    6(float) Load 68(inF0)
-             187:    6(float) Load 93(inF1)
-             188:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 186 187
-             189:    6(float) Load 68(inF0)
-             190:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 189
-             191:    6(float) Load 68(inF0)
-             192:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 191
-             193:    6(float) Load 68(inF0)
-             194:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 193
-                              ReturnValue 167
                               FunctionEnd
-19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 12
-        13(inF0):      7(ptr) FunctionParameter
-        14(inF1):      7(ptr) FunctionParameter
-       15(inFV0):      9(ptr) FunctionParameter
-       16(inFV1):      9(ptr) FunctionParameter
-       17(inFM0):     11(ptr) FunctionParameter
-       18(inFM1):     11(ptr) FunctionParameter
-              20:             Label
-        1030(r0):      7(ptr) Variable Function
-        1034(r1):      9(ptr) Variable Function
-        1038(r2):      9(ptr) Variable Function
-        1042(r3):      7(ptr) Variable Function
-        1046(r4):      9(ptr) Variable Function
-        1050(r5):      9(ptr) Variable Function
-        1054(r6):     11(ptr) Variable Function
-        1058(r7):     11(ptr) Variable Function
-        1062(r8):     11(ptr) Variable Function
-            1031:    6(float) Load 13(inF0)
-            1032:    6(float) Load 14(inF1)
-            1033:    6(float) FMul 1031 1032
-                              Store 1030(r0) 1033
-            1035:    8(fvec2) Load 15(inFV0)
-            1036:    6(float) Load 13(inF0)
-            1037:    8(fvec2) VectorTimesScalar 1035 1036
-                              Store 1034(r1) 1037
-            1039:    6(float) Load 13(inF0)
-            1040:    8(fvec2) Load 15(inFV0)
-            1041:    8(fvec2) VectorTimesScalar 1040 1039
-                              Store 1038(r2) 1041
-            1043:    8(fvec2) Load 15(inFV0)
-            1044:    8(fvec2) Load 16(inFV1)
-            1045:    6(float) Dot 1043 1044
-                              Store 1042(r3) 1045
-            1047:          10 Load 17(inFM0)
-            1048:    8(fvec2) Load 15(inFV0)
-            1049:    8(fvec2) MatrixTimesVector 1047 1048
-                              Store 1046(r4) 1049
-            1051:    8(fvec2) Load 15(inFV0)
-            1052:          10 Load 17(inFM0)
-            1053:    8(fvec2) VectorTimesMatrix 1051 1052
-                              Store 1050(r5) 1053
-            1055:          10 Load 17(inFM0)
-            1056:    6(float) Load 13(inF0)
-            1057:          10 MatrixTimesScalar 1055 1056
-                              Store 1054(r6) 1057
-            1059:    6(float) Load 13(inF0)
-            1060:          10 Load 17(inFM0)
-            1061:          10 MatrixTimesScalar 1060 1059
-                              Store 1058(r7) 1061
-            1063:          10 Load 17(inFM0)
-            1064:          10 Load 18(inFM1)
-            1065:          10 MatrixTimesMatrix 1063 1064
-                              Store 1062(r8) 1065
+16(VertexShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
+        11(inF0):      7(ptr) FunctionParameter
+        12(inF1):      7(ptr) FunctionParameter
+        13(inF2):      7(ptr) FunctionParameter
+        14(inU0):      9(ptr) FunctionParameter
+        15(inU1):      9(ptr) FunctionParameter
+              17:             Label
+             131:    6(float) Load 11(inF0)
+             133:   132(bool) All 131
+             134:    6(float) Load 11(inF0)
+             135:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 134
+             136:    6(float) Load 11(inF0)
+             137:    6(float) ExtInst 1(GLSL.std.450) 17(Acos) 136
+             138:    6(float) Load 11(inF0)
+             139:   132(bool) Any 138
+             140:    6(float) Load 11(inF0)
+             141:    6(float) ExtInst 1(GLSL.std.450) 16(Asin) 140
+             142:    6(float) Load 11(inF0)
+             144:    143(int) Bitcast 142
+             145:    6(float) Load 11(inF0)
+             146:      8(int) Bitcast 145
+             147:      8(int) Load 14(inU0)
+             148:    6(float) Bitcast 147
+             149:    6(float) Load 11(inF0)
+             150:    6(float) ExtInst 1(GLSL.std.450) 18(Atan) 149
+             151:    6(float) Load 11(inF0)
+             152:    6(float) Load 12(inF1)
+             153:    6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 151 152
+             154:    6(float) Load 11(inF0)
+             155:    6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 154
+             156:    6(float) Load 11(inF0)
+             157:    6(float) Load 12(inF1)
+             158:    6(float) Load 13(inF2)
+             159:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 156 157 158
+             160:    6(float) Load 11(inF0)
+             161:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 160
+             162:    6(float) Load 11(inF0)
+             163:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 162
+             165:      8(int) BitCount 164
+             166:    6(float) Load 11(inF0)
+             167:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 166
+             168:    6(float) Load 11(inF0)
+             169:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 168
+             170:    6(float) Load 11(inF0)
+             171:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 170
+             173:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             174:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             175:    6(float) Load 11(inF0)
+             176:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 175
+             177:    6(float) Load 11(inF0)
+             178:    6(float) Load 12(inF1)
+             179:    6(float) FMod 177 178
+             180:    6(float) Load 11(inF0)
+             181:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 180
+             182:    6(float) Load 11(inF0)
+             184:183(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 182
+             185:    143(int) CompositeExtract 184 1
+                              Store 12(inF1) 185
+             186:    6(float) CompositeExtract 184 0
+             187:    6(float) Load 11(inF0)
+             188:   132(bool) IsInf 187
+             189:    6(float) Load 11(inF0)
+             190:   132(bool) IsNan 189
+             191:    6(float) Load 11(inF0)
+             192:    6(float) Load 12(inF1)
+             193:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 191 192
+             194:    6(float) Load 11(inF0)
+             195:    6(float) Load 12(inF1)
+             196:    6(float) Load 13(inF2)
+             197:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 194 195 196
+             198:    6(float) Load 11(inF0)
+             199:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 198
+             200:    6(float) Load 11(inF0)
+             201:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 200
+             203:    6(float) FMul 201 202
+             204:    6(float) Load 11(inF0)
+             205:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 204
+             206:    6(float) Load 11(inF0)
+             207:    6(float) Load 12(inF1)
+             208:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 206 207
+             209:    6(float) Load 11(inF0)
+             210:    6(float) Load 12(inF1)
+             211:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 209 210
+             212:    6(float) Load 11(inF0)
+             213:    6(float) Load 12(inF1)
+             214:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 212 213
+             215:    6(float) Load 11(inF0)
+             216:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 215
+             218:      8(int) BitReverse 217
+             219:    6(float) Load 11(inF0)
+             220:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 219
+             221:    6(float) Load 11(inF0)
+             222:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 221
+             223:    6(float) Load 11(inF0)
+             226:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 223 224 225
+             227:    6(float) Load 11(inF0)
+             228:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 227
+             229:    6(float) Load 11(inF0)
+             230:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 229
+             231:    6(float) Load 11(inF0)
+             232:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 231
+                              Store 12(inF1) 232
+             233:    6(float) Load 11(inF0)
+             234:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 233
+                              Store 13(inF2) 234
+             235:    6(float) Load 11(inF0)
+             236:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 235
+             237:    6(float) Load 11(inF0)
+             238:    6(float) Load 12(inF1)
+             239:    6(float) Load 13(inF2)
+             240:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 237 238 239
+             241:    6(float) Load 11(inF0)
+             242:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 241
+             243:    6(float) Load 11(inF0)
+             244:    6(float) Load 12(inF1)
+             245:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 243 244
+             246:    6(float) Load 11(inF0)
+             247:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 246
+             248:    6(float) Load 11(inF0)
+             249:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 248
+             250:    6(float) Load 11(inF0)
+             251:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 250
+                              ReturnValue 224
+                              FunctionEnd
+22(VertexShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
+        19(inF0):      7(ptr) FunctionParameter
+        20(inF1):      7(ptr) FunctionParameter
+        21(inF2):      7(ptr) FunctionParameter
+              23:             Label
+                              ReturnValue 224
+                              FunctionEnd
+34(VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
+        29(inF0):     25(ptr) FunctionParameter
+        30(inF1):     25(ptr) FunctionParameter
+        31(inF2):     25(ptr) FunctionParameter
+        32(inU0):     27(ptr) FunctionParameter
+        33(inU1):     27(ptr) FunctionParameter
+              35:             Label
+             256:   24(fvec2) Load 29(inF0)
+             257:   132(bool) All 256
+             258:   24(fvec2) Load 29(inF0)
+             259:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 258
+             260:   24(fvec2) Load 29(inF0)
+             261:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 260
+             262:   24(fvec2) Load 29(inF0)
+             263:   132(bool) Any 262
+             264:   24(fvec2) Load 29(inF0)
+             265:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 264
+             266:   24(fvec2) Load 29(inF0)
+             268:  267(ivec2) Bitcast 266
+             269:   24(fvec2) Load 29(inF0)
+             270:   26(ivec2) Bitcast 269
+             271:   26(ivec2) Load 32(inU0)
+             272:   24(fvec2) Bitcast 271
+             273:   24(fvec2) Load 29(inF0)
+             274:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 273
+             275:   24(fvec2) Load 29(inF0)
+             276:   24(fvec2) Load 30(inF1)
+             277:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 275 276
+             278:   24(fvec2) Load 29(inF0)
+             279:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 278
+             280:   24(fvec2) Load 29(inF0)
+             281:   24(fvec2) Load 30(inF1)
+             282:   24(fvec2) Load 31(inF2)
+             283:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 280 281 282
+             284:   24(fvec2) Load 29(inF0)
+             285:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 284
+             286:   24(fvec2) Load 29(inF0)
+             287:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 286
+             290:   26(ivec2) BitCount 289
+             291:   24(fvec2) Load 29(inF0)
+             292:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 291
+             293:   24(fvec2) Load 29(inF0)
+             294:   24(fvec2) Load 30(inF1)
+             295:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 293 294
+             296:   24(fvec2) Load 29(inF0)
+             297:   24(fvec2) Load 30(inF1)
+             298:    6(float) Dot 296 297
+             299:   24(fvec2) Load 29(inF0)
+             300:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 299
+             301:   24(fvec2) Load 29(inF0)
+             302:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 301
+             303:   24(fvec2) Load 29(inF0)
+             304:   24(fvec2) Load 30(inF1)
+             305:   24(fvec2) Load 31(inF2)
+             306:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 303 304 305
+             307:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             308:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             309:   24(fvec2) Load 29(inF0)
+             310:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 309
+             311:   24(fvec2) Load 29(inF0)
+             312:   24(fvec2) Load 30(inF1)
+             313:   24(fvec2) FMod 311 312
+             314:   24(fvec2) Load 29(inF0)
+             315:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 314
+             316:   24(fvec2) Load 29(inF0)
+             318:317(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 316
+             319:  267(ivec2) CompositeExtract 318 1
+                              Store 30(inF1) 319
+             320:   24(fvec2) CompositeExtract 318 0
+             321:   24(fvec2) Load 29(inF0)
+             323:  322(bvec2) IsInf 321
+             324:   24(fvec2) Load 29(inF0)
+             325:  322(bvec2) IsNan 324
+             326:   24(fvec2) Load 29(inF0)
+             327:   24(fvec2) Load 30(inF1)
+             328:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 326 327
+             329:   24(fvec2) Load 29(inF0)
+             330:   24(fvec2) Load 30(inF1)
+             331:   24(fvec2) Load 31(inF2)
+             332:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
+             333:   24(fvec2) Load 29(inF0)
+             334:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 333
+             335:   24(fvec2) Load 29(inF0)
+             336:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 335
+             337:   24(fvec2) Load 29(inF0)
+             338:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 337
+             339:   24(fvec2) VectorTimesScalar 338 202
+             340:   24(fvec2) Load 29(inF0)
+             341:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 340
+             342:   24(fvec2) Load 29(inF0)
+             343:   24(fvec2) Load 30(inF1)
+             344:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 342 343
+             345:   24(fvec2) Load 29(inF0)
+             346:   24(fvec2) Load 30(inF1)
+             347:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 345 346
+             348:   24(fvec2) Load 29(inF0)
+             349:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 348
+             350:   24(fvec2) Load 29(inF0)
+             351:   24(fvec2) Load 30(inF1)
+             352:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 350 351
+             353:   24(fvec2) Load 29(inF0)
+             354:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 353
+             355:   24(fvec2) Load 29(inF0)
+             356:   24(fvec2) Load 30(inF1)
+             357:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 355 356
+             358:   24(fvec2) Load 29(inF0)
+             359:   24(fvec2) Load 30(inF1)
+             361:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 358 359 360
+             364:   26(ivec2) BitReverse 363
+             365:   24(fvec2) Load 29(inF0)
+             366:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 365
+             367:   24(fvec2) Load 29(inF0)
+             368:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 367
+             369:   24(fvec2) Load 29(inF0)
+             370:   24(fvec2) CompositeConstruct 224 224
+             371:   24(fvec2) CompositeConstruct 225 225
+             372:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 369 370 371
+             373:   24(fvec2) Load 29(inF0)
+             374:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 373
+             375:   24(fvec2) Load 29(inF0)
+             376:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 375
+             377:   24(fvec2) Load 29(inF0)
+             378:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 377
+                              Store 30(inF1) 378
+             379:   24(fvec2) Load 29(inF0)
+             380:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 379
+                              Store 31(inF2) 380
+             381:   24(fvec2) Load 29(inF0)
+             382:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 381
+             383:   24(fvec2) Load 29(inF0)
+             384:   24(fvec2) Load 30(inF1)
+             385:   24(fvec2) Load 31(inF2)
+             386:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 383 384 385
+             387:   24(fvec2) Load 29(inF0)
+             388:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 387
+             389:   24(fvec2) Load 29(inF0)
+             390:   24(fvec2) Load 30(inF1)
+             391:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 389 390
+             392:   24(fvec2) Load 29(inF0)
+             393:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 392
+             394:   24(fvec2) Load 29(inF0)
+             395:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 394
+             396:   24(fvec2) Load 29(inF0)
+             397:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 396
+                              ReturnValue 398
+                              FunctionEnd
+46(VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
+        41(inF0):     37(ptr) FunctionParameter
+        42(inF1):     37(ptr) FunctionParameter
+        43(inF2):     37(ptr) FunctionParameter
+        44(inU0):     39(ptr) FunctionParameter
+        45(inU1):     39(ptr) FunctionParameter
+              47:             Label
+             401:   36(fvec3) Load 41(inF0)
+             402:   132(bool) All 401
+             403:   36(fvec3) Load 41(inF0)
+             404:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 403
+             405:   36(fvec3) Load 41(inF0)
+             406:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 405
+             407:   36(fvec3) Load 41(inF0)
+             408:   132(bool) Any 407
+             409:   36(fvec3) Load 41(inF0)
+             410:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 409
+             411:   36(fvec3) Load 41(inF0)
+             413:  412(ivec3) Bitcast 411
+             414:   36(fvec3) Load 41(inF0)
+             415:   38(ivec3) Bitcast 414
+             416:   38(ivec3) Load 44(inU0)
+             417:   36(fvec3) Bitcast 416
+             418:   36(fvec3) Load 41(inF0)
+             419:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 418
+             420:   36(fvec3) Load 41(inF0)
+             421:   36(fvec3) Load 42(inF1)
+             422:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 420 421
+             423:   36(fvec3) Load 41(inF0)
+             424:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 423
+             425:   36(fvec3) Load 41(inF0)
+             426:   36(fvec3) Load 42(inF1)
+             427:   36(fvec3) Load 43(inF2)
+             428:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 425 426 427
+             429:   36(fvec3) Load 41(inF0)
+             430:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 429
+             431:   36(fvec3) Load 41(inF0)
+             432:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 431
+             435:   38(ivec3) BitCount 434
+             436:   36(fvec3) Load 41(inF0)
+             437:   36(fvec3) Load 42(inF1)
+             438:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 436 437
+             439:   36(fvec3) Load 41(inF0)
+             440:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 439
+             441:   36(fvec3) Load 41(inF0)
+             442:   36(fvec3) Load 42(inF1)
+             443:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 441 442
+             444:   36(fvec3) Load 41(inF0)
+             445:   36(fvec3) Load 42(inF1)
+             446:    6(float) Dot 444 445
+             447:   36(fvec3) Load 41(inF0)
+             448:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 447
+             449:   36(fvec3) Load 41(inF0)
+             450:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 449
+             451:   36(fvec3) Load 41(inF0)
+             452:   36(fvec3) Load 42(inF1)
+             453:   36(fvec3) Load 43(inF2)
+             454:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 451 452 453
+             455:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             456:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             457:   36(fvec3) Load 41(inF0)
+             458:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 457
+             459:   36(fvec3) Load 41(inF0)
+             460:   36(fvec3) Load 42(inF1)
+             461:   36(fvec3) FMod 459 460
+             462:   36(fvec3) Load 41(inF0)
+             463:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 462
+             464:   36(fvec3) Load 41(inF0)
+             466:465(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 464
+             467:  412(ivec3) CompositeExtract 466 1
+                              Store 42(inF1) 467
+             468:   36(fvec3) CompositeExtract 466 0
+             469:   36(fvec3) Load 41(inF0)
+             471:  470(bvec3) IsInf 469
+             472:   36(fvec3) Load 41(inF0)
+             473:  470(bvec3) IsNan 472
+             474:   36(fvec3) Load 41(inF0)
+             475:   36(fvec3) Load 42(inF1)
+             476:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 474 475
+             477:   36(fvec3) Load 41(inF0)
+             478:   36(fvec3) Load 42(inF1)
+             479:   36(fvec3) Load 43(inF2)
+             480:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 477 478 479
+             481:   36(fvec3) Load 41(inF0)
+             482:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 481
+             483:   36(fvec3) Load 41(inF0)
+             484:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 483
+             485:   36(fvec3) Load 41(inF0)
+             486:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 485
+             487:   36(fvec3) VectorTimesScalar 486 202
+             488:   36(fvec3) Load 41(inF0)
+             489:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 488
+             490:   36(fvec3) Load 41(inF0)
+             491:   36(fvec3) Load 42(inF1)
+             492:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 490 491
+             493:   36(fvec3) Load 41(inF0)
+             494:   36(fvec3) Load 42(inF1)
+             495:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 493 494
+             496:   36(fvec3) Load 41(inF0)
+             497:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 496
+             498:   36(fvec3) Load 41(inF0)
+             499:   36(fvec3) Load 42(inF1)
+             500:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 498 499
+             501:   36(fvec3) Load 41(inF0)
+             502:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 501
+             503:   36(fvec3) Load 41(inF0)
+             504:   36(fvec3) Load 42(inF1)
+             505:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 503 504
+             506:   36(fvec3) Load 41(inF0)
+             507:   36(fvec3) Load 42(inF1)
+             508:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 506 507 360
+             510:   38(ivec3) BitReverse 509
+             511:   36(fvec3) Load 41(inF0)
+             512:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 511
+             513:   36(fvec3) Load 41(inF0)
+             514:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 513
+             515:   36(fvec3) Load 41(inF0)
+             516:   36(fvec3) CompositeConstruct 224 224 224
+             517:   36(fvec3) CompositeConstruct 225 225 225
+             518:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 515 516 517
+             519:   36(fvec3) Load 41(inF0)
+             520:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 519
+             521:   36(fvec3) Load 41(inF0)
+             522:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 521
+             523:   36(fvec3) Load 41(inF0)
+             524:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 523
+                              Store 42(inF1) 524
+             525:   36(fvec3) Load 41(inF0)
+             526:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 525
+                              Store 43(inF2) 526
+             527:   36(fvec3) Load 41(inF0)
+             528:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 527
+             529:   36(fvec3) Load 41(inF0)
+             530:   36(fvec3) Load 42(inF1)
+             531:   36(fvec3) Load 43(inF2)
+             532:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 529 530 531
+             533:   36(fvec3) Load 41(inF0)
+             534:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 533
+             535:   36(fvec3) Load 41(inF0)
+             536:   36(fvec3) Load 42(inF1)
+             537:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 535 536
+             538:   36(fvec3) Load 41(inF0)
+             539:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 538
+             540:   36(fvec3) Load 41(inF0)
+             541:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 540
+             542:   36(fvec3) Load 41(inF0)
+             543:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 542
+                              ReturnValue 545
+                              FunctionEnd
+58(VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
+        53(inF0):     49(ptr) FunctionParameter
+        54(inF1):     49(ptr) FunctionParameter
+        55(inF2):     49(ptr) FunctionParameter
+        56(inU0):     51(ptr) FunctionParameter
+        57(inU1):     51(ptr) FunctionParameter
+              59:             Label
+             548:   48(fvec4) Load 53(inF0)
+             549:   132(bool) All 548
+             550:   48(fvec4) Load 53(inF0)
+             551:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 550
+             552:   48(fvec4) Load 53(inF0)
+             553:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 552
+             554:   48(fvec4) Load 53(inF0)
+             555:   132(bool) Any 554
+             556:   48(fvec4) Load 53(inF0)
+             557:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 556
+             558:   48(fvec4) Load 53(inF0)
+             560:  559(ivec4) Bitcast 558
+             561:   48(fvec4) Load 53(inF0)
+             562:   50(ivec4) Bitcast 561
+             563:   50(ivec4) Load 56(inU0)
+             564:   48(fvec4) Bitcast 563
+             565:   48(fvec4) Load 53(inF0)
+             566:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 565
+             567:   48(fvec4) Load 53(inF0)
+             568:   48(fvec4) Load 54(inF1)
+             569:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 567 568
+             570:   48(fvec4) Load 53(inF0)
+             571:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 570
+             572:   48(fvec4) Load 53(inF0)
+             573:   48(fvec4) Load 54(inF1)
+             574:   48(fvec4) Load 55(inF2)
+             575:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 572 573 574
+             576:   48(fvec4) Load 53(inF0)
+             577:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 576
+             578:   48(fvec4) Load 53(inF0)
+             579:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 578
+             581:   50(ivec4) BitCount 580
+             582:   48(fvec4) Load 53(inF0)
+             583:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 582
+             584:   48(fvec4) Load 53(inF0)
+             585:   48(fvec4) Load 54(inF1)
+             586:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 584 585
+             587:   48(fvec4) Load 53(inF0)
+             588:   48(fvec4) Load 54(inF1)
+             589:    6(float) Dot 587 588
+             590:      7(ptr) AccessChain 53(inF0) 362
+             591:    6(float) Load 590
+             592:      7(ptr) AccessChain 54(inF1) 362
+             593:    6(float) Load 592
+             594:    6(float) FMul 591 593
+             595:      7(ptr) AccessChain 53(inF0) 217
+             596:    6(float) Load 595
+             597:      7(ptr) AccessChain 54(inF1) 288
+             598:    6(float) Load 597
+             599:   48(fvec4) CompositeConstruct 225 594 596 598
+             600:   48(fvec4) Load 53(inF0)
+             601:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 600
+             602:   48(fvec4) Load 53(inF0)
+             603:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 602
+             604:   48(fvec4) Load 53(inF0)
+             605:   48(fvec4) Load 54(inF1)
+             606:   48(fvec4) Load 55(inF2)
+             607:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 604 605 606
+             608:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             609:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             610:   48(fvec4) Load 53(inF0)
+             611:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 610
+             612:   48(fvec4) Load 53(inF0)
+             613:   48(fvec4) Load 54(inF1)
+             614:   48(fvec4) FMod 612 613
+             615:   48(fvec4) Load 53(inF0)
+             616:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 615
+             617:   48(fvec4) Load 53(inF0)
+             619:618(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 617
+             620:  559(ivec4) CompositeExtract 619 1
+                              Store 54(inF1) 620
+             621:   48(fvec4) CompositeExtract 619 0
+             622:   48(fvec4) Load 53(inF0)
+             624:  623(bvec4) IsInf 622
+             625:   48(fvec4) Load 53(inF0)
+             626:  623(bvec4) IsNan 625
+             627:   48(fvec4) Load 53(inF0)
+             628:   48(fvec4) Load 54(inF1)
+             629:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 627 628
+             630:   48(fvec4) Load 53(inF0)
+             631:   48(fvec4) Load 54(inF1)
+             632:   48(fvec4) Load 55(inF2)
+             633:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 630 631 632
+             634:   48(fvec4) Load 53(inF0)
+             635:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 634
+             636:   48(fvec4) Load 53(inF0)
+             637:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 636
+             638:   48(fvec4) Load 53(inF0)
+             639:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 638
+             640:   48(fvec4) VectorTimesScalar 639 202
+             641:   48(fvec4) Load 53(inF0)
+             642:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 641
+             643:   48(fvec4) Load 53(inF0)
+             644:   48(fvec4) Load 54(inF1)
+             645:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 643 644
+             646:   48(fvec4) Load 53(inF0)
+             647:   48(fvec4) Load 54(inF1)
+             648:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 646 647
+             649:   48(fvec4) Load 53(inF0)
+             650:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 649
+             651:   48(fvec4) Load 53(inF0)
+             652:   48(fvec4) Load 54(inF1)
+             653:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 651 652
+             654:   48(fvec4) Load 53(inF0)
+             655:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 654
+             656:   48(fvec4) Load 53(inF0)
+             657:   48(fvec4) Load 54(inF1)
+             658:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 656 657
+             659:   48(fvec4) Load 53(inF0)
+             660:   48(fvec4) Load 54(inF1)
+             661:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 659 660 360
+             664:   50(ivec4) BitReverse 663
+             665:   48(fvec4) Load 53(inF0)
+             666:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 665
+             667:   48(fvec4) Load 53(inF0)
+             668:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 667
+             669:   48(fvec4) Load 53(inF0)
+             670:   48(fvec4) CompositeConstruct 224 224 224 224
+             671:   48(fvec4) CompositeConstruct 225 225 225 225
+             672:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 669 670 671
+             673:   48(fvec4) Load 53(inF0)
+             674:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 673
+             675:   48(fvec4) Load 53(inF0)
+             676:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 675
+             677:   48(fvec4) Load 53(inF0)
+             678:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 677
+                              Store 54(inF1) 678
+             679:   48(fvec4) Load 53(inF0)
+             680:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 679
+                              Store 55(inF2) 680
+             681:   48(fvec4) Load 53(inF0)
+             682:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 681
+             683:   48(fvec4) Load 53(inF0)
+             684:   48(fvec4) Load 54(inF1)
+             685:   48(fvec4) Load 55(inF2)
+             686:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 683 684 685
+             687:   48(fvec4) Load 53(inF0)
+             688:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 687
+             689:   48(fvec4) Load 53(inF0)
+             690:   48(fvec4) Load 54(inF1)
+             691:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 689 690
+             692:   48(fvec4) Load 53(inF0)
+             693:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 692
+             694:   48(fvec4) Load 53(inF0)
+             695:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 694
+             696:   48(fvec4) Load 53(inF0)
+             697:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 696
+                              ReturnValue 699
+                              FunctionEnd
+66(VertexShaderFunction2x2(mf22;mf22;mf22;):          60 Function None 62
+        63(inF0):     61(ptr) FunctionParameter
+        64(inF1):     61(ptr) FunctionParameter
+        65(inF2):     61(ptr) FunctionParameter
+              67:             Label
+             702:          60 Load 63(inF0)
+             703:   132(bool) All 702
+             704:          60 Load 63(inF0)
+             705:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 704
+             706:          60 Load 63(inF0)
+             707:          60 ExtInst 1(GLSL.std.450) 17(Acos) 706
+             708:          60 Load 63(inF0)
+             709:   132(bool) Any 708
+             710:          60 Load 63(inF0)
+             711:          60 ExtInst 1(GLSL.std.450) 16(Asin) 710
+             712:          60 Load 63(inF0)
+             713:          60 ExtInst 1(GLSL.std.450) 18(Atan) 712
+             714:          60 Load 63(inF0)
+             715:          60 Load 64(inF1)
+             716:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 714 715
+             717:          60 Load 63(inF0)
+             718:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 717
+             719:          60 Load 63(inF0)
+             720:          60 Load 64(inF1)
+             721:          60 Load 65(inF2)
+             722:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 719 720 721
+             723:          60 Load 63(inF0)
+             724:          60 ExtInst 1(GLSL.std.450) 14(Cos) 723
+             725:          60 Load 63(inF0)
+             726:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 725
+             727:          60 Load 63(inF0)
+             728:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 727
+             729:          60 Load 63(inF0)
+             730:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 729
+             731:          60 Load 63(inF0)
+             732:          60 ExtInst 1(GLSL.std.450) 27(Exp) 731
+             733:          60 Load 63(inF0)
+             734:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 733
+             735:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             736:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             737:          60 Load 63(inF0)
+             738:          60 ExtInst 1(GLSL.std.450) 8(Floor) 737
+             739:          60 Load 63(inF0)
+             740:          60 Load 64(inF1)
+             741:   24(fvec2) CompositeExtract 739 0
+             742:   24(fvec2) CompositeExtract 740 0
+             743:   24(fvec2) FMod 741 742
+             744:   24(fvec2) CompositeExtract 739 1
+             745:   24(fvec2) CompositeExtract 740 1
+             746:   24(fvec2) FMod 744 745
+             747:          60 CompositeConstruct 743 746
+             748:          60 Load 63(inF0)
+             749:          60 ExtInst 1(GLSL.std.450) 10(Fract) 748
+             750:          60 Load 63(inF0)
+             752:751(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 750
+             753:  267(ivec2) CompositeExtract 752 1
+                              Store 64(inF1) 753
+             754:          60 CompositeExtract 752 0
+             755:          60 Load 63(inF0)
+             756:          60 Load 64(inF1)
+             757:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 755 756
+             758:          60 Load 63(inF0)
+             759:          60 Load 64(inF1)
+             760:          60 Load 65(inF2)
+             761:          60 ExtInst 1(GLSL.std.450) 46(FMix) 758 759 760
+             762:          60 Load 63(inF0)
+             763:          60 ExtInst 1(GLSL.std.450) 28(Log) 762
+             764:          60 Load 63(inF0)
+             765:          60 ExtInst 1(GLSL.std.450) 30(Log2) 764
+             766:          60 MatrixTimesScalar 765 202
+             767:          60 Load 63(inF0)
+             768:          60 ExtInst 1(GLSL.std.450) 30(Log2) 767
+             769:          60 Load 63(inF0)
+             770:          60 Load 64(inF1)
+             771:          60 ExtInst 1(GLSL.std.450) 40(FMax) 769 770
+             772:          60 Load 63(inF0)
+             773:          60 Load 64(inF1)
+             774:          60 ExtInst 1(GLSL.std.450) 37(FMin) 772 773
+             775:          60 Load 63(inF0)
+             776:          60 Load 64(inF1)
+             777:          60 ExtInst 1(GLSL.std.450) 26(Pow) 775 776
+             778:          60 Load 63(inF0)
+             779:          60 ExtInst 1(GLSL.std.450) 11(Radians) 778
+             780:          60 Load 63(inF0)
+             781:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 780
+             782:          60 Load 63(inF0)
+             783:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 782
+             784:          60 Load 63(inF0)
+             785:   24(fvec2) CompositeConstruct 224 224
+             786:   24(fvec2) CompositeConstruct 225 225
+             787:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 784 785 786
+             788:          60 Load 63(inF0)
+             789:          60 ExtInst 1(GLSL.std.450) 6(FSign) 788
+             790:          60 Load 63(inF0)
+             791:          60 ExtInst 1(GLSL.std.450) 13(Sin) 790
+             792:          60 Load 63(inF0)
+             793:          60 ExtInst 1(GLSL.std.450) 13(Sin) 792
+                              Store 64(inF1) 793
+             794:          60 Load 63(inF0)
+             795:          60 ExtInst 1(GLSL.std.450) 14(Cos) 794
+                              Store 65(inF2) 795
+             796:          60 Load 63(inF0)
+             797:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 796
+             798:          60 Load 63(inF0)
+             799:          60 Load 64(inF1)
+             800:          60 Load 65(inF2)
+             801:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 798 799 800
+             802:          60 Load 63(inF0)
+             803:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 802
+             804:          60 Load 63(inF0)
+             805:          60 Load 64(inF1)
+             806:          60 ExtInst 1(GLSL.std.450) 48(Step) 804 805
+             807:          60 Load 63(inF0)
+             808:          60 ExtInst 1(GLSL.std.450) 15(Tan) 807
+             809:          60 Load 63(inF0)
+             810:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 809
+             811:          60 Load 63(inF0)
+             812:          60 Transpose 811
+             813:          60 Load 63(inF0)
+             814:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 813
+                              ReturnValue 816
+                              FunctionEnd
+74(VertexShaderFunction3x3(mf33;mf33;mf33;):          68 Function None 70
+        71(inF0):     69(ptr) FunctionParameter
+        72(inF1):     69(ptr) FunctionParameter
+        73(inF2):     69(ptr) FunctionParameter
+              75:             Label
+             819:          68 Load 71(inF0)
+             820:   132(bool) All 819
+             821:          68 Load 71(inF0)
+             822:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 821
+             823:          68 Load 71(inF0)
+             824:          68 ExtInst 1(GLSL.std.450) 17(Acos) 823
+             825:          68 Load 71(inF0)
+             826:   132(bool) Any 825
+             827:          68 Load 71(inF0)
+             828:          68 ExtInst 1(GLSL.std.450) 16(Asin) 827
+             829:          68 Load 71(inF0)
+             830:          68 ExtInst 1(GLSL.std.450) 18(Atan) 829
+             831:          68 Load 71(inF0)
+             832:          68 Load 72(inF1)
+             833:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 831 832
+             834:          68 Load 71(inF0)
+             835:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 834
+             836:          68 Load 71(inF0)
+             837:          68 Load 72(inF1)
+             838:          68 Load 73(inF2)
+             839:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 836 837 838
+             840:          68 Load 71(inF0)
+             841:          68 ExtInst 1(GLSL.std.450) 14(Cos) 840
+             842:          68 Load 71(inF0)
+             843:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 842
+             844:          68 Load 71(inF0)
+             845:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 844
+             846:          68 Load 71(inF0)
+             847:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 846
+             848:          68 Load 71(inF0)
+             849:          68 ExtInst 1(GLSL.std.450) 27(Exp) 848
+             850:          68 Load 71(inF0)
+             851:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 850
+             852:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             853:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             854:          68 Load 71(inF0)
+             855:          68 ExtInst 1(GLSL.std.450) 8(Floor) 854
+             856:          68 Load 71(inF0)
+             857:          68 Load 72(inF1)
+             858:   36(fvec3) CompositeExtract 856 0
+             859:   36(fvec3) CompositeExtract 857 0
+             860:   36(fvec3) FMod 858 859
+             861:   36(fvec3) CompositeExtract 856 1
+             862:   36(fvec3) CompositeExtract 857 1
+             863:   36(fvec3) FMod 861 862
+             864:   36(fvec3) CompositeExtract 856 2
+             865:   36(fvec3) CompositeExtract 857 2
+             866:   36(fvec3) FMod 864 865
+             867:          68 CompositeConstruct 860 863 866
+             868:          68 Load 71(inF0)
+             869:          68 ExtInst 1(GLSL.std.450) 10(Fract) 868
+             870:          68 Load 71(inF0)
+             872:871(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 870
+             873:  412(ivec3) CompositeExtract 872 1
+                              Store 72(inF1) 873
+             874:          68 CompositeExtract 872 0
+             875:          68 Load 71(inF0)
+             876:          68 Load 72(inF1)
+             877:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 875 876
+             878:          68 Load 71(inF0)
+             879:          68 Load 72(inF1)
+             880:          68 Load 73(inF2)
+             881:          68 ExtInst 1(GLSL.std.450) 46(FMix) 878 879 880
+             882:          68 Load 71(inF0)
+             883:          68 ExtInst 1(GLSL.std.450) 28(Log) 882
+             884:          68 Load 71(inF0)
+             885:          68 ExtInst 1(GLSL.std.450) 30(Log2) 884
+             886:          68 MatrixTimesScalar 885 202
+             887:          68 Load 71(inF0)
+             888:          68 ExtInst 1(GLSL.std.450) 30(Log2) 887
+             889:          68 Load 71(inF0)
+             890:          68 Load 72(inF1)
+             891:          68 ExtInst 1(GLSL.std.450) 40(FMax) 889 890
+             892:          68 Load 71(inF0)
+             893:          68 Load 72(inF1)
+             894:          68 ExtInst 1(GLSL.std.450) 37(FMin) 892 893
+             895:          68 Load 71(inF0)
+             896:          68 Load 72(inF1)
+             897:          68 ExtInst 1(GLSL.std.450) 26(Pow) 895 896
+             898:          68 Load 71(inF0)
+             899:          68 ExtInst 1(GLSL.std.450) 11(Radians) 898
+             900:          68 Load 71(inF0)
+             901:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 900
+             902:          68 Load 71(inF0)
+             903:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 902
+             904:          68 Load 71(inF0)
+             905:   36(fvec3) CompositeConstruct 224 224 224
+             906:   36(fvec3) CompositeConstruct 225 225 225
+             907:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 904 905 906
+             908:          68 Load 71(inF0)
+             909:          68 ExtInst 1(GLSL.std.450) 6(FSign) 908
+             910:          68 Load 71(inF0)
+             911:          68 ExtInst 1(GLSL.std.450) 13(Sin) 910
+             912:          68 Load 71(inF0)
+             913:          68 ExtInst 1(GLSL.std.450) 13(Sin) 912
+                              Store 72(inF1) 913
+             914:          68 Load 71(inF0)
+             915:          68 ExtInst 1(GLSL.std.450) 14(Cos) 914
+                              Store 73(inF2) 915
+             916:          68 Load 71(inF0)
+             917:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 916
+             918:          68 Load 71(inF0)
+             919:          68 Load 72(inF1)
+             920:          68 Load 73(inF2)
+             921:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 918 919 920
+             922:          68 Load 71(inF0)
+             923:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 922
+             924:          68 Load 71(inF0)
+             925:          68 Load 72(inF1)
+             926:          68 ExtInst 1(GLSL.std.450) 48(Step) 924 925
+             927:          68 Load 71(inF0)
+             928:          68 ExtInst 1(GLSL.std.450) 15(Tan) 927
+             929:          68 Load 71(inF0)
+             930:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 929
+             931:          68 Load 71(inF0)
+             932:          68 Transpose 931
+             933:          68 Load 71(inF0)
+             934:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 933
+                              ReturnValue 936
+                              FunctionEnd
+82(VertexShaderFunction4x4(mf44;mf44;mf44;):          76 Function None 78
+        79(inF0):     77(ptr) FunctionParameter
+        80(inF1):     77(ptr) FunctionParameter
+        81(inF2):     77(ptr) FunctionParameter
+              83:             Label
+             939:          76 Load 79(inF0)
+             940:   132(bool) All 939
+             941:          76 Load 79(inF0)
+             942:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 941
+             943:          76 Load 79(inF0)
+             944:          76 ExtInst 1(GLSL.std.450) 17(Acos) 943
+             945:          76 Load 79(inF0)
+             946:   132(bool) Any 945
+             947:          76 Load 79(inF0)
+             948:          76 ExtInst 1(GLSL.std.450) 16(Asin) 947
+             949:          76 Load 79(inF0)
+             950:          76 ExtInst 1(GLSL.std.450) 18(Atan) 949
+             951:          76 Load 79(inF0)
+             952:          76 Load 80(inF1)
+             953:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 951 952
+             954:          76 Load 79(inF0)
+             955:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 954
+             956:          76 Load 79(inF0)
+             957:          76 Load 80(inF1)
+             958:          76 Load 81(inF2)
+             959:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 956 957 958
+             960:          76 Load 79(inF0)
+             961:          76 ExtInst 1(GLSL.std.450) 14(Cos) 960
+             962:          76 Load 79(inF0)
+             963:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 962
+             964:          76 Load 79(inF0)
+             965:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 964
+             966:          76 Load 79(inF0)
+             967:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 966
+             968:          76 Load 79(inF0)
+             969:          76 ExtInst 1(GLSL.std.450) 27(Exp) 968
+             970:          76 Load 79(inF0)
+             971:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 970
+             972:    143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+             973:    143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+             974:          76 Load 79(inF0)
+             975:          76 ExtInst 1(GLSL.std.450) 8(Floor) 974
+             976:          76 Load 79(inF0)
+             977:          76 Load 80(inF1)
+             978:   48(fvec4) CompositeExtract 976 0
+             979:   48(fvec4) CompositeExtract 977 0
+             980:   48(fvec4) FMod 978 979
+             981:   48(fvec4) CompositeExtract 976 1
+             982:   48(fvec4) CompositeExtract 977 1
+             983:   48(fvec4) FMod 981 982
+             984:   48(fvec4) CompositeExtract 976 2
+             985:   48(fvec4) CompositeExtract 977 2
+             986:   48(fvec4) FMod 984 985
+             987:   48(fvec4) CompositeExtract 976 3
+             988:   48(fvec4) CompositeExtract 977 3
+             989:   48(fvec4) FMod 987 988
+             990:          76 CompositeConstruct 980 983 986 989
+             991:          76 Load 79(inF0)
+             992:          76 ExtInst 1(GLSL.std.450) 10(Fract) 991
+             993:          76 Load 79(inF0)
+             995:994(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 993
+             996:  559(ivec4) CompositeExtract 995 1
+                              Store 80(inF1) 996
+             997:          76 CompositeExtract 995 0
+             998:          76 Load 79(inF0)
+             999:          76 Load 80(inF1)
+            1000:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 998 999
+            1001:          76 Load 79(inF0)
+            1002:          76 Load 80(inF1)
+            1003:          76 Load 81(inF2)
+            1004:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1001 1002 1003
+            1005:          76 Load 79(inF0)
+            1006:          76 ExtInst 1(GLSL.std.450) 28(Log) 1005
+            1007:          76 Load 79(inF0)
+            1008:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1007
+            1009:          76 MatrixTimesScalar 1008 202
+            1010:          76 Load 79(inF0)
+            1011:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1010
+            1012:          76 Load 79(inF0)
+            1013:          76 Load 80(inF1)
+            1014:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1012 1013
+            1015:          76 Load 79(inF0)
+            1016:          76 Load 80(inF1)
+            1017:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1015 1016
+            1018:          76 Load 79(inF0)
+            1019:          76 Load 80(inF1)
+            1020:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1018 1019
+            1021:          76 Load 79(inF0)
+            1022:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1021
+            1023:          76 Load 79(inF0)
+            1024:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1023
+            1025:          76 Load 79(inF0)
+            1026:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1025
+            1027:          76 Load 79(inF0)
+            1028:   48(fvec4) CompositeConstruct 224 224 224 224
+            1029:   48(fvec4) CompositeConstruct 225 225 225 225
+            1030:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1027 1028 1029
+            1031:          76 Load 79(inF0)
+            1032:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1031
+            1033:          76 Load 79(inF0)
+            1034:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1033
+            1035:          76 Load 79(inF0)
+            1036:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1035
+                              Store 80(inF1) 1036
+            1037:          76 Load 79(inF0)
+            1038:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1037
+                              Store 81(inF2) 1038
+            1039:          76 Load 79(inF0)
+            1040:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1039
+            1041:          76 Load 79(inF0)
+            1042:          76 Load 80(inF1)
+            1043:          76 Load 81(inF2)
+            1044:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1041 1042 1043
+            1045:          76 Load 79(inF0)
+            1046:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1045
+            1047:          76 Load 79(inF0)
+            1048:          76 Load 80(inF1)
+            1049:          76 ExtInst 1(GLSL.std.450) 48(Step) 1047 1048
+            1050:          76 Load 79(inF0)
+            1051:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1050
+            1052:          76 Load 79(inF0)
+            1053:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1052
+            1054:          76 Load 79(inF0)
+            1055:          76 Transpose 1054
+            1056:          76 Load 79(inF0)
+            1057:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1056
+                              ReturnValue 1059
+                              FunctionEnd
+91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 84
+        85(inF0):      7(ptr) FunctionParameter
+        86(inF1):      7(ptr) FunctionParameter
+       87(inFV0):     25(ptr) FunctionParameter
+       88(inFV1):     25(ptr) FunctionParameter
+       89(inFM0):     61(ptr) FunctionParameter
+       90(inFM1):     61(ptr) FunctionParameter
+              92:             Label
+        1062(r0):      7(ptr) Variable Function
+        1066(r1):     25(ptr) Variable Function
+        1070(r2):     25(ptr) Variable Function
+        1074(r3):      7(ptr) Variable Function
+        1078(r4):     25(ptr) Variable Function
+        1082(r5):     25(ptr) Variable Function
+        1086(r6):     61(ptr) Variable Function
+        1090(r7):     61(ptr) Variable Function
+        1094(r8):     61(ptr) Variable Function
+            1063:    6(float) Load 85(inF0)
+            1064:    6(float) Load 86(inF1)
+            1065:    6(float) FMul 1063 1064
+                              Store 1062(r0) 1065
+            1067:   24(fvec2) Load 87(inFV0)
+            1068:    6(float) Load 85(inF0)
+            1069:   24(fvec2) VectorTimesScalar 1067 1068
+                              Store 1066(r1) 1069
+            1071:    6(float) Load 85(inF0)
+            1072:   24(fvec2) Load 87(inFV0)
+            1073:   24(fvec2) VectorTimesScalar 1072 1071
+                              Store 1070(r2) 1073
+            1075:   24(fvec2) Load 87(inFV0)
+            1076:   24(fvec2) Load 88(inFV1)
+            1077:    6(float) Dot 1075 1076
+                              Store 1074(r3) 1077
+            1079:          60 Load 89(inFM0)
+            1080:   24(fvec2) Load 87(inFV0)
+            1081:   24(fvec2) MatrixTimesVector 1079 1080
+                              Store 1078(r4) 1081
+            1083:   24(fvec2) Load 87(inFV0)
+            1084:          60 Load 89(inFM0)
+            1085:   24(fvec2) VectorTimesMatrix 1083 1084
+                              Store 1082(r5) 1085
+            1087:          60 Load 89(inFM0)
+            1088:    6(float) Load 85(inF0)
+            1089:          60 MatrixTimesScalar 1087 1088
+                              Store 1086(r6) 1089
+            1091:    6(float) Load 85(inF0)
+            1092:          60 Load 89(inFM0)
+            1093:          60 MatrixTimesScalar 1092 1091
+                              Store 1090(r7) 1093
+            1095:          60 Load 89(inFM0)
+            1096:          60 Load 90(inFM1)
+            1097:          60 MatrixTimesMatrix 1095 1096
+                              Store 1094(r8) 1097
                               Return
                               FunctionEnd
-32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 25
-        26(inF0):      7(ptr) FunctionParameter
-        27(inF1):      7(ptr) FunctionParameter
-       28(inFV0):     22(ptr) FunctionParameter
-       29(inFV1):     22(ptr) FunctionParameter
-       30(inFM0):     24(ptr) FunctionParameter
-       31(inFM1):     24(ptr) FunctionParameter
-              33:             Label
-        1066(r0):      7(ptr) Variable Function
-        1070(r1):     22(ptr) Variable Function
-        1074(r2):     22(ptr) Variable Function
-        1078(r3):      7(ptr) Variable Function
-        1082(r4):     22(ptr) Variable Function
-        1086(r5):     22(ptr) Variable Function
-        1090(r6):     24(ptr) Variable Function
-        1094(r7):     24(ptr) Variable Function
-        1098(r8):     24(ptr) Variable Function
-            1067:    6(float) Load 26(inF0)
-            1068:    6(float) Load 27(inF1)
-            1069:    6(float) FMul 1067 1068
-                              Store 1066(r0) 1069
-            1071:   21(fvec3) Load 28(inFV0)
-            1072:    6(float) Load 26(inF0)
-            1073:   21(fvec3) VectorTimesScalar 1071 1072
-                              Store 1070(r1) 1073
-            1075:    6(float) Load 26(inF0)
-            1076:   21(fvec3) Load 28(inFV0)
-            1077:   21(fvec3) VectorTimesScalar 1076 1075
-                              Store 1074(r2) 1077
-            1079:   21(fvec3) Load 28(inFV0)
-            1080:   21(fvec3) Load 29(inFV1)
-            1081:    6(float) Dot 1079 1080
-                              Store 1078(r3) 1081
-            1083:          23 Load 30(inFM0)
-            1084:   21(fvec3) Load 28(inFV0)
-            1085:   21(fvec3) MatrixTimesVector 1083 1084
-                              Store 1082(r4) 1085
-            1087:   21(fvec3) Load 28(inFV0)
-            1088:          23 Load 30(inFM0)
-            1089:   21(fvec3) VectorTimesMatrix 1087 1088
-                              Store 1086(r5) 1089
-            1091:          23 Load 30(inFM0)
-            1092:    6(float) Load 26(inF0)
-            1093:          23 MatrixTimesScalar 1091 1092
-                              Store 1090(r6) 1093
-            1095:    6(float) Load 26(inF0)
-            1096:          23 Load 30(inFM0)
-            1097:          23 MatrixTimesScalar 1096 1095
-                              Store 1094(r7) 1097
-            1099:          23 Load 30(inFM0)
-            1100:          23 Load 31(inFM1)
-            1101:          23 MatrixTimesMatrix 1099 1100
-                              Store 1098(r8) 1101
+100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 93
+        94(inF0):      7(ptr) FunctionParameter
+        95(inF1):      7(ptr) FunctionParameter
+       96(inFV0):     37(ptr) FunctionParameter
+       97(inFV1):     37(ptr) FunctionParameter
+       98(inFM0):     69(ptr) FunctionParameter
+       99(inFM1):     69(ptr) FunctionParameter
+             101:             Label
+        1098(r0):      7(ptr) Variable Function
+        1102(r1):     37(ptr) Variable Function
+        1106(r2):     37(ptr) Variable Function
+        1110(r3):      7(ptr) Variable Function
+        1114(r4):     37(ptr) Variable Function
+        1118(r5):     37(ptr) Variable Function
+        1122(r6):     69(ptr) Variable Function
+        1126(r7):     69(ptr) Variable Function
+        1130(r8):     69(ptr) Variable Function
+            1099:    6(float) Load 94(inF0)
+            1100:    6(float) Load 95(inF1)
+            1101:    6(float) FMul 1099 1100
+                              Store 1098(r0) 1101
+            1103:   36(fvec3) Load 96(inFV0)
+            1104:    6(float) Load 94(inF0)
+            1105:   36(fvec3) VectorTimesScalar 1103 1104
+                              Store 1102(r1) 1105
+            1107:    6(float) Load 94(inF0)
+            1108:   36(fvec3) Load 96(inFV0)
+            1109:   36(fvec3) VectorTimesScalar 1108 1107
+                              Store 1106(r2) 1109
+            1111:   36(fvec3) Load 96(inFV0)
+            1112:   36(fvec3) Load 97(inFV1)
+            1113:    6(float) Dot 1111 1112
+                              Store 1110(r3) 1113
+            1115:          68 Load 98(inFM0)
+            1116:   36(fvec3) Load 96(inFV0)
+            1117:   36(fvec3) MatrixTimesVector 1115 1116
+                              Store 1114(r4) 1117
+            1119:   36(fvec3) Load 96(inFV0)
+            1120:          68 Load 98(inFM0)
+            1121:   36(fvec3) VectorTimesMatrix 1119 1120
+                              Store 1118(r5) 1121
+            1123:          68 Load 98(inFM0)
+            1124:    6(float) Load 94(inF0)
+            1125:          68 MatrixTimesScalar 1123 1124
+                              Store 1122(r6) 1125
+            1127:    6(float) Load 94(inF0)
+            1128:          68 Load 98(inFM0)
+            1129:          68 MatrixTimesScalar 1128 1127
+                              Store 1126(r7) 1129
+            1131:          68 Load 98(inFM0)
+            1132:          68 Load 99(inFM1)
+            1133:          68 MatrixTimesMatrix 1131 1132
+                              Store 1130(r8) 1133
                               Return
                               FunctionEnd
-45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 38
-        39(inF0):      7(ptr) FunctionParameter
-        40(inF1):      7(ptr) FunctionParameter
-       41(inFV0):     35(ptr) FunctionParameter
-       42(inFV1):     35(ptr) FunctionParameter
-       43(inFM0):     37(ptr) FunctionParameter
-       44(inFM1):     37(ptr) FunctionParameter
-              46:             Label
-        1102(r0):      7(ptr) Variable Function
-        1106(r1):     35(ptr) Variable Function
-        1110(r2):     35(ptr) Variable Function
-        1114(r3):      7(ptr) Variable Function
-        1118(r4):     35(ptr) Variable Function
-        1122(r5):     35(ptr) Variable Function
-        1126(r6):     37(ptr) Variable Function
-        1130(r7):     37(ptr) Variable Function
-        1134(r8):     37(ptr) Variable Function
-            1103:    6(float) Load 39(inF0)
-            1104:    6(float) Load 40(inF1)
-            1105:    6(float) FMul 1103 1104
-                              Store 1102(r0) 1105
-            1107:   34(fvec4) Load 41(inFV0)
-            1108:    6(float) Load 39(inF0)
-            1109:   34(fvec4) VectorTimesScalar 1107 1108
-                              Store 1106(r1) 1109
-            1111:    6(float) Load 39(inF0)
-            1112:   34(fvec4) Load 41(inFV0)
-            1113:   34(fvec4) VectorTimesScalar 1112 1111
-                              Store 1110(r2) 1113
-            1115:   34(fvec4) Load 41(inFV0)
-            1116:   34(fvec4) Load 42(inFV1)
-            1117:    6(float) Dot 1115 1116
-                              Store 1114(r3) 1117
-            1119:          36 Load 43(inFM0)
-            1120:   34(fvec4) Load 41(inFV0)
-            1121:   34(fvec4) MatrixTimesVector 1119 1120
-                              Store 1118(r4) 1121
-            1123:   34(fvec4) Load 41(inFV0)
-            1124:          36 Load 43(inFM0)
-            1125:   34(fvec4) VectorTimesMatrix 1123 1124
-                              Store 1122(r5) 1125
-            1127:          36 Load 43(inFM0)
-            1128:    6(float) Load 39(inF0)
-            1129:          36 MatrixTimesScalar 1127 1128
-                              Store 1126(r6) 1129
-            1131:    6(float) Load 39(inF0)
-            1132:          36 Load 43(inFM0)
-            1133:          36 MatrixTimesScalar 1132 1131
-                              Store 1130(r7) 1133
-            1135:          36 Load 43(inFM0)
-            1136:          36 Load 44(inFM1)
-            1137:          36 MatrixTimesMatrix 1135 1136
-                              Store 1134(r8) 1137
+109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 102
+       103(inF0):      7(ptr) FunctionParameter
+       104(inF1):      7(ptr) FunctionParameter
+      105(inFV0):     49(ptr) FunctionParameter
+      106(inFV1):     49(ptr) FunctionParameter
+      107(inFM0):     77(ptr) FunctionParameter
+      108(inFM1):     77(ptr) FunctionParameter
+             110:             Label
+        1134(r0):      7(ptr) Variable Function
+        1138(r1):     49(ptr) Variable Function
+        1142(r2):     49(ptr) Variable Function
+        1146(r3):      7(ptr) Variable Function
+        1150(r4):     49(ptr) Variable Function
+        1154(r5):     49(ptr) Variable Function
+        1158(r6):     77(ptr) Variable Function
+        1162(r7):     77(ptr) Variable Function
+        1166(r8):     77(ptr) Variable Function
+            1135:    6(float) Load 103(inF0)
+            1136:    6(float) Load 104(inF1)
+            1137:    6(float) FMul 1135 1136
+                              Store 1134(r0) 1137
+            1139:   48(fvec4) Load 105(inFV0)
+            1140:    6(float) Load 103(inF0)
+            1141:   48(fvec4) VectorTimesScalar 1139 1140
+                              Store 1138(r1) 1141
+            1143:    6(float) Load 103(inF0)
+            1144:   48(fvec4) Load 105(inFV0)
+            1145:   48(fvec4) VectorTimesScalar 1144 1143
+                              Store 1142(r2) 1145
+            1147:   48(fvec4) Load 105(inFV0)
+            1148:   48(fvec4) Load 106(inFV1)
+            1149:    6(float) Dot 1147 1148
+                              Store 1146(r3) 1149
+            1151:          76 Load 107(inFM0)
+            1152:   48(fvec4) Load 105(inFV0)
+            1153:   48(fvec4) MatrixTimesVector 1151 1152
+                              Store 1150(r4) 1153
+            1155:   48(fvec4) Load 105(inFV0)
+            1156:          76 Load 107(inFM0)
+            1157:   48(fvec4) VectorTimesMatrix 1155 1156
+                              Store 1154(r5) 1157
+            1159:          76 Load 107(inFM0)
+            1160:    6(float) Load 103(inF0)
+            1161:          76 MatrixTimesScalar 1159 1160
+                              Store 1158(r6) 1161
+            1163:    6(float) Load 103(inF0)
+            1164:          76 Load 107(inFM0)
+            1165:          76 MatrixTimesScalar 1164 1163
+                              Store 1162(r7) 1165
+            1167:          76 Load 107(inFM0)
+            1168:          76 Load 108(inFM1)
+            1169:          76 MatrixTimesMatrix 1167 1168
+                              Store 1166(r8) 1169
                               Return
                               FunctionEnd
-65(TestGenMul(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;):           2 Function None 55
-        56(inF0):      7(ptr) FunctionParameter
-        57(inF1):      7(ptr) FunctionParameter
-       58(inFV2):      9(ptr) FunctionParameter
-       59(inFV3):     22(ptr) FunctionParameter
-     60(inFM2x3):     48(ptr) FunctionParameter
-     61(inFM3x2):     50(ptr) FunctionParameter
-     62(inFM3x3):     24(ptr) FunctionParameter
-     63(inFM3x4):     52(ptr) FunctionParameter
-     64(inFM2x4):     54(ptr) FunctionParameter
-              66:             Label
-       1138(r00):      7(ptr) Variable Function
-       1142(r01):      9(ptr) Variable Function
-       1146(r02):     22(ptr) Variable Function
-       1150(r03):      9(ptr) Variable Function
-       1154(r04):     22(ptr) Variable Function
-       1158(r05):      7(ptr) Variable Function
-       1162(r06):      7(ptr) Variable Function
-       1166(r07):     22(ptr) Variable Function
-       1170(r08):      9(ptr) Variable Function
-       1174(r09):      9(ptr) Variable Function
-       1178(r10):     22(ptr) Variable Function
-       1182(r11):     48(ptr) Variable Function
-       1186(r12):     50(ptr) Variable Function
-       1190(r13):     11(ptr) Variable Function
-       1194(r14):     48(ptr) Variable Function
-       1198(r15):     54(ptr) Variable Function
-       1202(r16):     52(ptr) Variable Function
-            1139:    6(float) Load 56(inF0)
-            1140:    6(float) Load 57(inF1)
-            1141:    6(float) FMul 1139 1140
-                              Store 1138(r00) 1141
-            1143:    8(fvec2) Load 58(inFV2)
-            1144:    6(float) Load 56(inF0)
-            1145:    8(fvec2) VectorTimesScalar 1143 1144
-                              Store 1142(r01) 1145
-            1147:   21(fvec3) Load 59(inFV3)
-            1148:    6(float) Load 56(inF0)
-            1149:   21(fvec3) VectorTimesScalar 1147 1148
-                              Store 1146(r02) 1149
-            1151:    6(float) Load 56(inF0)
-            1152:    8(fvec2) Load 58(inFV2)
-            1153:    8(fvec2) VectorTimesScalar 1152 1151
-                              Store 1150(r03) 1153
-            1155:    6(float) Load 56(inF0)
-            1156:   21(fvec3) Load 59(inFV3)
-            1157:   21(fvec3) VectorTimesScalar 1156 1155
-                              Store 1154(r04) 1157
-            1159:    8(fvec2) Load 58(inFV2)
-            1160:    8(fvec2) Load 58(inFV2)
-            1161:    6(float) Dot 1159 1160
-                              Store 1158(r05) 1161
-            1163:   21(fvec3) Load 59(inFV3)
-            1164:   21(fvec3) Load 59(inFV3)
-            1165:    6(float) Dot 1163 1164
-                              Store 1162(r06) 1165
-            1167:    8(fvec2) Load 58(inFV2)
-            1168:          47 Load 60(inFM2x3)
-            1169:   21(fvec3) VectorTimesMatrix 1167 1168
-                              Store 1166(r07) 1169
-            1171:   21(fvec3) Load 59(inFV3)
-            1172:          49 Load 61(inFM3x2)
-            1173:    8(fvec2) VectorTimesMatrix 1171 1172
-                              Store 1170(r08) 1173
-            1175:          47 Load 60(inFM2x3)
-            1176:   21(fvec3) Load 59(inFV3)
-            1177:    8(fvec2) MatrixTimesVector 1175 1176
-                              Store 1174(r09) 1177
-            1179:          49 Load 61(inFM3x2)
-            1180:    8(fvec2) Load 58(inFV2)
-            1181:   21(fvec3) MatrixTimesVector 1179 1180
-                              Store 1178(r10) 1181
-            1183:          47 Load 60(inFM2x3)
-            1184:    6(float) Load 56(inF0)
-            1185:          47 MatrixTimesScalar 1183 1184
-                              Store 1182(r11) 1185
-            1187:          49 Load 61(inFM3x2)
-            1188:    6(float) Load 56(inF0)
-            1189:          49 MatrixTimesScalar 1187 1188
-                              Store 1186(r12) 1189
-            1191:          47 Load 60(inFM2x3)
-            1192:          49 Load 61(inFM3x2)
-            1193:          10 MatrixTimesMatrix 1191 1192
-                              Store 1190(r13) 1193
-            1195:          47 Load 60(inFM2x3)
-            1196:          23 Load 62(inFM3x3)
-            1197:          47 MatrixTimesMatrix 1195 1196
-                              Store 1194(r14) 1197
-            1199:          47 Load 60(inFM2x3)
-            1200:          51 Load 63(inFM3x4)
-            1201:          53 MatrixTimesMatrix 1199 1200
-                              Store 1198(r15) 1201
-            1203:          49 Load 61(inFM3x2)
-            1204:          53 Load 64(inFM2x4)
-            1205:          51 MatrixTimesMatrix 1203 1204
-                              Store 1202(r16) 1205
+129(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;):           2 Function None 119
+       120(inF0):      7(ptr) FunctionParameter
+       121(inF1):      7(ptr) FunctionParameter
+      122(inFV2):     25(ptr) FunctionParameter
+      123(inFV3):     37(ptr) FunctionParameter
+    124(inFM2x3):    112(ptr) FunctionParameter
+    125(inFM3x2):    114(ptr) FunctionParameter
+    126(inFM3x3):     69(ptr) FunctionParameter
+    127(inFM3x4):    116(ptr) FunctionParameter
+    128(inFM2x4):    118(ptr) FunctionParameter
+             130:             Label
+       1170(r00):      7(ptr) Variable Function
+       1174(r01):     25(ptr) Variable Function
+       1178(r02):     37(ptr) Variable Function
+       1182(r03):     25(ptr) Variable Function
+       1186(r04):     37(ptr) Variable Function
+       1190(r05):      7(ptr) Variable Function
+       1194(r06):      7(ptr) Variable Function
+       1198(r07):     37(ptr) Variable Function
+       1202(r08):     25(ptr) Variable Function
+       1206(r09):     25(ptr) Variable Function
+       1210(r10):     37(ptr) Variable Function
+       1214(r11):    112(ptr) Variable Function
+       1218(r12):    114(ptr) Variable Function
+       1222(r13):     61(ptr) Variable Function
+       1226(r14):    112(ptr) Variable Function
+       1230(r15):    118(ptr) Variable Function
+       1234(r16):    116(ptr) Variable Function
+            1171:    6(float) Load 120(inF0)
+            1172:    6(float) Load 121(inF1)
+            1173:    6(float) FMul 1171 1172
+                              Store 1170(r00) 1173
+            1175:   24(fvec2) Load 122(inFV2)
+            1176:    6(float) Load 120(inF0)
+            1177:   24(fvec2) VectorTimesScalar 1175 1176
+                              Store 1174(r01) 1177
+            1179:   36(fvec3) Load 123(inFV3)
+            1180:    6(float) Load 120(inF0)
+            1181:   36(fvec3) VectorTimesScalar 1179 1180
+                              Store 1178(r02) 1181
+            1183:    6(float) Load 120(inF0)
+            1184:   24(fvec2) Load 122(inFV2)
+            1185:   24(fvec2) VectorTimesScalar 1184 1183
+                              Store 1182(r03) 1185
+            1187:    6(float) Load 120(inF0)
+            1188:   36(fvec3) Load 123(inFV3)
+            1189:   36(fvec3) VectorTimesScalar 1188 1187
+                              Store 1186(r04) 1189
+            1191:   24(fvec2) Load 122(inFV2)
+            1192:   24(fvec2) Load 122(inFV2)
+            1193:    6(float) Dot 1191 1192
+                              Store 1190(r05) 1193
+            1195:   36(fvec3) Load 123(inFV3)
+            1196:   36(fvec3) Load 123(inFV3)
+            1197:    6(float) Dot 1195 1196
+                              Store 1194(r06) 1197
+            1199:   24(fvec2) Load 122(inFV2)
+            1200:         111 Load 124(inFM2x3)
+            1201:   36(fvec3) VectorTimesMatrix 1199 1200
+                              Store 1198(r07) 1201
+            1203:   36(fvec3) Load 123(inFV3)
+            1204:         113 Load 125(inFM3x2)
+            1205:   24(fvec2) VectorTimesMatrix 1203 1204
+                              Store 1202(r08) 1205
+            1207:         111 Load 124(inFM2x3)
+            1208:   36(fvec3) Load 123(inFV3)
+            1209:   24(fvec2) MatrixTimesVector 1207 1208
+                              Store 1206(r09) 1209
+            1211:         113 Load 125(inFM3x2)
+            1212:   24(fvec2) Load 122(inFV2)
+            1213:   36(fvec3) MatrixTimesVector 1211 1212
+                              Store 1210(r10) 1213
+            1215:         111 Load 124(inFM2x3)
+            1216:    6(float) Load 120(inF0)
+            1217:         111 MatrixTimesScalar 1215 1216
+                              Store 1214(r11) 1217
+            1219:         113 Load 125(inFM3x2)
+            1220:    6(float) Load 120(inF0)
+            1221:         113 MatrixTimesScalar 1219 1220
+                              Store 1218(r12) 1221
+            1223:         111 Load 124(inFM2x3)
+            1224:         113 Load 125(inFM3x2)
+            1225:          60 MatrixTimesMatrix 1223 1224
+                              Store 1222(r13) 1225
+            1227:         111 Load 124(inFM2x3)
+            1228:          68 Load 126(inFM3x3)
+            1229:         111 MatrixTimesMatrix 1227 1228
+                              Store 1226(r14) 1229
+            1231:         111 Load 124(inFM2x3)
+            1232:         115 Load 127(inFM3x4)
+            1233:         117 MatrixTimesMatrix 1231 1232
+                              Store 1230(r15) 1233
+            1235:         113 Load 125(inFM3x2)
+            1236:         117 Load 128(inFM2x4)
+            1237:         115 MatrixTimesMatrix 1235 1236
+                              Store 1234(r16) 1237
                               Return
                               FunctionEnd
index 79f3d7d1498c4a5a20f9528faa53d7d6de851dd6..642a0fc609ad4d38fbda55e9b6d2621b2351f7db 100644 (file)
@@ -13,7 +13,7 @@ gs uint4 gs_ua4;
 gs uint4 gs_ub4;
 gs uint4 gs_uc4;
 
-float ComputeShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float ComputeShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
 {
     uint out_u1;
 
@@ -41,13 +41,13 @@ float ComputeShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint
     return 0.0;
 }
 
-float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
 {
     // TODO: ... add when float1 prototypes are generated
     return 0.0;
 }
 
-float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
 {
     uint2 out_u2;
 
@@ -74,7 +74,7 @@ float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0,
     return float2(1,2);
 }
 
-float3 ComputeShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
 {
     uint3 out_u3;
     
index 4a68a67d34f02746ef601448724226bfcfa45ebb..91ff33eb7d608896726f00a1a5d288c4de427bbb 100644 (file)
@@ -1,24 +1,24 @@
-float PixelShaderFunction(float inF0)
+float PixelShaderFunctionS(float inF0)
 {
     f32tof16(inF0);
 
     return 0.0;
 }
 
-float1 PixelShaderFunction(float1 inF0)
+float1 PixelShaderFunction1(float1 inF0)
 {
     // TODO: ... add when float1 prototypes are generated
     return 0.0;
 }
 
-float2 PixelShaderFunction(float2 inF0)
+float2 PixelShaderFunction2(float2 inF0)
 {
     f32tof16(inF0);
 
     return float2(1,2);
 }
 
-float3 PixelShaderFunction(float3 inF0)
+float3 PixelShaderFunction3(float3 inF0)
 {
     f32tof16(inF0);
 
index 6b8b97737e8a43ab64e73a9db2a432dce66c12fe..dd417a10e5cdad29b5cf121fc53801a1a04000bb 100644 (file)
@@ -13,7 +13,7 @@ gs uint4 gs_ua4;
 gs uint4 gs_ub4;
 gs uint4 gs_uc4;
 
-float PixelShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
 {
     uint out_u1;
 
@@ -85,13 +85,13 @@ float PixelShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint in
     return 0.0;
 }
 
-float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 PixelShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
 {
     // TODO: ... add when float1 prototypes are generated
     return 0.0;
 }
 
-float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 PixelShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
 {
     uint2 out_u2;
 
@@ -174,7 +174,7 @@ float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, ui
     return float2(1,2);
 }
 
-float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
 {
     uint3 out_u3;
     
@@ -396,7 +396,7 @@ float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, ui
 
 // TODO: turn on non-square matrix tests when protos are available.
 
-float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 PixelShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS(float2x2);
@@ -405,7 +405,7 @@ float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
     return float2x2(2,2,2,2);
 }
 
-float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 PixelShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS(float3x3);
@@ -414,7 +414,7 @@ float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
     return float3x3(3,3,3,3,3,3,3,3,3);
 }
 
-float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 PixelShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS(float4x4);
@@ -435,21 +435,21 @@ float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
     MT r8 = mul(inFM0, inFM1);
 
 
-void TestGenMul(float inF0, float inF1,
+void TestGenMul2(float inF0, float inF1,
                 float2 inFV0, float2 inFV1,
                 float2x2 inFM0, float2x2 inFM1)
 {
     TESTGENMUL(float, float2, float2x2);
 }
 
-void TestGenMul(float inF0, float inF1,
+void TestGenMul3(float inF0, float inF1,
                 float3 inFV0, float3 inFV1,
                 float3x3 inFM0, float3x3 inFM1)
 {
     TESTGENMUL(float, float3, float3x3);
 }
 
-void TestGenMul(float inF0, float inF1,
+void TestGenMul4(float inF0, float inF1,
                 float4 inFV0, float4 inFV1,
                 float4x4 inFM0, float4x4 inFM1)
 {
@@ -457,11 +457,11 @@ void TestGenMul(float inF0, float inF1,
 }
 
 // Test some non-square mats
-void TestGenMul(float inF0, float inF1,
-                float2 inFV2, float3 inFV3,
-                float2x3 inFM2x3, float3x2 inFM3x2,
-                float3x3 inFM3x3, float3x4 inFM3x4,
-                float2x4 inFM2x4)
+void TestGenMulNxM(float inF0, float inF1,
+                   float2 inFV2, float3 inFV3,
+                   float2x3 inFM2x3, float3x2 inFM3x2,
+                   float3x3 inFM3x3, float3x4 inFM3x4,
+                   float2x4 inFM2x4)
 {
     float  r00 = mul(inF0,  inF1);  // S=S*S
     float2 r01 = mul(inFV2, inF0);  // V=V*S
index 6989c50e619ad34efda0cb771066a2900e0bbba2..c89d04bc1d5c640ca760a28a4624b039d1fec37e 100644 (file)
@@ -1,4 +1,4 @@
-float ComputeShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
 {
     uint out_u1;
 
@@ -53,7 +53,7 @@ float ComputeShaderFunction(float inF0, float inF1, float inF2, int inI0)
     return 0.0;
 }
 
-float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
 {
     // TODO: ... add when float1 prototypes are generated
 
@@ -62,7 +62,7 @@ float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
     return 0.0;
 }
 
-float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
 {
     uint2 out_u2;
 
@@ -109,7 +109,7 @@ float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
     return float2(1,2);
 }
 
-float3 ComputeShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
 {
     uint3 out_u3;
 
index 9bb20cf1769a3de560569d1f756bbf58f2b94770..8afaf877466171f2e9c9480eeccd8c6802f7ac90 100644 (file)
@@ -1,4 +1,4 @@
-float PixelShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float PixelShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
 {
     // AllMemoryBarrier();              // TODO: expected error: invalid in fragment stage
     // AllMemoryBarrierWithGroupSync(); // TODO: expected error: invalid in fragment stage
@@ -32,7 +32,7 @@ float PixelShaderFunction(float inF0, float inF1, float inF2, int inI0)
     return 0.0;
 }
 
-float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 PixelShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
 {
     // TODO: ... add when float1 prototypes are generated
 
@@ -41,7 +41,7 @@ float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
     return 0.0;
 }
 
-float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 PixelShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
 {
     asdouble(inF0, inF1);         // expected error: only integer inputs
     CheckAccessFullyMapped(inF0); // expected error: only valid on scalars
@@ -59,7 +59,7 @@ float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
     return float2(1,2);
 }
 
-float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
 {
     CheckAccessFullyMapped(inF0);  // expected error: only valid on scalars
     countbits(inF0);            // expected error: only integer inputs
@@ -111,7 +111,7 @@ float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
 
 // TODO: turn on non-square matrix tests when protos are available.
 
-float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 PixelShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
@@ -119,7 +119,7 @@ float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
     return float2x2(2,2,2,2);
 }
 
-float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 PixelShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
@@ -127,7 +127,7 @@ float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
     return float3x3(3,3,3,3,3,3,3,3,3);
 }
 
-float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 PixelShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
index 301fb7bdd69f84577853235e242b537235df909f..a5030cf1b560dad39ec79c623597f82562b402f2 100644 (file)
@@ -11,7 +11,7 @@ uint4 gs_ua4;
 uint4 gs_ub4;
 uint4 gs_uc4;
 
-float VertexShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float VertexShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
 {
     uint out_u1;
 
@@ -71,7 +71,7 @@ float VertexShaderFunction(float inF0, float inF1, float inF2, int inI0)
     return 0.0;
 }
 
-float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 VertexShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
 {
     // TODO: ... add when float1 prototypes are generated
 
@@ -80,7 +80,7 @@ float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
     return 0.0;
 }
 
-float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
 {
     uint2 out_u2;
 
@@ -127,7 +127,7 @@ float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
     return float2(1,2);
 }
 
-float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
 {
     uint3 out_u3;
 
@@ -247,7 +247,7 @@ float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
 
 // TODO: turn on non-square matrix tests when protos are available.
 
-float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 VertexShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
@@ -255,7 +255,7 @@ float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
     return float2x2(2,2,2,2);
 }
 
-float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 VertexShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
@@ -263,7 +263,7 @@ float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
     return float3x3(3,3,3,3,3,3,3,3,3);
 }
 
-float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 VertexShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS()
index 68eec1836617b22a8900daa5631a9919a90c64e7..de9476cbd095734b86ff18b5d766813abf54f019 100644 (file)
@@ -1,4 +1,4 @@
-float VertexShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float VertexShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
 {
     all(inF0);
     abs(inF0);
@@ -60,13 +60,13 @@ float VertexShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint i
     return 0.0;
 }
 
-float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 VertexShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
 {
     // TODO: ... add when float1 prototypes are generated
     return 0.0;
 }
 
-float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
 {
     all(inF0);
     abs(inF0);
@@ -136,7 +136,7 @@ float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, u
     return float2(1,2);
 }
 
-float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
 {
     all(inF0);
     abs(inF0);
@@ -207,7 +207,7 @@ float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, u
     return float3(1,2,3);
 }
 
-float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, uint4 inU1)
+float4 VertexShaderFunction4(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, uint4 inU1)
 {
     all(inF0);
     abs(inF0);
@@ -332,7 +332,7 @@ float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, u
 
 // TODO: turn on non-square matrix tests when protos are available.
 
-float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 VertexShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS();
@@ -341,7 +341,7 @@ float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
     return float2x2(2,2,2,2);
 }
 
-float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 VertexShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS();
@@ -350,7 +350,7 @@ float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
     return float3x3(3,3,3,3,3,3,3,3,3);
 }
 
-float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 VertexShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
 {
     // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
     MATFNS();
@@ -371,33 +371,33 @@ float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
     MT r8 = mul(inFM0, inFM1);
 
 
-void TestGenMul(float inF0, float inF1,
-                float2 inFV0, float2 inFV1,
-                float2x2 inFM0, float2x2 inFM1)
+void TestGenMul2(float inF0, float inF1,
+                 float2 inFV0, float2 inFV1,
+                 float2x2 inFM0, float2x2 inFM1)
 {
     TESTGENMUL(float, float2, float2x2);
 }
 
-void TestGenMul(float inF0, float inF1,
-                float3 inFV0, float3 inFV1,
-                float3x3 inFM0, float3x3 inFM1)
+void TestGenMul3(float inF0, float inF1,
+                 float3 inFV0, float3 inFV1,
+                 float3x3 inFM0, float3x3 inFM1)
 {
     TESTGENMUL(float, float3, float3x3);
 }
 
-void TestGenMul(float inF0, float inF1,
-                float4 inFV0, float4 inFV1,
-                float4x4 inFM0, float4x4 inFM1)
+void TestGenMul4(float inF0, float inF1,
+                 float4 inFV0, float4 inFV1,
+                 float4x4 inFM0, float4x4 inFM1)
 {
     TESTGENMUL(float, float4, float4x4);
 }
 
 // Test some non-square mats
-void TestGenMul(float inF0, float inF1,
-                float2 inFV2, float3 inFV3,
-                float2x3 inFM2x3, float3x2 inFM3x2,
-                float3x3 inFM3x3, float3x4 inFM3x4,
-                float2x4 inFM2x4)
+void TestGenMulNxM(float inF0, float inF1,
+                   float2 inFV2, float3 inFV3,
+                   float2x3 inFM2x3, float3x2 inFM3x2,
+                   float3x3 inFM3x3, float3x4 inFM3x4,
+                   float2x4 inFM2x4)
 {
     float  r00 = mul(inF0,  inF1);  // S=S*S
     float2 r01 = mul(inFV2, inF0);  // V=V*S