HLSL: Change intrinsics tests to not use overloaded entry points

This commit is contained in:
LoopDawg 2016-06-30 14:13:03 -06:00
parent af151f964f
commit e903ab5f04
14 changed files with 4635 additions and 2344 deletions

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.comp
Shader version: 450 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence 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 Function Parameters:
0:17 'inF0' (in float) 0:17 'inF0' (in float)
0:17 'inF1' (in float) 0:17 'inF1' (in float)
@ -74,7 +74,7 @@ local_size = (1, 1, 1)
0:41 Branch: Return with expression 0:41 Branch: Return with expression
0:41 Constant: 0:41 Constant:
0:41 0.000000 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 Function Parameters:
0:45 'inF0' (in 1-component vector of float) 0:45 'inF0' (in 1-component vector of float)
0:45 'inF1' (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 Branch: Return with expression
0:47 Constant: 0:47 Constant:
0:47 0.000000 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 Function Parameters:
0:51 'inF0' (in 2-component vector of float) 0:51 'inF0' (in 2-component vector of float)
0:51 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:78 'inF0' (in 3-component vector of float) 0:78 'inF0' (in 3-component vector of float)
0:78 'inF1' (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 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence 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 Function Parameters:
0:17 'inF0' (in float) 0:17 'inF0' (in float)
0:17 'inF1' (in float) 0:17 'inF1' (in float)
@ -398,7 +398,7 @@ local_size = (1, 1, 1)
0:41 Branch: Return with expression 0:41 Branch: Return with expression
0:41 Constant: 0:41 Constant:
0:41 0.000000 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 Function Parameters:
0:45 'inF0' (in 1-component vector of float) 0:45 'inF0' (in 1-component vector of float)
0:45 'inF1' (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 Branch: Return with expression
0:47 Constant: 0:47 Constant:
0:47 0.000000 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 Function Parameters:
0:51 'inF0' (in 2-component vector of float) 0:51 'inF0' (in 2-component vector of float)
0:51 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:78 'inF0' (in 3-component vector of float) 0:78 'inF0' (in 3-component vector of float)
0:78 'inF1' (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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 182 // Id's are bound by 213
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 8 54 98 141 EntryPoint GLCompute 4 "ComputeShaderFunction" 172
ExecutionMode 4 LocalSize 1 1 1 ExecutionMode 4 LocalSize 1 1 1
Source HLSL 450 Source HLSL 450
Name 4 "ComputeShaderFunction" Name 4 "ComputeShaderFunction"
Name 8 "inF0" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
Name 14 "gs_ua" Name 11 "inF0"
Name 15 "gs_ub" Name 12 "inF1"
Name 20 "out_u1" Name 13 "inF2"
Name 28 "gs_uc" Name 14 "inU0"
Name 54 "inF0" Name 15 "inU1"
Name 59 "gs_ua2" Name 22 "ComputeShaderFunction1(vf1;vf1;vf1;"
Name 60 "gs_ub2" Name 19 "inF0"
Name 63 "out_u2" Name 20 "inF1"
Name 71 "gs_uc2" Name 21 "inF2"
Name 98 "inF0" Name 34 "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
Name 103 "gs_ua3" Name 29 "inF0"
Name 104 "gs_ub3" Name 30 "inF1"
Name 107 "out_u3" Name 31 "inF2"
Name 115 "gs_uc3" Name 32 "inU0"
Name 141 "inF0" Name 33 "inU1"
Name 146 "gs_ua4" Name 46 "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
Name 147 "gs_ub4" Name 41 "inF0"
Name 150 "out_u4" Name 42 "inF1"
Name 158 "gs_uc4" 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Input 6(float) 7: TypePointer Function 6(float)
8(inF0): 7(ptr) Variable Input 8: TypeInt 32 0
10: TypeBool 9: TypePointer Function 8(int)
12: TypeInt 32 0 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
13: TypePointer Function 12(int) 18: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
17: 12(int) Constant 1 24: TypeVector 6(float) 2
18: 12(int) Constant 0 25: TypePointer Function 24(fvec2)
49: 6(float) Constant 0 26: TypeVector 8(int) 2
52: TypeVector 6(float) 2 27: TypePointer Function 26(ivec2)
53: TypePointer Input 52(fvec2) 28: TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
54(inF0): 53(ptr) Variable Input 36: TypeVector 6(float) 3
57: TypeVector 12(int) 2 37: TypePointer Function 36(fvec3)
58: TypePointer Function 57(ivec2) 38: TypeVector 8(int) 3
92: 6(float) Constant 1065353216 39: TypePointer Function 38(ivec3)
93: 6(float) Constant 1073741824 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
94: 52(fvec2) ConstantComposite 92 93 49: TypeBool
96: TypeVector 6(float) 3 54: 8(int) Constant 1
97: TypePointer Input 96(fvec3) 55: 8(int) Constant 0
98(inF0): 97(ptr) Variable Input 86: 6(float) Constant 0
101: TypeVector 12(int) 3 126: 6(float) Constant 1065353216
102: TypePointer Function 101(ivec3) 127: 6(float) Constant 1073741824
136: 6(float) Constant 1077936128 128: 24(fvec2) ConstantComposite 126 127
137: 96(fvec3) ConstantComposite 92 93 136 166: 6(float) Constant 1077936128
139: TypeVector 6(float) 4 167: 36(fvec3) ConstantComposite 126 127 166
140: TypePointer Input 139(fvec4) 170: TypeVector 6(float) 4
141(inF0): 140(ptr) Variable Input 171: TypePointer Input 170(fvec4)
144: TypeVector 12(int) 4 172(inF0): 171(ptr) Variable Input
145: TypePointer Function 144(ivec4) 175: TypeVector 8(int) 4
179: 6(float) Constant 1082130432 176: TypePointer Function 175(ivec4)
180: 139(fvec4) ConstantComposite 92 93 136 179 210: 6(float) Constant 1082130432
211: 170(fvec4) ConstantComposite 126 127 166 210
4(ComputeShaderFunction): 2 Function None 3 4(ComputeShaderFunction): 2 Function None 3
5: Label 5: Label
14(gs_ua): 13(ptr) Variable Function 177(gs_ua4): 176(ptr) Variable Function
15(gs_ub): 13(ptr) Variable Function 178(gs_ub4): 176(ptr) Variable Function
20(out_u1): 13(ptr) Variable Function 181(out_u4): 176(ptr) Variable Function
28(gs_uc): 13(ptr) Variable Function 189(gs_uc4): 176(ptr) Variable Function
59(gs_ua2): 58(ptr) Variable Function 173: 170(fvec4) Load 172(inF0)
60(gs_ub2): 58(ptr) Variable Function 174: 49(bool) All 173
63(out_u2): 58(ptr) Variable Function 179: 175(ivec4) Load 178(gs_ub4)
71(gs_uc2): 58(ptr) Variable Function 180: 2 AtomicIAdd 177(gs_ua4) 54 55 179
103(gs_ua3): 102(ptr) Variable Function 182: 175(ivec4) Load 178(gs_ub4)
104(gs_ub3): 102(ptr) Variable Function 183: 175(ivec4) AtomicIAdd 177(gs_ua4) 54 55 182
107(out_u3): 102(ptr) Variable Function Store 181(out_u4) 183
115(gs_uc3): 102(ptr) Variable Function 184: 175(ivec4) Load 178(gs_ub4)
146(gs_ua4): 145(ptr) Variable Function 185: 2 AtomicAnd 177(gs_ua4) 54 55 184
147(gs_ub4): 145(ptr) Variable Function 186: 175(ivec4) Load 178(gs_ub4)
150(out_u4): 145(ptr) Variable Function 187: 175(ivec4) AtomicAnd 177(gs_ua4) 54 55 186
158(gs_uc4): 145(ptr) Variable Function Store 181(out_u4) 187
9: 6(float) Load 8(inF0) 188: 175(ivec4) Load 178(gs_ub4)
11: 10(bool) All 9 190: 175(ivec4) Load 189(gs_uc4)
16: 12(int) Load 15(gs_ub) 191: 175(ivec4) AtomicCompareExchange 177(gs_ua4) 54 55 55 190 188
19: 2 AtomicIAdd 14(gs_ua) 17 18 16 Store 181(out_u4) 191
21: 12(int) Load 15(gs_ub) 192: 175(ivec4) Load 178(gs_ub4)
22: 12(int) AtomicIAdd 14(gs_ua) 17 18 21 193: 175(ivec4) AtomicExchange 177(gs_ua4) 54 55 192
Store 20(out_u1) 22 Store 181(out_u4) 193
23: 12(int) Load 15(gs_ub) 194: 175(ivec4) Load 178(gs_ub4)
24: 2 AtomicAnd 14(gs_ua) 17 18 23 195: 2 AtomicSMax 177(gs_ua4) 54 55 194
25: 12(int) Load 15(gs_ub) 196: 175(ivec4) Load 178(gs_ub4)
26: 12(int) AtomicAnd 14(gs_ua) 17 18 25 197: 175(ivec4) AtomicUMax 177(gs_ua4) 54 55 196
Store 20(out_u1) 26 Store 181(out_u4) 197
27: 12(int) Load 15(gs_ub) 198: 175(ivec4) Load 178(gs_ub4)
29: 12(int) Load 28(gs_uc) 199: 2 AtomicSMin 177(gs_ua4) 54 55 198
30: 12(int) AtomicCompareExchange 14(gs_ua) 17 18 18 29 27 200: 175(ivec4) Load 178(gs_ub4)
Store 20(out_u1) 30 201: 175(ivec4) AtomicUMin 177(gs_ua4) 54 55 200
31: 12(int) Load 15(gs_ub) Store 181(out_u4) 201
32: 12(int) AtomicExchange 14(gs_ua) 17 18 31 202: 175(ivec4) Load 178(gs_ub4)
Store 20(out_u1) 32 203: 2 AtomicOr 177(gs_ua4) 54 55 202
33: 12(int) Load 15(gs_ub) 204: 175(ivec4) Load 178(gs_ub4)
34: 2 AtomicSMax 14(gs_ua) 17 18 33 205: 175(ivec4) AtomicOr 177(gs_ua4) 54 55 204
35: 12(int) Load 15(gs_ub) Store 181(out_u4) 205
36: 12(int) AtomicUMax 14(gs_ua) 17 18 35 206: 175(ivec4) Load 178(gs_ub4)
Store 20(out_u1) 36 207: 2 AtomicXor 177(gs_ua4) 54 55 206
37: 12(int) Load 15(gs_ub) 208: 175(ivec4) Load 178(gs_ub4)
38: 2 AtomicSMin 14(gs_ua) 17 18 37 209: 175(ivec4) AtomicXor 177(gs_ua4) 54 55 208
39: 12(int) Load 15(gs_ub) Store 181(out_u4) 209
40: 12(int) AtomicUMin 14(gs_ua) 17 18 39 ReturnValue 211
Store 20(out_u1) 40 FunctionEnd
41: 12(int) Load 15(gs_ub) 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10
42: 2 AtomicOr 14(gs_ua) 17 18 41 11(inF0): 7(ptr) FunctionParameter
43: 12(int) Load 15(gs_ub) 12(inF1): 7(ptr) FunctionParameter
44: 12(int) AtomicOr 14(gs_ua) 17 18 43 13(inF2): 7(ptr) FunctionParameter
Store 20(out_u1) 44 14(inU0): 9(ptr) FunctionParameter
45: 12(int) Load 15(gs_ub) 15(inU1): 9(ptr) FunctionParameter
46: 2 AtomicXor 14(gs_ua) 17 18 45 17: Label
47: 12(int) Load 15(gs_ub) 51(gs_ua): 9(ptr) Variable Function
48: 12(int) AtomicXor 14(gs_ua) 17 18 47 52(gs_ub): 9(ptr) Variable Function
Store 20(out_u1) 48 57(out_u1): 9(ptr) Variable Function
ReturnValue 49 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 FunctionEnd

View File

@ -9,7 +9,7 @@ ERROR: 4 compilation errors. No code generated.
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:? Sequence 0:? Sequence
@ -19,14 +19,14 @@ ERROR: node is still EOpNull!
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 Constant: 0:5 Constant:
0:5 0.000000 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 Function Parameters:
0:9 'inF0' (in 1-component vector of float) 0:9 'inF0' (in 1-component vector of float)
0:? Sequence 0:? Sequence
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 Constant: 0:11 Constant:
0:11 0.000000 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 Function Parameters:
0:15 'inF0' (in 2-component vector of float) 0:15 'inF0' (in 2-component vector of float)
0:? Sequence 0:? Sequence
@ -37,7 +37,7 @@ ERROR: node is still EOpNull!
0:? Constant: 0:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:22 'inF0' (in 3-component vector of float) 0:22 'inF0' (in 3-component vector of float)
0:? Sequence 0:? Sequence
@ -71,7 +71,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:? Sequence 0:? Sequence
@ -81,14 +81,14 @@ ERROR: node is still EOpNull!
0:5 Branch: Return with expression 0:5 Branch: Return with expression
0:5 Constant: 0:5 Constant:
0:5 0.000000 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 Function Parameters:
0:9 'inF0' (in 1-component vector of float) 0:9 'inF0' (in 1-component vector of float)
0:? Sequence 0:? Sequence
0:11 Branch: Return with expression 0:11 Branch: Return with expression
0:11 Constant: 0:11 Constant:
0:11 0.000000 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 Function Parameters:
0:15 'inF0' (in 2-component vector of float) 0:15 'inF0' (in 2-component vector of float)
0:? Sequence 0:? Sequence
@ -99,7 +99,7 @@ ERROR: node is still EOpNull!
0:? Constant: 0:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:22 'inF0' (in 3-component vector of float) 0:22 'inF0' (in 3-component vector of float)
0:? Sequence 0:? Sequence

File diff suppressed because it is too large Load Diff

View File

@ -152,7 +152,7 @@ ERROR: 147 compilation errors. No code generated.
Shader version: 450 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:2 'inF1' (in float) 0:2 'inF1' (in float)
@ -246,7 +246,7 @@ ERROR: node is still EOpNull!
0:53 Branch: Return with expression 0:53 Branch: Return with expression
0:53 Constant: 0:53 Constant:
0:53 0.000000 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 Function Parameters:
0:57 'inF0' (in 1-component vector of float) 0:57 'inF0' (in 1-component vector of float)
0:57 'inF1' (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 Branch: Return with expression
0:62 Constant: 0:62 Constant:
0:62 0.000000 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 Function Parameters:
0:66 'inF0' (in 2-component vector of float) 0:66 'inF0' (in 2-component vector of float)
0:66 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:113 'inF0' (in 3-component vector of float) 0:113 'inF0' (in 3-component vector of float)
0:113 'inF1' (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 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:2 'inF1' (in float) 0:2 'inF1' (in float)
@ -605,7 +605,7 @@ ERROR: node is still EOpNull!
0:53 Branch: Return with expression 0:53 Branch: Return with expression
0:53 Constant: 0:53 Constant:
0:53 0.000000 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 Function Parameters:
0:57 'inF0' (in 1-component vector of float) 0:57 'inF0' (in 1-component vector of float)
0:57 'inF1' (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 Branch: Return with expression
0:62 Constant: 0:62 Constant:
0:62 0.000000 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 Function Parameters:
0:66 'inF0' (in 2-component vector of float) 0:66 'inF0' (in 2-component vector of float)
0:66 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:113 'inF0' (in 3-component vector of float) 0:113 'inF0' (in 3-component vector of float)
0:113 'inF1' (in 3-component vector of float) 0:113 'inF1' (in 3-component vector of float)

View File

@ -91,7 +91,7 @@ ERROR: 86 compilation errors. No code generated.
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:2 'inF1' (in float) 0:2 'inF1' (in float)
@ -135,7 +135,7 @@ ERROR: node is still EOpNull!
0:32 Branch: Return with expression 0:32 Branch: Return with expression
0:32 Constant: 0:32 Constant:
0:32 0.000000 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 Function Parameters:
0:36 'inF0' (in 1-component vector of float) 0:36 'inF0' (in 1-component vector of float)
0:36 'inF1' (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 Branch: Return with expression
0:41 Constant: 0:41 Constant:
0:41 0.000000 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 Function Parameters:
0:45 'inF0' (in 2-component vector of float) 0:45 'inF0' (in 2-component vector of float)
0:45 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:63 'inF0' (in 3-component vector of float) 0:63 'inF0' (in 3-component vector of float)
0:63 'inF1' (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:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float) 0:115 'inF0' (in 2X2 matrix of float)
0:115 'inF1' (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:? 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 Function Parameters:
0:123 'inF0' (in 3X3 matrix of float) 0:123 'inF0' (in 3X3 matrix of float)
0:123 'inF1' (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:? 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 Function Parameters:
0:131 'inF0' (in 4X4 matrix of float) 0:131 'inF0' (in 4X4 matrix of float)
0:131 'inF1' (in 4X4 matrix of float) 0:131 'inF1' (in 4X4 matrix of float)
@ -381,7 +381,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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 Function Parameters:
0:2 'inF0' (in float) 0:2 'inF0' (in float)
0:2 'inF1' (in float) 0:2 'inF1' (in float)
@ -425,7 +425,7 @@ ERROR: node is still EOpNull!
0:32 Branch: Return with expression 0:32 Branch: Return with expression
0:32 Constant: 0:32 Constant:
0:32 0.000000 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 Function Parameters:
0:36 'inF0' (in 1-component vector of float) 0:36 'inF0' (in 1-component vector of float)
0:36 'inF1' (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 Branch: Return with expression
0:41 Constant: 0:41 Constant:
0:41 0.000000 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 Function Parameters:
0:45 'inF0' (in 2-component vector of float) 0:45 'inF0' (in 2-component vector of float)
0:45 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:63 'inF0' (in 3-component vector of float) 0:63 'inF0' (in 3-component vector of float)
0:63 'inF1' (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:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float) 0:115 'inF0' (in 2X2 matrix of float)
0:115 'inF1' (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:? 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 Function Parameters:
0:123 'inF0' (in 3X3 matrix of float) 0:123 'inF0' (in 3X3 matrix of float)
0:123 'inF1' (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:? 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 Function Parameters:
0:131 'inF0' (in 4X4 matrix of float) 0:131 'inF0' (in 4X4 matrix of float)
0:131 'inF1' (in 4X4 matrix of float) 0:131 'inF1' (in 4X4 matrix of float)

View File

@ -230,7 +230,7 @@ ERROR: 226 compilation errors. No code generated.
Shader version: 450 Shader version: 450
ERROR: node is still EOpNull! 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 Function Parameters:
0:15 'inF0' (in float) 0:15 'inF0' (in float)
0:15 'inF1' (in float) 0:15 'inF1' (in float)
@ -338,7 +338,7 @@ ERROR: node is still EOpNull!
0:71 Branch: Return with expression 0:71 Branch: Return with expression
0:71 Constant: 0:71 Constant:
0:71 0.000000 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 Function Parameters:
0:75 'inF0' (in 1-component vector of float) 0:75 'inF0' (in 1-component vector of float)
0:75 'inF1' (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 Branch: Return with expression
0:80 Constant: 0:80 Constant:
0:80 0.000000 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 Function Parameters:
0:84 'inF0' (in 2-component vector of float) 0:84 'inF0' (in 2-component vector of float)
0:84 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:131 'inF0' (in 3-component vector of float) 0:131 'inF0' (in 3-component vector of float)
0:131 'inF1' (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:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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 Function Parameters:
0:251 'inF0' (in 2X2 matrix of float) 0:251 'inF0' (in 2X2 matrix of float)
0:251 'inF1' (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:? 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 Function Parameters:
0:259 'inF0' (in 3X3 matrix of float) 0:259 'inF0' (in 3X3 matrix of float)
0:259 'inF1' (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:? 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 Function Parameters:
0:267 'inF0' (in 4X4 matrix of float) 0:267 'inF0' (in 4X4 matrix of float)
0:267 'inF1' (in 4X4 matrix of float) 0:267 'inF1' (in 4X4 matrix of float)
@ -811,7 +811,7 @@ Linked vertex stage:
Shader version: 450 Shader version: 450
ERROR: node is still EOpNull! 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 Function Parameters:
0:15 'inF0' (in float) 0:15 'inF0' (in float)
0:15 'inF1' (in float) 0:15 'inF1' (in float)
@ -919,7 +919,7 @@ ERROR: node is still EOpNull!
0:71 Branch: Return with expression 0:71 Branch: Return with expression
0:71 Constant: 0:71 Constant:
0:71 0.000000 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 Function Parameters:
0:75 'inF0' (in 1-component vector of float) 0:75 'inF0' (in 1-component vector of float)
0:75 'inF1' (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 Branch: Return with expression
0:80 Constant: 0:80 Constant:
0:80 0.000000 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 Function Parameters:
0:84 'inF0' (in 2-component vector of float) 0:84 'inF0' (in 2-component vector of float)
0:84 'inF1' (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:? Constant:
0:? 1.000000 0:? 1.000000
0:? 2.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 Function Parameters:
0:131 'inF0' (in 3-component vector of float) 0:131 'inF0' (in 3-component vector of float)
0:131 'inF1' (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:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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 Function Parameters:
0:251 'inF0' (in 2X2 matrix of float) 0:251 'inF0' (in 2X2 matrix of float)
0:251 'inF1' (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:? 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 Function Parameters:
0:259 'inF0' (in 3X3 matrix of float) 0:259 'inF0' (in 3X3 matrix of float)
0:259 'inF1' (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:? 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 Function Parameters:
0:267 'inF0' (in 4X4 matrix of float) 0:267 'inF0' (in 4X4 matrix of float)
0:267 'inF1' (in 4X4 matrix of float) 0:267 'inF1' (in 4X4 matrix of float)

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@ gs uint4 gs_ua4;
gs uint4 gs_ub4; gs uint4 gs_ub4;
gs uint4 gs_uc4; 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; uint out_u1;
@ -41,13 +41,13 @@ float ComputeShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint
return 0.0; 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 // TODO: ... add when float1 prototypes are generated
return 0.0; 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; uint2 out_u2;
@ -74,7 +74,7 @@ float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0,
return float2(1,2); 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; uint3 out_u3;

View File

@ -1,24 +1,24 @@
float PixelShaderFunction(float inF0) float PixelShaderFunctionS(float inF0)
{ {
f32tof16(inF0); f32tof16(inF0);
return 0.0; return 0.0;
} }
float1 PixelShaderFunction(float1 inF0) float1 PixelShaderFunction1(float1 inF0)
{ {
// TODO: ... add when float1 prototypes are generated // TODO: ... add when float1 prototypes are generated
return 0.0; return 0.0;
} }
float2 PixelShaderFunction(float2 inF0) float2 PixelShaderFunction2(float2 inF0)
{ {
f32tof16(inF0); f32tof16(inF0);
return float2(1,2); return float2(1,2);
} }
float3 PixelShaderFunction(float3 inF0) float3 PixelShaderFunction3(float3 inF0)
{ {
f32tof16(inF0); f32tof16(inF0);

View File

@ -13,7 +13,7 @@ gs uint4 gs_ua4;
gs uint4 gs_ub4; gs uint4 gs_ub4;
gs uint4 gs_uc4; 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; uint out_u1;
@ -85,13 +85,13 @@ float PixelShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint in
return 0.0; 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 // TODO: ... add when float1 prototypes are generated
return 0.0; 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; uint2 out_u2;
@ -174,7 +174,7 @@ float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, ui
return float2(1,2); 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; 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. // 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(float2x2); MATFNS(float2x2);
@ -405,7 +405,7 @@ float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
return float2x2(2,2,2,2); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(float3x3); 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); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(float4x4); MATFNS(float4x4);
@ -435,21 +435,21 @@ float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
MT r8 = mul(inFM0, inFM1); MT r8 = mul(inFM0, inFM1);
void TestGenMul(float inF0, float inF1, void TestGenMul2(float inF0, float inF1,
float2 inFV0, float2 inFV1, float2 inFV0, float2 inFV1,
float2x2 inFM0, float2x2 inFM1) float2x2 inFM0, float2x2 inFM1)
{ {
TESTGENMUL(float, float2, float2x2); TESTGENMUL(float, float2, float2x2);
} }
void TestGenMul(float inF0, float inF1, void TestGenMul3(float inF0, float inF1,
float3 inFV0, float3 inFV1, float3 inFV0, float3 inFV1,
float3x3 inFM0, float3x3 inFM1) float3x3 inFM0, float3x3 inFM1)
{ {
TESTGENMUL(float, float3, float3x3); TESTGENMUL(float, float3, float3x3);
} }
void TestGenMul(float inF0, float inF1, void TestGenMul4(float inF0, float inF1,
float4 inFV0, float4 inFV1, float4 inFV0, float4 inFV1,
float4x4 inFM0, float4x4 inFM1) float4x4 inFM0, float4x4 inFM1)
{ {
@ -457,11 +457,11 @@ void TestGenMul(float inF0, float inF1,
} }
// Test some non-square mats // Test some non-square mats
void TestGenMul(float inF0, float inF1, void TestGenMulNxM(float inF0, float inF1,
float2 inFV2, float3 inFV3, float2 inFV2, float3 inFV3,
float2x3 inFM2x3, float3x2 inFM3x2, float2x3 inFM2x3, float3x2 inFM3x2,
float3x3 inFM3x3, float3x4 inFM3x4, float3x3 inFM3x3, float3x4 inFM3x4,
float2x4 inFM2x4) float2x4 inFM2x4)
{ {
float r00 = mul(inF0, inF1); // S=S*S float r00 = mul(inF0, inF1); // S=S*S
float2 r01 = mul(inFV2, inF0); // V=V*S float2 r01 = mul(inFV2, inF0); // V=V*S

View 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; uint out_u1;
@ -53,7 +53,7 @@ float ComputeShaderFunction(float inF0, float inF1, float inF2, int inI0)
return 0.0; 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 // TODO: ... add when float1 prototypes are generated
@ -62,7 +62,7 @@ float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
return 0.0; 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; uint2 out_u2;
@ -109,7 +109,7 @@ float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
return float2(1,2); 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; uint3 out_u3;

View 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 // AllMemoryBarrier(); // TODO: expected error: invalid in fragment stage
// AllMemoryBarrierWithGroupSync(); // 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; 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 // TODO: ... add when float1 prototypes are generated
@ -41,7 +41,7 @@ float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
return 0.0; 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 asdouble(inF0, inF1); // expected error: only integer inputs
CheckAccessFullyMapped(inF0); // expected error: only valid on scalars 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); 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 CheckAccessFullyMapped(inF0); // expected error: only valid on scalars
countbits(inF0); // expected error: only integer inputs 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. // 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()
@ -119,7 +119,7 @@ float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
return float2x2(2,2,2,2); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()
@ -127,7 +127,7 @@ float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
return float3x3(3,3,3,3,3,3,3,3,3); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()

View File

@ -11,7 +11,7 @@ uint4 gs_ua4;
uint4 gs_ub4; uint4 gs_ub4;
uint4 gs_uc4; 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; uint out_u1;
@ -71,7 +71,7 @@ float VertexShaderFunction(float inF0, float inF1, float inF2, int inI0)
return 0.0; 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 // TODO: ... add when float1 prototypes are generated
@ -80,7 +80,7 @@ float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
return 0.0; 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; uint2 out_u2;
@ -127,7 +127,7 @@ float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
return float2(1,2); 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; 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. // 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()
@ -255,7 +255,7 @@ float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
return float2x2(2,2,2,2); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()
@ -263,7 +263,7 @@ float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
return float3x3(3,3,3,3,3,3,3,3,3); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS() MATFNS()

View 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); all(inF0);
abs(inF0); abs(inF0);
@ -60,13 +60,13 @@ float VertexShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint i
return 0.0; 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 // TODO: ... add when float1 prototypes are generated
return 0.0; 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); all(inF0);
abs(inF0); abs(inF0);
@ -136,7 +136,7 @@ float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, u
return float2(1,2); 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); all(inF0);
abs(inF0); abs(inF0);
@ -207,7 +207,7 @@ float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, u
return float3(1,2,3); 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); all(inF0);
abs(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. // 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(); MATFNS();
@ -341,7 +341,7 @@ float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
return float2x2(2,2,2,2); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(); MATFNS();
@ -350,7 +350,7 @@ float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
return float3x3(3,3,3,3,3,3,3,3,3); 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. // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS(); MATFNS();
@ -371,33 +371,33 @@ float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
MT r8 = mul(inFM0, inFM1); MT r8 = mul(inFM0, inFM1);
void TestGenMul(float inF0, float inF1, void TestGenMul2(float inF0, float inF1,
float2 inFV0, float2 inFV1, float2 inFV0, float2 inFV1,
float2x2 inFM0, float2x2 inFM1) float2x2 inFM0, float2x2 inFM1)
{ {
TESTGENMUL(float, float2, float2x2); TESTGENMUL(float, float2, float2x2);
} }
void TestGenMul(float inF0, float inF1, void TestGenMul3(float inF0, float inF1,
float3 inFV0, float3 inFV1, float3 inFV0, float3 inFV1,
float3x3 inFM0, float3x3 inFM1) float3x3 inFM0, float3x3 inFM1)
{ {
TESTGENMUL(float, float3, float3x3); TESTGENMUL(float, float3, float3x3);
} }
void TestGenMul(float inF0, float inF1, void TestGenMul4(float inF0, float inF1,
float4 inFV0, float4 inFV1, float4 inFV0, float4 inFV1,
float4x4 inFM0, float4x4 inFM1) float4x4 inFM0, float4x4 inFM1)
{ {
TESTGENMUL(float, float4, float4x4); TESTGENMUL(float, float4, float4x4);
} }
// Test some non-square mats // Test some non-square mats
void TestGenMul(float inF0, float inF1, void TestGenMulNxM(float inF0, float inF1,
float2 inFV2, float3 inFV3, float2 inFV2, float3 inFV3,
float2x3 inFM2x3, float3x2 inFM3x2, float2x3 inFM2x3, float3x2 inFM3x2,
float3x3 inFM3x3, float3x4 inFM3x4, float3x3 inFM3x3, float3x4 inFM3x4,
float2x4 inFM2x4) float2x4 inFM2x4)
{ {
float r00 = mul(inF0, inF1); // S=S*S float r00 = mul(inF0, inF1); // S=S*S
float2 r01 = mul(inFV2, inF0); // V=V*S float2 r01 = mul(inFV2, inF0); // V=V*S