diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out index 043fa82e8ac0246201fe0d7b861007c7b5409158..9c9a708071eef6dedb49c81c3fc02b9762e72055 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.comp.out +++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out @@ -1,157 +1,7 @@ hlsl.intrinsics.negative.comp -ERROR: 0:7: 'asdouble' : no matching overloaded function found -ERROR: 0:8: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:9: 'clip' : no matching overloaded function found -ERROR: 0:10: 'countbits' : no matching overloaded function found -ERROR: 0:11: 'cross' : no matching overloaded function found -ERROR: 0:12: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:13: 'ddx' : no matching overloaded function found -ERROR: 0:14: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:15: 'ddx_fine' : no matching overloaded function found -ERROR: 0:16: 'ddy' : no matching overloaded function found -ERROR: 0:17: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:18: 'ddy_fine' : no matching overloaded function found -ERROR: 0:19: 'determinant' : no matching overloaded function found -ERROR: 0:20: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:21: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:22: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:23: 'f16tof32' : no matching overloaded function found -ERROR: 0:24: 'firstbithigh' : no matching overloaded function found -ERROR: 0:25: 'firstbitlow' : no matching overloaded function found -ERROR: 0:27: 'fwidth' : no matching overloaded function found -ERROR: 0:28: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:29: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:30: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:31: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:32: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:33: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:34: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:35: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:36: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:37: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:38: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:39: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:40: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:41: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:42: 'length' : no matching overloaded function found -ERROR: 0:43: 'msad4' : no matching overloaded function found -ERROR: 0:44: 'normalize' : no matching overloaded function found -ERROR: 0:45: 'reflect' : no matching overloaded function found -ERROR: 0:46: 'refract' : no matching overloaded function found -ERROR: 0:47: 'refract' : no matching overloaded function found -ERROR: 0:48: 'reversebits' : no matching overloaded function found -ERROR: 0:49: 'transpose' : no matching overloaded function found -ERROR: 0:60: 'GetRenderTargetSamplePosition' : no matching overloaded function found -ERROR: 0:69: 'asdouble' : no matching overloaded function found -ERROR: 0:70: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:71: 'countbits' : no matching overloaded function found -ERROR: 0:72: 'cross' : no matching overloaded function found -ERROR: 0:73: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:74: 'ddx' : no matching overloaded function found -ERROR: 0:75: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:76: 'ddx_fine' : no matching overloaded function found -ERROR: 0:77: 'ddy' : no matching overloaded function found -ERROR: 0:78: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:79: 'ddy_fine' : no matching overloaded function found -ERROR: 0:80: 'determinant' : no matching overloaded function found -ERROR: 0:81: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:82: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:83: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:84: 'f16tof32' : no matching overloaded function found -ERROR: 0:85: 'firstbithigh' : no matching overloaded function found -ERROR: 0:86: 'firstbitlow' : no matching overloaded function found -ERROR: 0:88: 'fwidth' : no matching overloaded function found -ERROR: 0:89: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:90: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:91: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:92: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:93: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:94: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:95: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:96: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:97: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:98: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:99: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:100: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:101: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:102: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:103: 'noise' : no matching overloaded function found -ERROR: 0:104: 'reversebits' : no matching overloaded function found -ERROR: 0:105: 'transpose' : no matching overloaded function found -ERROR: 0:116: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:117: 'countbits' : no matching overloaded function found -ERROR: 0:118: 'ddx' : no matching overloaded function found -ERROR: 0:119: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:120: 'ddx_fine' : no matching overloaded function found -ERROR: 0:121: 'ddy' : no matching overloaded function found -ERROR: 0:122: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:123: 'ddy_fine' : no matching overloaded function found -ERROR: 0:124: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:125: 'determinant' : no matching overloaded function found -ERROR: 0:126: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:127: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:128: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:129: 'f16tof32' : no matching overloaded function found -ERROR: 0:130: 'firstbithigh' : no matching overloaded function found -ERROR: 0:131: 'firstbitlow' : no matching overloaded function found -ERROR: 0:133: 'fwidth' : no matching overloaded function found -ERROR: 0:134: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:135: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:136: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:137: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:138: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:139: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:140: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:141: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:142: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:143: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:144: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:145: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:146: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:147: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:148: 'noise' : no matching overloaded function found -ERROR: 0:149: 'reversebits' : no matching overloaded function found -ERROR: 0:150: 'transpose' : no matching overloaded function found -ERROR: 0:161: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:162: 'countbits' : no matching overloaded function found -ERROR: 0:163: 'cross' : no matching overloaded function found -ERROR: 0:164: 'determinant' : no matching overloaded function found -ERROR: 0:165: 'ddx' : no matching overloaded function found -ERROR: 0:166: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:167: 'ddx_fine' : no matching overloaded function found -ERROR: 0:168: 'ddy' : no matching overloaded function found -ERROR: 0:169: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:170: 'ddy_fine' : no matching overloaded function found -ERROR: 0:171: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:172: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:173: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:174: 'f16tof32' : no matching overloaded function found -ERROR: 0:175: 'firstbithigh' : no matching overloaded function found -ERROR: 0:176: 'firstbitlow' : no matching overloaded function found -ERROR: 0:178: 'fwidth' : no matching overloaded function found -ERROR: 0:179: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:180: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:181: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:182: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:183: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:184: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:185: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:186: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:187: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:188: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:189: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:190: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:191: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:192: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:193: 'noise' : no matching overloaded function found -ERROR: 0:194: 'reversebits' : no matching overloaded function found -ERROR: 0:195: 'transpose' : no matching overloaded function found -ERROR: 147 compilation errors. No code generated. - - Shader version: 450 local_size = (1, 1, 1) -ERROR: node is still EOpNull! +0:? Sequence 0:56 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (global float) 0:2 Function Parameters: 0:2 'inF0' (in float) @@ -159,90 +9,6 @@ ERROR: node is still EOpNull! 0:2 'inF2' (in float) 0:2 'inI0' (in int) 0:? Sequence -0:7 Constant: -0:7 0.000000 -0:8 Constant: -0:8 0.000000 -0:9 Constant: -0:9 0.000000 -0:10 Constant: -0:10 0.000000 -0:11 Constant: -0:11 0.000000 -0:12 Constant: -0:12 0.000000 -0:13 Constant: -0:13 0.000000 -0:14 Constant: -0:14 0.000000 -0:15 Constant: -0:15 0.000000 -0:16 Constant: -0:16 0.000000 -0:17 Constant: -0:17 0.000000 -0:18 Constant: -0:18 0.000000 -0:19 Constant: -0:19 0.000000 -0:20 Constant: -0:20 0.000000 -0:21 Constant: -0:21 0.000000 -0:22 Constant: -0:22 0.000000 -0:23 Constant: -0:23 0.000000 -0:24 Constant: -0:24 0.000000 -0:25 Constant: -0:25 0.000000 -0:27 Constant: -0:27 0.000000 -0:28 Constant: -0:28 0.000000 -0:29 Constant: -0:29 0.000000 -0:30 Constant: -0:30 0.000000 -0:31 Constant: -0:31 0.000000 -0:32 Constant: -0:32 0.000000 -0:33 Constant: -0:33 0.000000 -0:34 Constant: -0:34 0.000000 -0:35 Constant: -0:35 0.000000 -0:36 Constant: -0:36 0.000000 -0:37 Constant: -0:37 0.000000 -0:38 Constant: -0:38 0.000000 -0:39 Constant: -0:39 0.000000 -0:40 Constant: -0:40 0.000000 -0:41 Constant: -0:41 0.000000 -0:42 Constant: -0:42 0.000000 -0:43 Constant: -0:43 0.000000 -0:44 Constant: -0:44 0.000000 -0:45 Constant: -0:45 0.000000 -0:46 Constant: -0:46 0.000000 -0:47 Constant: -0:47 0.000000 -0:48 Constant: -0:48 0.000000 -0:49 Constant: -0:49 0.000000 0:53 Branch: Return with expression 0:53 Constant: 0:53 0.000000 @@ -253,8 +19,6 @@ ERROR: node is still EOpNull! 0:57 'inF2' (in 1-component vector of float) 0:57 'inI0' (in 1-component vector of int) 0:? Sequence -0:60 Constant: -0:60 0.000000 0:62 Branch: Return with expression 0:62 Constant: 0:62 0.000000 @@ -265,78 +29,6 @@ ERROR: node is still EOpNull! 0:66 'inF2' (in 2-component vector of float) 0:66 'inI0' (in 2-component vector of int) 0:? Sequence -0:69 Constant: -0:69 0.000000 -0:70 Constant: -0:70 0.000000 -0:71 Constant: -0:71 0.000000 -0:72 Constant: -0:72 0.000000 -0:73 Constant: -0:73 0.000000 -0:74 Constant: -0:74 0.000000 -0:75 Constant: -0:75 0.000000 -0:76 Constant: -0:76 0.000000 -0:77 Constant: -0:77 0.000000 -0:78 Constant: -0:78 0.000000 -0:79 Constant: -0:79 0.000000 -0:80 Constant: -0:80 0.000000 -0:81 Constant: -0:81 0.000000 -0:82 Constant: -0:82 0.000000 -0:83 Constant: -0:83 0.000000 -0:84 Constant: -0:84 0.000000 -0:85 Constant: -0:85 0.000000 -0:86 Constant: -0:86 0.000000 -0:88 Constant: -0:88 0.000000 -0:89 Constant: -0:89 0.000000 -0:90 Constant: -0:90 0.000000 -0:91 Constant: -0:91 0.000000 -0:92 Constant: -0:92 0.000000 -0:93 Constant: -0:93 0.000000 -0:94 Constant: -0:94 0.000000 -0:95 Constant: -0:95 0.000000 -0:96 Constant: -0:96 0.000000 -0:97 Constant: -0:97 0.000000 -0:98 Constant: -0:98 0.000000 -0:99 Constant: -0:99 0.000000 -0:100 Constant: -0:100 0.000000 -0:101 Constant: -0:101 0.000000 -0:102 Constant: -0:102 0.000000 -0:103 Constant: -0:103 0.000000 -0:104 Constant: -0:104 0.000000 -0:105 Constant: -0:105 0.000000 0:109 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -348,74 +40,6 @@ ERROR: node is still EOpNull! 0:113 'inF2' (in 3-component vector of float) 0:113 'inI0' (in 3-component vector of int) 0:? Sequence -0:116 Constant: -0:116 0.000000 -0:117 Constant: -0:117 0.000000 -0:118 Constant: -0:118 0.000000 -0:119 Constant: -0:119 0.000000 -0:120 Constant: -0:120 0.000000 -0:121 Constant: -0:121 0.000000 -0:122 Constant: -0:122 0.000000 -0:123 Constant: -0:123 0.000000 -0:124 Constant: -0:124 0.000000 -0:125 Constant: -0:125 0.000000 -0:126 Constant: -0:126 0.000000 -0:127 Constant: -0:127 0.000000 -0:128 Constant: -0:128 0.000000 -0:129 Constant: -0:129 0.000000 -0:130 Constant: -0:130 0.000000 -0:131 Constant: -0:131 0.000000 -0:133 Constant: -0:133 0.000000 -0:134 Constant: -0:134 0.000000 -0:135 Constant: -0:135 0.000000 -0:136 Constant: -0:136 0.000000 -0:137 Constant: -0:137 0.000000 -0:138 Constant: -0:138 0.000000 -0:139 Constant: -0:139 0.000000 -0:140 Constant: -0:140 0.000000 -0:141 Constant: -0:141 0.000000 -0:142 Constant: -0:142 0.000000 -0:143 Constant: -0:143 0.000000 -0:144 Constant: -0:144 0.000000 -0:145 Constant: -0:145 0.000000 -0:146 Constant: -0:146 0.000000 -0:147 Constant: -0:147 0.000000 -0:148 Constant: -0:148 0.000000 -0:149 Constant: -0:149 0.000000 -0:150 Constant: -0:150 0.000000 0:154 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -428,74 +52,6 @@ ERROR: node is still EOpNull! 0:158 'inF2' (in 4-component vector of float) 0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:161 Constant: -0:161 0.000000 -0:162 Constant: -0:162 0.000000 -0:163 Constant: -0:163 0.000000 -0:164 Constant: -0:164 0.000000 -0:165 Constant: -0:165 0.000000 -0:166 Constant: -0:166 0.000000 -0:167 Constant: -0:167 0.000000 -0:168 Constant: -0:168 0.000000 -0:169 Constant: -0:169 0.000000 -0:170 Constant: -0:170 0.000000 -0:171 Constant: -0:171 0.000000 -0:172 Constant: -0:172 0.000000 -0:173 Constant: -0:173 0.000000 -0:174 Constant: -0:174 0.000000 -0:175 Constant: -0:175 0.000000 -0:176 Constant: -0:176 0.000000 -0:178 Constant: -0:178 0.000000 -0:179 Constant: -0:179 0.000000 -0:180 Constant: -0:180 0.000000 -0:181 Constant: -0:181 0.000000 -0:182 Constant: -0:182 0.000000 -0:183 Constant: -0:183 0.000000 -0:184 Constant: -0:184 0.000000 -0:185 Constant: -0:185 0.000000 -0:186 Constant: -0:186 0.000000 -0:187 Constant: -0:187 0.000000 -0:188 Constant: -0:188 0.000000 -0:189 Constant: -0:189 0.000000 -0:190 Constant: -0:190 0.000000 -0:191 Constant: -0:191 0.000000 -0:192 Constant: -0:192 0.000000 -0:193 Constant: -0:193 0.000000 -0:194 Constant: -0:194 0.000000 -0:195 Constant: -0:195 0.000000 0:199 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -510,7 +66,7 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) -ERROR: node is still EOpNull! +0:? Sequence 0:56 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (global float) 0:2 Function Parameters: 0:2 'inF0' (in float) @@ -518,90 +74,6 @@ ERROR: node is still EOpNull! 0:2 'inF2' (in float) 0:2 'inI0' (in int) 0:? Sequence -0:7 Constant: -0:7 0.000000 -0:8 Constant: -0:8 0.000000 -0:9 Constant: -0:9 0.000000 -0:10 Constant: -0:10 0.000000 -0:11 Constant: -0:11 0.000000 -0:12 Constant: -0:12 0.000000 -0:13 Constant: -0:13 0.000000 -0:14 Constant: -0:14 0.000000 -0:15 Constant: -0:15 0.000000 -0:16 Constant: -0:16 0.000000 -0:17 Constant: -0:17 0.000000 -0:18 Constant: -0:18 0.000000 -0:19 Constant: -0:19 0.000000 -0:20 Constant: -0:20 0.000000 -0:21 Constant: -0:21 0.000000 -0:22 Constant: -0:22 0.000000 -0:23 Constant: -0:23 0.000000 -0:24 Constant: -0:24 0.000000 -0:25 Constant: -0:25 0.000000 -0:27 Constant: -0:27 0.000000 -0:28 Constant: -0:28 0.000000 -0:29 Constant: -0:29 0.000000 -0:30 Constant: -0:30 0.000000 -0:31 Constant: -0:31 0.000000 -0:32 Constant: -0:32 0.000000 -0:33 Constant: -0:33 0.000000 -0:34 Constant: -0:34 0.000000 -0:35 Constant: -0:35 0.000000 -0:36 Constant: -0:36 0.000000 -0:37 Constant: -0:37 0.000000 -0:38 Constant: -0:38 0.000000 -0:39 Constant: -0:39 0.000000 -0:40 Constant: -0:40 0.000000 -0:41 Constant: -0:41 0.000000 -0:42 Constant: -0:42 0.000000 -0:43 Constant: -0:43 0.000000 -0:44 Constant: -0:44 0.000000 -0:45 Constant: -0:45 0.000000 -0:46 Constant: -0:46 0.000000 -0:47 Constant: -0:47 0.000000 -0:48 Constant: -0:48 0.000000 -0:49 Constant: -0:49 0.000000 0:53 Branch: Return with expression 0:53 Constant: 0:53 0.000000 @@ -612,8 +84,6 @@ ERROR: node is still EOpNull! 0:57 'inF2' (in 1-component vector of float) 0:57 'inI0' (in 1-component vector of int) 0:? Sequence -0:60 Constant: -0:60 0.000000 0:62 Branch: Return with expression 0:62 Constant: 0:62 0.000000 @@ -624,78 +94,6 @@ ERROR: node is still EOpNull! 0:66 'inF2' (in 2-component vector of float) 0:66 'inI0' (in 2-component vector of int) 0:? Sequence -0:69 Constant: -0:69 0.000000 -0:70 Constant: -0:70 0.000000 -0:71 Constant: -0:71 0.000000 -0:72 Constant: -0:72 0.000000 -0:73 Constant: -0:73 0.000000 -0:74 Constant: -0:74 0.000000 -0:75 Constant: -0:75 0.000000 -0:76 Constant: -0:76 0.000000 -0:77 Constant: -0:77 0.000000 -0:78 Constant: -0:78 0.000000 -0:79 Constant: -0:79 0.000000 -0:80 Constant: -0:80 0.000000 -0:81 Constant: -0:81 0.000000 -0:82 Constant: -0:82 0.000000 -0:83 Constant: -0:83 0.000000 -0:84 Constant: -0:84 0.000000 -0:85 Constant: -0:85 0.000000 -0:86 Constant: -0:86 0.000000 -0:88 Constant: -0:88 0.000000 -0:89 Constant: -0:89 0.000000 -0:90 Constant: -0:90 0.000000 -0:91 Constant: -0:91 0.000000 -0:92 Constant: -0:92 0.000000 -0:93 Constant: -0:93 0.000000 -0:94 Constant: -0:94 0.000000 -0:95 Constant: -0:95 0.000000 -0:96 Constant: -0:96 0.000000 -0:97 Constant: -0:97 0.000000 -0:98 Constant: -0:98 0.000000 -0:99 Constant: -0:99 0.000000 -0:100 Constant: -0:100 0.000000 -0:101 Constant: -0:101 0.000000 -0:102 Constant: -0:102 0.000000 -0:103 Constant: -0:103 0.000000 -0:104 Constant: -0:104 0.000000 -0:105 Constant: -0:105 0.000000 0:109 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -707,74 +105,6 @@ ERROR: node is still EOpNull! 0:113 'inF2' (in 3-component vector of float) 0:113 'inI0' (in 3-component vector of int) 0:? Sequence -0:116 Constant: -0:116 0.000000 -0:117 Constant: -0:117 0.000000 -0:118 Constant: -0:118 0.000000 -0:119 Constant: -0:119 0.000000 -0:120 Constant: -0:120 0.000000 -0:121 Constant: -0:121 0.000000 -0:122 Constant: -0:122 0.000000 -0:123 Constant: -0:123 0.000000 -0:124 Constant: -0:124 0.000000 -0:125 Constant: -0:125 0.000000 -0:126 Constant: -0:126 0.000000 -0:127 Constant: -0:127 0.000000 -0:128 Constant: -0:128 0.000000 -0:129 Constant: -0:129 0.000000 -0:130 Constant: -0:130 0.000000 -0:131 Constant: -0:131 0.000000 -0:133 Constant: -0:133 0.000000 -0:134 Constant: -0:134 0.000000 -0:135 Constant: -0:135 0.000000 -0:136 Constant: -0:136 0.000000 -0:137 Constant: -0:137 0.000000 -0:138 Constant: -0:138 0.000000 -0:139 Constant: -0:139 0.000000 -0:140 Constant: -0:140 0.000000 -0:141 Constant: -0:141 0.000000 -0:142 Constant: -0:142 0.000000 -0:143 Constant: -0:143 0.000000 -0:144 Constant: -0:144 0.000000 -0:145 Constant: -0:145 0.000000 -0:146 Constant: -0:146 0.000000 -0:147 Constant: -0:147 0.000000 -0:148 Constant: -0:148 0.000000 -0:149 Constant: -0:149 0.000000 -0:150 Constant: -0:150 0.000000 0:154 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -787,74 +117,6 @@ ERROR: node is still EOpNull! 0:158 'inF2' (in 4-component vector of float) 0:158 'inI0' (in 4-component vector of int) 0:? Sequence -0:161 Constant: -0:161 0.000000 -0:162 Constant: -0:162 0.000000 -0:163 Constant: -0:163 0.000000 -0:164 Constant: -0:164 0.000000 -0:165 Constant: -0:165 0.000000 -0:166 Constant: -0:166 0.000000 -0:167 Constant: -0:167 0.000000 -0:168 Constant: -0:168 0.000000 -0:169 Constant: -0:169 0.000000 -0:170 Constant: -0:170 0.000000 -0:171 Constant: -0:171 0.000000 -0:172 Constant: -0:172 0.000000 -0:173 Constant: -0:173 0.000000 -0:174 Constant: -0:174 0.000000 -0:175 Constant: -0:175 0.000000 -0:176 Constant: -0:176 0.000000 -0:178 Constant: -0:178 0.000000 -0:179 Constant: -0:179 0.000000 -0:180 Constant: -0:180 0.000000 -0:181 Constant: -0:181 0.000000 -0:182 Constant: -0:182 0.000000 -0:183 Constant: -0:183 0.000000 -0:184 Constant: -0:184 0.000000 -0:185 Constant: -0:185 0.000000 -0:186 Constant: -0:186 0.000000 -0:187 Constant: -0:187 0.000000 -0:188 Constant: -0:188 0.000000 -0:189 Constant: -0:189 0.000000 -0:190 Constant: -0:190 0.000000 -0:191 Constant: -0:191 0.000000 -0:192 Constant: -0:192 0.000000 -0:193 Constant: -0:193 0.000000 -0:194 Constant: -0:194 0.000000 -0:195 Constant: -0:195 0.000000 0:199 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -863,4 +125,96 @@ ERROR: node is still EOpNull! 0:? 4.000000 0:? Linker Objects -SPIR-V is not generated for failed compile or link +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 63 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "ComputeShaderFunction" + ExecutionMode 4 LocalSize 1 1 1 + Source HLSL 450 + Name 4 "ComputeShaderFunction" + Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;" + Name 11 "inF0" + Name 12 "inF1" + Name 13 "inF2" + Name 14 "inI0" + Name 21 "ComputeShaderFunction1(vf1;vf1;vf1;vi1;" + Name 17 "inF0" + Name 18 "inF1" + Name 19 "inF2" + Name 20 "inI0" + Name 32 "ComputeShaderFunction2(vf2;vf2;vf2;vi2;" + Name 28 "inF0" + Name 29 "inF1" + Name 30 "inF2" + Name 31 "inI0" + Name 43 "ComputeShaderFunction3(vf3;vf3;vf3;vi3;" + Name 39 "inF0" + Name 40 "inF1" + Name 41 "inF2" + Name 42 "inI0" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 8: TypeInt 32 1 + 9: TypePointer Function 8(int) + 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) + 23: TypeVector 6(float) 2 + 24: TypePointer Function 23(fvec2) + 25: TypeVector 8(int) 2 + 26: TypePointer Function 25(ivec2) + 27: TypeFunction 23(fvec2) 24(ptr) 24(ptr) 24(ptr) 26(ptr) + 34: TypeVector 6(float) 3 + 35: TypePointer Function 34(fvec3) + 36: TypeVector 8(int) 3 + 37: TypePointer Function 36(ivec3) + 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) + 45: 6(float) Constant 0 + 50: 6(float) Constant 1065353216 + 51: 6(float) Constant 1073741824 + 52: 23(fvec2) ConstantComposite 50 51 + 55: 6(float) Constant 1077936128 + 56: 34(fvec3) ConstantComposite 50 51 55 + 59: TypeVector 6(float) 4 + 60: 6(float) Constant 1082130432 + 61: 59(fvec4) ConstantComposite 50 51 55 60 +4(ComputeShaderFunction): 2 Function None 3 + 5: Label + ReturnValue 61 + FunctionEnd +15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 + 11(inF0): 7(ptr) FunctionParameter + 12(inF1): 7(ptr) FunctionParameter + 13(inF2): 7(ptr) FunctionParameter + 14(inI0): 9(ptr) FunctionParameter + 16: Label + ReturnValue 45 + FunctionEnd +21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 + 17(inF0): 7(ptr) FunctionParameter + 18(inF1): 7(ptr) FunctionParameter + 19(inF2): 7(ptr) FunctionParameter + 20(inI0): 9(ptr) FunctionParameter + 22: Label + ReturnValue 45 + FunctionEnd +32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 + 28(inF0): 24(ptr) FunctionParameter + 29(inF1): 24(ptr) FunctionParameter + 30(inF2): 24(ptr) FunctionParameter + 31(inI0): 26(ptr) FunctionParameter + 33: Label + ReturnValue 52 + FunctionEnd +43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 + 39(inF0): 35(ptr) FunctionParameter + 40(inF1): 35(ptr) FunctionParameter + 41(inF2): 35(ptr) FunctionParameter + 42(inI0): 37(ptr) FunctionParameter + 44: Label + ReturnValue 56 + FunctionEnd diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out index 0e974a1f9fa130b56a92faac7e96d9d292730ae5..b8c46226c22089371f77635138fee28469883a9f 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -1,235 +1,6 @@ hlsl.intrinsics.negative.vert -ERROR: 0:18: 'AllMemoryBarrier' : no matching overloaded function found -ERROR: 0:19: 'AllMemoryBarrierWithGroupSync' : no matching overloaded function found -ERROR: 0:20: 'asdouble' : no matching overloaded function found -ERROR: 0:21: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:22: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:23: 'clip' : no matching overloaded function found -ERROR: 0:24: 'countbits' : no matching overloaded function found -ERROR: 0:25: 'cross' : no matching overloaded function found -ERROR: 0:26: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:27: 'DeviceMemoryBarrier' : no matching overloaded function found -ERROR: 0:28: 'DeviceMemoryBarrierWithGroupSync' : no matching overloaded function found -ERROR: 0:29: 'ddx' : no matching overloaded function found -ERROR: 0:30: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:31: 'ddx_fine' : no matching overloaded function found -ERROR: 0:32: 'ddy' : no matching overloaded function found -ERROR: 0:33: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:34: 'ddy_fine' : no matching overloaded function found -ERROR: 0:35: 'determinant' : no matching overloaded function found -ERROR: 0:36: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:37: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:38: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:39: 'f16tof32' : no matching overloaded function found -ERROR: 0:40: 'firstbithigh' : no matching overloaded function found -ERROR: 0:41: 'firstbitlow' : no matching overloaded function found -ERROR: 0:43: 'fwidth' : no matching overloaded function found -ERROR: 0:44: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:45: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:46: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:47: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:48: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:49: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:50: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:51: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:52: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:53: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:54: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:55: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:56: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:57: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:58: 'GroupMemoryBarrier' : no matching overloaded function found -ERROR: 0:59: 'GroupMemoryBarrierWithGroupSync' : no matching overloaded function found -ERROR: 0:60: 'length' : no matching overloaded function found -ERROR: 0:61: 'msad4' : no matching overloaded function found -ERROR: 0:62: 'normalize' : no matching overloaded function found -ERROR: 0:63: 'reflect' : no matching overloaded function found -ERROR: 0:64: 'refract' : no matching overloaded function found -ERROR: 0:65: 'refract' : no matching overloaded function found -ERROR: 0:66: 'reversebits' : no matching overloaded function found -ERROR: 0:67: 'transpose' : no matching overloaded function found -ERROR: 0:78: 'GetRenderTargetSamplePosition' : no matching overloaded function found -ERROR: 0:87: 'asdouble' : no matching overloaded function found -ERROR: 0:88: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:89: 'countbits' : no matching overloaded function found -ERROR: 0:90: 'cross' : no matching overloaded function found -ERROR: 0:91: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:92: 'ddx' : no matching overloaded function found -ERROR: 0:93: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:94: 'ddx_fine' : no matching overloaded function found -ERROR: 0:95: 'ddy' : no matching overloaded function found -ERROR: 0:96: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:97: 'ddy_fine' : no matching overloaded function found -ERROR: 0:98: 'determinant' : no matching overloaded function found -ERROR: 0:99: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:100: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:101: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:102: 'f16tof32' : no matching overloaded function found -ERROR: 0:103: 'firstbithigh' : no matching overloaded function found -ERROR: 0:104: 'firstbitlow' : no matching overloaded function found -ERROR: 0:106: 'fwidth' : no matching overloaded function found -ERROR: 0:107: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:108: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:109: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:110: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:111: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:112: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:113: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:114: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:115: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:116: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:117: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:118: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:119: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:120: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:121: 'noise' : no matching overloaded function found -ERROR: 0:122: 'reversebits' : no matching overloaded function found -ERROR: 0:123: 'transpose' : no matching overloaded function found -ERROR: 0:134: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:135: 'countbits' : no matching overloaded function found -ERROR: 0:136: 'ddx' : no matching overloaded function found -ERROR: 0:137: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:138: 'ddx_fine' : no matching overloaded function found -ERROR: 0:139: 'ddy' : no matching overloaded function found -ERROR: 0:140: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:141: 'ddy_fine' : no matching overloaded function found -ERROR: 0:142: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:143: 'determinant' : no matching overloaded function found -ERROR: 0:144: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:145: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:146: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:147: 'f16tof32' : no matching overloaded function found -ERROR: 0:148: 'firstbithigh' : no matching overloaded function found -ERROR: 0:149: 'firstbitlow' : no matching overloaded function found -ERROR: 0:151: 'fwidth' : no matching overloaded function found -ERROR: 0:152: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:153: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:154: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:155: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:156: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:157: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:158: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:159: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:160: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:161: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:162: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:163: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:164: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:165: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:166: 'noise' : no matching overloaded function found -ERROR: 0:167: 'reversebits' : no matching overloaded function found -ERROR: 0:168: 'transpose' : no matching overloaded function found -ERROR: 0:179: 'CheckAccessFullyMapped' : no matching overloaded function found -ERROR: 0:180: 'countbits' : no matching overloaded function found -ERROR: 0:181: 'cross' : no matching overloaded function found -ERROR: 0:182: 'determinant' : no matching overloaded function found -ERROR: 0:183: 'ddx' : no matching overloaded function found -ERROR: 0:184: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:185: 'ddx_fine' : no matching overloaded function found -ERROR: 0:186: 'ddy' : no matching overloaded function found -ERROR: 0:187: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:188: 'ddy_fine' : no matching overloaded function found -ERROR: 0:189: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:190: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:191: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:192: 'f16tof32' : no matching overloaded function found -ERROR: 0:193: 'firstbithigh' : no matching overloaded function found -ERROR: 0:194: 'firstbitlow' : no matching overloaded function found -ERROR: 0:196: 'fwidth' : no matching overloaded function found -ERROR: 0:197: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:198: 'InterlockedAdd' : no matching overloaded function found -ERROR: 0:199: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:200: 'InterlockedAnd' : no matching overloaded function found -ERROR: 0:201: 'InterlockedCompareExchange' : no matching overloaded function found -ERROR: 0:202: 'InterlockedExchange' : no matching overloaded function found -ERROR: 0:203: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:204: 'InterlockedMax' : no matching overloaded function found -ERROR: 0:205: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:206: 'InterlockedMin' : no matching overloaded function found -ERROR: 0:207: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:208: 'InterlockedOr' : no matching overloaded function found -ERROR: 0:209: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:210: 'InterlockedXor' : no matching overloaded function found -ERROR: 0:211: 'noise' : no matching overloaded function found -ERROR: 0:212: 'reversebits' : no matching overloaded function found -ERROR: 0:213: 'transpose' : no matching overloaded function found -ERROR: 0:253: 'countbits' : no matching overloaded function found -ERROR: 0:253: 'cross' : no matching overloaded function found -ERROR: 0:253: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:253: 'ddx' : no matching overloaded function found -ERROR: 0:253: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:253: 'ddx_fine' : no matching overloaded function found -ERROR: 0:253: 'ddy' : no matching overloaded function found -ERROR: 0:253: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:253: 'ddy_fine' : no matching overloaded function found -ERROR: 0:253: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:253: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:253: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:253: 'f16tof32' : no matching overloaded function found -ERROR: 0:253: 'firstbithigh' : no matching overloaded function found -ERROR: 0:253: 'firstbitlow' : no matching overloaded function found -ERROR: 0:253: 'fwidth' : no matching overloaded function found -ERROR: 0:253: 'noise' : no matching overloaded function found -ERROR: 0:253: 'reversebits' : no matching overloaded function found -ERROR: 0:253: 'length' : no matching overloaded function found -ERROR: 0:253: 'noise' : no matching overloaded function found -ERROR: 0:253: 'normalize' : no matching overloaded function found -ERROR: 0:253: 'reflect' : no matching overloaded function found -ERROR: 0:253: 'refract' : no matching overloaded function found -ERROR: 0:253: 'reversebits' : no matching overloaded function found -ERROR: 0:261: 'countbits' : no matching overloaded function found -ERROR: 0:261: 'cross' : no matching overloaded function found -ERROR: 0:261: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:261: 'ddx' : no matching overloaded function found -ERROR: 0:261: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:261: 'ddx_fine' : no matching overloaded function found -ERROR: 0:261: 'ddy' : no matching overloaded function found -ERROR: 0:261: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:261: 'ddy_fine' : no matching overloaded function found -ERROR: 0:261: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:261: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:261: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:261: 'f16tof32' : no matching overloaded function found -ERROR: 0:261: 'firstbithigh' : no matching overloaded function found -ERROR: 0:261: 'firstbitlow' : no matching overloaded function found -ERROR: 0:261: 'fwidth' : no matching overloaded function found -ERROR: 0:261: 'noise' : no matching overloaded function found -ERROR: 0:261: 'reversebits' : no matching overloaded function found -ERROR: 0:261: 'length' : no matching overloaded function found -ERROR: 0:261: 'noise' : no matching overloaded function found -ERROR: 0:261: 'normalize' : no matching overloaded function found -ERROR: 0:261: 'reflect' : no matching overloaded function found -ERROR: 0:261: 'refract' : no matching overloaded function found -ERROR: 0:261: 'reversebits' : no matching overloaded function found -ERROR: 0:269: 'countbits' : no matching overloaded function found -ERROR: 0:269: 'cross' : no matching overloaded function found -ERROR: 0:269: 'D3DCOLORtoUBYTE4' : no matching overloaded function found -ERROR: 0:269: 'ddx' : no matching overloaded function found -ERROR: 0:269: 'ddx_coarse' : no matching overloaded function found -ERROR: 0:269: 'ddx_fine' : no matching overloaded function found -ERROR: 0:269: 'ddy' : no matching overloaded function found -ERROR: 0:269: 'ddy_coarse' : no matching overloaded function found -ERROR: 0:269: 'ddy_fine' : no matching overloaded function found -ERROR: 0:269: 'EvaluateAttributeAtCentroid' : no matching overloaded function found -ERROR: 0:269: 'EvaluateAttributeAtSample' : no matching overloaded function found -ERROR: 0:269: 'EvaluateAttributeSnapped' : no matching overloaded function found -ERROR: 0:269: 'f16tof32' : no matching overloaded function found -ERROR: 0:269: 'firstbithigh' : no matching overloaded function found -ERROR: 0:269: 'firstbitlow' : no matching overloaded function found -ERROR: 0:269: 'fwidth' : no matching overloaded function found -ERROR: 0:269: 'noise' : no matching overloaded function found -ERROR: 0:269: 'reversebits' : no matching overloaded function found -ERROR: 0:269: 'length' : no matching overloaded function found -ERROR: 0:269: 'noise' : no matching overloaded function found -ERROR: 0:269: 'normalize' : no matching overloaded function found -ERROR: 0:269: 'reflect' : no matching overloaded function found -ERROR: 0:269: 'refract' : no matching overloaded function found -ERROR: 0:269: 'reversebits' : no matching overloaded function found -ERROR: 226 compilation errors. No code generated. - - Shader version: 450 -ERROR: node is still EOpNull! +0:? Sequence 0:74 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (global float) 0:15 Function Parameters: 0:15 'inF0' (in float) @@ -237,104 +8,6 @@ ERROR: node is still EOpNull! 0:15 'inF2' (in float) 0:15 'inI0' (in int) 0:? Sequence -0:18 Constant: -0:18 0.000000 -0:19 Constant: -0:19 0.000000 -0:20 Constant: -0:20 0.000000 -0:21 Constant: -0:21 0.000000 -0:22 Constant: -0:22 0.000000 -0:23 Constant: -0:23 0.000000 -0:24 Constant: -0:24 0.000000 -0:25 Constant: -0:25 0.000000 -0:26 Constant: -0:26 0.000000 -0:27 Constant: -0:27 0.000000 -0:28 Constant: -0:28 0.000000 -0:29 Constant: -0:29 0.000000 -0:30 Constant: -0:30 0.000000 -0:31 Constant: -0:31 0.000000 -0:32 Constant: -0:32 0.000000 -0:33 Constant: -0:33 0.000000 -0:34 Constant: -0:34 0.000000 -0:35 Constant: -0:35 0.000000 -0:36 Constant: -0:36 0.000000 -0:37 Constant: -0:37 0.000000 -0:38 Constant: -0:38 0.000000 -0:39 Constant: -0:39 0.000000 -0:40 Constant: -0:40 0.000000 -0:41 Constant: -0:41 0.000000 -0:43 Constant: -0:43 0.000000 -0:44 Constant: -0:44 0.000000 -0:45 Constant: -0:45 0.000000 -0:46 Constant: -0:46 0.000000 -0:47 Constant: -0:47 0.000000 -0:48 Constant: -0:48 0.000000 -0:49 Constant: -0:49 0.000000 -0:50 Constant: -0:50 0.000000 -0:51 Constant: -0:51 0.000000 -0:52 Constant: -0:52 0.000000 -0:53 Constant: -0:53 0.000000 -0:54 Constant: -0:54 0.000000 -0:55 Constant: -0:55 0.000000 -0:56 Constant: -0:56 0.000000 -0:57 Constant: -0:57 0.000000 -0:58 Constant: -0:58 0.000000 -0:59 Constant: -0:59 0.000000 -0:60 Constant: -0:60 0.000000 -0:61 Constant: -0:61 0.000000 -0:62 Constant: -0:62 0.000000 -0:63 Constant: -0:63 0.000000 -0:64 Constant: -0:64 0.000000 -0:65 Constant: -0:65 0.000000 -0:66 Constant: -0:66 0.000000 -0:67 Constant: -0:67 0.000000 0:71 Branch: Return with expression 0:71 Constant: 0:71 0.000000 @@ -345,8 +18,6 @@ ERROR: node is still EOpNull! 0:75 'inF2' (in 1-component vector of float) 0:75 'inI0' (in 1-component vector of int) 0:? Sequence -0:78 Constant: -0:78 0.000000 0:80 Branch: Return with expression 0:80 Constant: 0:80 0.000000 @@ -357,78 +28,6 @@ ERROR: node is still EOpNull! 0:84 'inF2' (in 2-component vector of float) 0:84 'inI0' (in 2-component vector of int) 0:? Sequence -0:87 Constant: -0:87 0.000000 -0:88 Constant: -0:88 0.000000 -0:89 Constant: -0:89 0.000000 -0:90 Constant: -0:90 0.000000 -0:91 Constant: -0:91 0.000000 -0:92 Constant: -0:92 0.000000 -0:93 Constant: -0:93 0.000000 -0:94 Constant: -0:94 0.000000 -0:95 Constant: -0:95 0.000000 -0:96 Constant: -0:96 0.000000 -0:97 Constant: -0:97 0.000000 -0:98 Constant: -0:98 0.000000 -0:99 Constant: -0:99 0.000000 -0:100 Constant: -0:100 0.000000 -0:101 Constant: -0:101 0.000000 -0:102 Constant: -0:102 0.000000 -0:103 Constant: -0:103 0.000000 -0:104 Constant: -0:104 0.000000 -0:106 Constant: -0:106 0.000000 -0:107 Constant: -0:107 0.000000 -0:108 Constant: -0:108 0.000000 -0:109 Constant: -0:109 0.000000 -0:110 Constant: -0:110 0.000000 -0:111 Constant: -0:111 0.000000 -0:112 Constant: -0:112 0.000000 -0:113 Constant: -0:113 0.000000 -0:114 Constant: -0:114 0.000000 -0:115 Constant: -0:115 0.000000 -0:116 Constant: -0:116 0.000000 -0:117 Constant: -0:117 0.000000 -0:118 Constant: -0:118 0.000000 -0:119 Constant: -0:119 0.000000 -0:120 Constant: -0:120 0.000000 -0:121 Constant: -0:121 0.000000 -0:122 Constant: -0:122 0.000000 -0:123 Constant: -0:123 0.000000 0:127 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -440,275 +39,43 @@ ERROR: node is still EOpNull! 0:131 'inF2' (in 3-component vector of float) 0:131 'inI0' (in 3-component vector of int) 0:? Sequence -0:134 Constant: -0:134 0.000000 -0:135 Constant: -0:135 0.000000 -0:136 Constant: -0:136 0.000000 -0:137 Constant: -0:137 0.000000 -0:138 Constant: -0:138 0.000000 -0:139 Constant: -0:139 0.000000 -0:140 Constant: -0:140 0.000000 -0:141 Constant: -0:141 0.000000 -0:142 Constant: -0:142 0.000000 -0:143 Constant: -0:143 0.000000 -0:144 Constant: -0:144 0.000000 -0:145 Constant: -0:145 0.000000 -0:146 Constant: -0:146 0.000000 -0:147 Constant: -0:147 0.000000 -0:148 Constant: -0:148 0.000000 -0:149 Constant: -0:149 0.000000 -0:151 Constant: -0:151 0.000000 -0:152 Constant: -0:152 0.000000 -0:153 Constant: -0:153 0.000000 -0:154 Constant: -0:154 0.000000 -0:155 Constant: -0:155 0.000000 -0:156 Constant: -0:156 0.000000 -0:157 Constant: -0:157 0.000000 -0:158 Constant: -0:158 0.000000 -0:159 Constant: -0:159 0.000000 -0:160 Constant: -0:160 0.000000 -0:161 Constant: -0:161 0.000000 -0:162 Constant: -0:162 0.000000 -0:163 Constant: -0:163 0.000000 -0:164 Constant: -0:164 0.000000 -0:165 Constant: -0:165 0.000000 -0:166 Constant: -0:166 0.000000 -0:167 Constant: -0:167 0.000000 -0:168 Constant: -0:168 0.000000 0:172 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:250 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float) +0:225 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float) 0:176 Function Parameters: 0:176 'inF0' (in 4-component vector of float) 0:176 'inF1' (in 4-component vector of float) 0:176 'inF2' (in 4-component vector of float) 0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:179 Constant: -0:179 0.000000 -0:180 Constant: -0:180 0.000000 -0:181 Constant: -0:181 0.000000 -0:182 Constant: -0:182 0.000000 -0:183 Constant: -0:183 0.000000 -0:184 Constant: -0:184 0.000000 -0:185 Constant: -0:185 0.000000 -0:186 Constant: -0:186 0.000000 -0:187 Constant: -0:187 0.000000 -0:188 Constant: -0:188 0.000000 -0:189 Constant: -0:189 0.000000 -0:190 Constant: -0:190 0.000000 -0:191 Constant: -0:191 0.000000 -0:192 Constant: -0:192 0.000000 -0:193 Constant: -0:193 0.000000 -0:194 Constant: -0:194 0.000000 -0:196 Constant: -0:196 0.000000 -0:197 Constant: -0:197 0.000000 -0:198 Constant: -0:198 0.000000 -0:199 Constant: -0:199 0.000000 -0:200 Constant: -0:200 0.000000 -0:201 Constant: -0:201 0.000000 -0:202 Constant: -0:202 0.000000 -0:203 Constant: -0:203 0.000000 -0:204 Constant: -0:204 0.000000 -0:205 Constant: -0:205 0.000000 -0:206 Constant: -0:206 0.000000 -0:207 Constant: -0:207 0.000000 -0:208 Constant: -0:208 0.000000 -0:209 Constant: -0:209 0.000000 -0:210 Constant: -0:210 0.000000 -0:211 Constant: -0:211 0.000000 -0:212 Constant: -0:212 0.000000 -0:213 Constant: -0:213 0.000000 0:217 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:258 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) -0:251 Function Parameters: -0:251 'inF0' (in 2X2 matrix of float) -0:251 'inF1' (in 2X2 matrix of float) -0:251 'inF2' (in 2X2 matrix of float) +0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) +0:226 Function Parameters: +0:226 'inF0' (in 2X2 matrix of float) +0:226 'inF1' (in 2X2 matrix of float) +0:226 'inF2' (in 2X2 matrix of float) 0:? Sequence -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:255 Branch: Return with expression +0:230 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:266 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float) -0:259 Function Parameters: -0:259 'inF0' (in 3X3 matrix of float) -0:259 'inF1' (in 3X3 matrix of float) -0:259 'inF2' (in 3X3 matrix of float) +0:241 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float) +0:234 Function Parameters: +0:234 'inF0' (in 3X3 matrix of float) +0:234 'inF1' (in 3X3 matrix of float) +0:234 'inF2' (in 3X3 matrix of float) 0:? Sequence -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:263 Branch: Return with expression +0:238 Branch: Return with expression 0:? Constant: 0:? 3.000000 0:? 3.000000 @@ -719,61 +86,13 @@ ERROR: node is still EOpNull! 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:273 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float) -0:267 Function Parameters: -0:267 'inF0' (in 4X4 matrix of float) -0:267 'inF1' (in 4X4 matrix of float) -0:267 'inF2' (in 4X4 matrix of float) +0:248 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float) +0:242 Function Parameters: +0:242 'inF0' (in 4X4 matrix of float) +0:242 'inF1' (in 4X4 matrix of float) +0:242 'inF2' (in 4X4 matrix of float) 0:? Sequence -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:271 Branch: Return with expression +0:246 Branch: Return with expression 0:? Constant: 0:? 4.000000 0:? 4.000000 @@ -810,7 +129,7 @@ Linked vertex stage: Shader version: 450 -ERROR: node is still EOpNull! +0:? Sequence 0:74 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (global float) 0:15 Function Parameters: 0:15 'inF0' (in float) @@ -818,104 +137,6 @@ ERROR: node is still EOpNull! 0:15 'inF2' (in float) 0:15 'inI0' (in int) 0:? Sequence -0:18 Constant: -0:18 0.000000 -0:19 Constant: -0:19 0.000000 -0:20 Constant: -0:20 0.000000 -0:21 Constant: -0:21 0.000000 -0:22 Constant: -0:22 0.000000 -0:23 Constant: -0:23 0.000000 -0:24 Constant: -0:24 0.000000 -0:25 Constant: -0:25 0.000000 -0:26 Constant: -0:26 0.000000 -0:27 Constant: -0:27 0.000000 -0:28 Constant: -0:28 0.000000 -0:29 Constant: -0:29 0.000000 -0:30 Constant: -0:30 0.000000 -0:31 Constant: -0:31 0.000000 -0:32 Constant: -0:32 0.000000 -0:33 Constant: -0:33 0.000000 -0:34 Constant: -0:34 0.000000 -0:35 Constant: -0:35 0.000000 -0:36 Constant: -0:36 0.000000 -0:37 Constant: -0:37 0.000000 -0:38 Constant: -0:38 0.000000 -0:39 Constant: -0:39 0.000000 -0:40 Constant: -0:40 0.000000 -0:41 Constant: -0:41 0.000000 -0:43 Constant: -0:43 0.000000 -0:44 Constant: -0:44 0.000000 -0:45 Constant: -0:45 0.000000 -0:46 Constant: -0:46 0.000000 -0:47 Constant: -0:47 0.000000 -0:48 Constant: -0:48 0.000000 -0:49 Constant: -0:49 0.000000 -0:50 Constant: -0:50 0.000000 -0:51 Constant: -0:51 0.000000 -0:52 Constant: -0:52 0.000000 -0:53 Constant: -0:53 0.000000 -0:54 Constant: -0:54 0.000000 -0:55 Constant: -0:55 0.000000 -0:56 Constant: -0:56 0.000000 -0:57 Constant: -0:57 0.000000 -0:58 Constant: -0:58 0.000000 -0:59 Constant: -0:59 0.000000 -0:60 Constant: -0:60 0.000000 -0:61 Constant: -0:61 0.000000 -0:62 Constant: -0:62 0.000000 -0:63 Constant: -0:63 0.000000 -0:64 Constant: -0:64 0.000000 -0:65 Constant: -0:65 0.000000 -0:66 Constant: -0:66 0.000000 -0:67 Constant: -0:67 0.000000 0:71 Branch: Return with expression 0:71 Constant: 0:71 0.000000 @@ -926,8 +147,6 @@ ERROR: node is still EOpNull! 0:75 'inF2' (in 1-component vector of float) 0:75 'inI0' (in 1-component vector of int) 0:? Sequence -0:78 Constant: -0:78 0.000000 0:80 Branch: Return with expression 0:80 Constant: 0:80 0.000000 @@ -938,78 +157,6 @@ ERROR: node is still EOpNull! 0:84 'inF2' (in 2-component vector of float) 0:84 'inI0' (in 2-component vector of int) 0:? Sequence -0:87 Constant: -0:87 0.000000 -0:88 Constant: -0:88 0.000000 -0:89 Constant: -0:89 0.000000 -0:90 Constant: -0:90 0.000000 -0:91 Constant: -0:91 0.000000 -0:92 Constant: -0:92 0.000000 -0:93 Constant: -0:93 0.000000 -0:94 Constant: -0:94 0.000000 -0:95 Constant: -0:95 0.000000 -0:96 Constant: -0:96 0.000000 -0:97 Constant: -0:97 0.000000 -0:98 Constant: -0:98 0.000000 -0:99 Constant: -0:99 0.000000 -0:100 Constant: -0:100 0.000000 -0:101 Constant: -0:101 0.000000 -0:102 Constant: -0:102 0.000000 -0:103 Constant: -0:103 0.000000 -0:104 Constant: -0:104 0.000000 -0:106 Constant: -0:106 0.000000 -0:107 Constant: -0:107 0.000000 -0:108 Constant: -0:108 0.000000 -0:109 Constant: -0:109 0.000000 -0:110 Constant: -0:110 0.000000 -0:111 Constant: -0:111 0.000000 -0:112 Constant: -0:112 0.000000 -0:113 Constant: -0:113 0.000000 -0:114 Constant: -0:114 0.000000 -0:115 Constant: -0:115 0.000000 -0:116 Constant: -0:116 0.000000 -0:117 Constant: -0:117 0.000000 -0:118 Constant: -0:118 0.000000 -0:119 Constant: -0:119 0.000000 -0:120 Constant: -0:120 0.000000 -0:121 Constant: -0:121 0.000000 -0:122 Constant: -0:122 0.000000 -0:123 Constant: -0:123 0.000000 0:127 Branch: Return with expression 0:? Constant: 0:? 1.000000 @@ -1021,275 +168,43 @@ ERROR: node is still EOpNull! 0:131 'inF2' (in 3-component vector of float) 0:131 'inI0' (in 3-component vector of int) 0:? Sequence -0:134 Constant: -0:134 0.000000 -0:135 Constant: -0:135 0.000000 -0:136 Constant: -0:136 0.000000 -0:137 Constant: -0:137 0.000000 -0:138 Constant: -0:138 0.000000 -0:139 Constant: -0:139 0.000000 -0:140 Constant: -0:140 0.000000 -0:141 Constant: -0:141 0.000000 -0:142 Constant: -0:142 0.000000 -0:143 Constant: -0:143 0.000000 -0:144 Constant: -0:144 0.000000 -0:145 Constant: -0:145 0.000000 -0:146 Constant: -0:146 0.000000 -0:147 Constant: -0:147 0.000000 -0:148 Constant: -0:148 0.000000 -0:149 Constant: -0:149 0.000000 -0:151 Constant: -0:151 0.000000 -0:152 Constant: -0:152 0.000000 -0:153 Constant: -0:153 0.000000 -0:154 Constant: -0:154 0.000000 -0:155 Constant: -0:155 0.000000 -0:156 Constant: -0:156 0.000000 -0:157 Constant: -0:157 0.000000 -0:158 Constant: -0:158 0.000000 -0:159 Constant: -0:159 0.000000 -0:160 Constant: -0:160 0.000000 -0:161 Constant: -0:161 0.000000 -0:162 Constant: -0:162 0.000000 -0:163 Constant: -0:163 0.000000 -0:164 Constant: -0:164 0.000000 -0:165 Constant: -0:165 0.000000 -0:166 Constant: -0:166 0.000000 -0:167 Constant: -0:167 0.000000 -0:168 Constant: -0:168 0.000000 0:172 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:250 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float) +0:225 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float) 0:176 Function Parameters: 0:176 'inF0' (in 4-component vector of float) 0:176 'inF1' (in 4-component vector of float) 0:176 'inF2' (in 4-component vector of float) 0:176 'inI0' (in 4-component vector of int) 0:? Sequence -0:179 Constant: -0:179 0.000000 -0:180 Constant: -0:180 0.000000 -0:181 Constant: -0:181 0.000000 -0:182 Constant: -0:182 0.000000 -0:183 Constant: -0:183 0.000000 -0:184 Constant: -0:184 0.000000 -0:185 Constant: -0:185 0.000000 -0:186 Constant: -0:186 0.000000 -0:187 Constant: -0:187 0.000000 -0:188 Constant: -0:188 0.000000 -0:189 Constant: -0:189 0.000000 -0:190 Constant: -0:190 0.000000 -0:191 Constant: -0:191 0.000000 -0:192 Constant: -0:192 0.000000 -0:193 Constant: -0:193 0.000000 -0:194 Constant: -0:194 0.000000 -0:196 Constant: -0:196 0.000000 -0:197 Constant: -0:197 0.000000 -0:198 Constant: -0:198 0.000000 -0:199 Constant: -0:199 0.000000 -0:200 Constant: -0:200 0.000000 -0:201 Constant: -0:201 0.000000 -0:202 Constant: -0:202 0.000000 -0:203 Constant: -0:203 0.000000 -0:204 Constant: -0:204 0.000000 -0:205 Constant: -0:205 0.000000 -0:206 Constant: -0:206 0.000000 -0:207 Constant: -0:207 0.000000 -0:208 Constant: -0:208 0.000000 -0:209 Constant: -0:209 0.000000 -0:210 Constant: -0:210 0.000000 -0:211 Constant: -0:211 0.000000 -0:212 Constant: -0:212 0.000000 -0:213 Constant: -0:213 0.000000 0:217 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:258 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) -0:251 Function Parameters: -0:251 'inF0' (in 2X2 matrix of float) -0:251 'inF1' (in 2X2 matrix of float) -0:251 'inF2' (in 2X2 matrix of float) +0:233 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float) +0:226 Function Parameters: +0:226 'inF0' (in 2X2 matrix of float) +0:226 'inF1' (in 2X2 matrix of float) +0:226 'inF2' (in 2X2 matrix of float) 0:? Sequence -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:253 Constant: -0:253 0.000000 -0:255 Branch: Return with expression +0:230 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:266 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float) -0:259 Function Parameters: -0:259 'inF0' (in 3X3 matrix of float) -0:259 'inF1' (in 3X3 matrix of float) -0:259 'inF2' (in 3X3 matrix of float) +0:241 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float) +0:234 Function Parameters: +0:234 'inF0' (in 3X3 matrix of float) +0:234 'inF1' (in 3X3 matrix of float) +0:234 'inF2' (in 3X3 matrix of float) 0:? Sequence -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:261 Constant: -0:261 0.000000 -0:263 Branch: Return with expression +0:238 Branch: Return with expression 0:? Constant: 0:? 3.000000 0:? 3.000000 @@ -1300,61 +215,13 @@ ERROR: node is still EOpNull! 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:273 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float) -0:267 Function Parameters: -0:267 'inF0' (in 4X4 matrix of float) -0:267 'inF1' (in 4X4 matrix of float) -0:267 'inF2' (in 4X4 matrix of float) +0:248 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float) +0:242 Function Parameters: +0:242 'inF0' (in 4X4 matrix of float) +0:242 'inF1' (in 4X4 matrix of float) +0:242 'inF2' (in 4X4 matrix of float) 0:? Sequence -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:269 Constant: -0:269 0.000000 -0:271 Branch: Return with expression +0:246 Branch: Return with expression 0:? Constant: 0:? 4.000000 0:? 4.000000 @@ -1386,4 +253,175 @@ ERROR: node is still EOpNull! 0:? 'gs_ub4' (global 4-component vector of uint) 0:? 'gs_uc4' (global 4-component vector of uint) -SPIR-V is not generated for failed compile or link +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 119 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "VertexShaderFunction" + Source HLSL 450 + Name 4 "VertexShaderFunction" + Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" + Name 11 "inF0" + Name 12 "inF1" + Name 13 "inF2" + Name 14 "inI0" + Name 21 "VertexShaderFunction1(vf1;vf1;vf1;vi1;" + Name 17 "inF0" + Name 18 "inF1" + Name 19 "inF2" + Name 20 "inI0" + Name 32 "VertexShaderFunction2(vf2;vf2;vf2;vi2;" + Name 28 "inF0" + Name 29 "inF1" + Name 30 "inF2" + Name 31 "inI0" + Name 43 "VertexShaderFunction3(vf3;vf3;vf3;vi3;" + Name 39 "inF0" + Name 40 "inF1" + Name 41 "inF2" + Name 42 "inI0" + Name 51 "VertexShaderFunction2x2(mf22;mf22;mf22;" + Name 48 "inF0" + Name 49 "inF1" + Name 50 "inF2" + Name 59 "VertexShaderFunction3x3(mf33;mf33;mf33;" + Name 56 "inF0" + Name 57 "inF1" + Name 58 "inF2" + Name 68 "VertexShaderFunction4x4(mf44;mf44;mf44;" + Name 65 "inF0" + Name 66 "inF1" + Name 67 "inF2" + Name 101 "gs_ua" + Name 102 "gs_ub" + Name 103 "gs_uc" + Name 106 "gs_ua2" + Name 107 "gs_ub2" + Name 108 "gs_uc2" + Name 111 "gs_ua3" + Name 112 "gs_ub3" + Name 113 "gs_uc3" + Name 116 "gs_ua4" + Name 117 "gs_ub4" + Name 118 "gs_uc4" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 8: TypeInt 32 1 + 9: TypePointer Function 8(int) + 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) + 23: TypeVector 6(float) 2 + 24: TypePointer Function 23(fvec2) + 25: TypeVector 8(int) 2 + 26: TypePointer Function 25(ivec2) + 27: TypeFunction 23(fvec2) 24(ptr) 24(ptr) 24(ptr) 26(ptr) + 34: TypeVector 6(float) 3 + 35: TypePointer Function 34(fvec3) + 36: TypeVector 8(int) 3 + 37: TypePointer Function 36(ivec3) + 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) + 45: TypeMatrix 23(fvec2) 2 + 46: TypePointer Function 45 + 47: TypeFunction 45 46(ptr) 46(ptr) 46(ptr) + 53: TypeMatrix 34(fvec3) 3 + 54: TypePointer Function 53 + 55: TypeFunction 53 54(ptr) 54(ptr) 54(ptr) + 61: TypeVector 6(float) 4 + 62: TypeMatrix 61(fvec4) 4 + 63: TypePointer Function 62 + 64: TypeFunction 62 63(ptr) 63(ptr) 63(ptr) + 70: 6(float) Constant 0 + 75: 6(float) Constant 1065353216 + 76: 6(float) Constant 1073741824 + 77: 23(fvec2) ConstantComposite 75 76 + 80: 6(float) Constant 1077936128 + 81: 34(fvec3) ConstantComposite 75 76 80 + 84: 6(float) Constant 1082130432 + 85: 61(fvec4) ConstantComposite 75 76 80 84 + 87: 23(fvec2) ConstantComposite 76 76 + 88: 45 ConstantComposite 87 87 + 91: 34(fvec3) ConstantComposite 80 80 80 + 92: 53 ConstantComposite 91 91 91 + 95: 61(fvec4) ConstantComposite 84 84 84 84 + 96: 62 ConstantComposite 95 95 95 95 + 99: TypeInt 32 0 + 100: TypePointer Private 99(int) + 101(gs_ua): 100(ptr) Variable Private + 102(gs_ub): 100(ptr) Variable Private + 103(gs_uc): 100(ptr) Variable Private + 104: TypeVector 99(int) 2 + 105: TypePointer Private 104(ivec2) + 106(gs_ua2): 105(ptr) Variable Private + 107(gs_ub2): 105(ptr) Variable Private + 108(gs_uc2): 105(ptr) Variable Private + 109: TypeVector 99(int) 3 + 110: TypePointer Private 109(ivec3) + 111(gs_ua3): 110(ptr) Variable Private + 112(gs_ub3): 110(ptr) Variable Private + 113(gs_uc3): 110(ptr) Variable Private + 114: TypeVector 99(int) 4 + 115: TypePointer Private 114(ivec4) + 116(gs_ua4): 115(ptr) Variable Private + 117(gs_ub4): 115(ptr) Variable Private + 118(gs_uc4): 115(ptr) Variable Private +4(VertexShaderFunction): 2 Function None 3 + 5: Label + ReturnValue 85 + FunctionEnd +15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 + 11(inF0): 7(ptr) FunctionParameter + 12(inF1): 7(ptr) FunctionParameter + 13(inF2): 7(ptr) FunctionParameter + 14(inI0): 9(ptr) FunctionParameter + 16: Label + ReturnValue 70 + FunctionEnd +21(VertexShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 + 17(inF0): 7(ptr) FunctionParameter + 18(inF1): 7(ptr) FunctionParameter + 19(inF2): 7(ptr) FunctionParameter + 20(inI0): 9(ptr) FunctionParameter + 22: Label + ReturnValue 70 + FunctionEnd +32(VertexShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 + 28(inF0): 24(ptr) FunctionParameter + 29(inF1): 24(ptr) FunctionParameter + 30(inF2): 24(ptr) FunctionParameter + 31(inI0): 26(ptr) FunctionParameter + 33: Label + ReturnValue 77 + FunctionEnd +43(VertexShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 + 39(inF0): 35(ptr) FunctionParameter + 40(inF1): 35(ptr) FunctionParameter + 41(inF2): 35(ptr) FunctionParameter + 42(inI0): 37(ptr) FunctionParameter + 44: Label + ReturnValue 81 + FunctionEnd +51(VertexShaderFunction2x2(mf22;mf22;mf22;): 45 Function None 47 + 48(inF0): 46(ptr) FunctionParameter + 49(inF1): 46(ptr) FunctionParameter + 50(inF2): 46(ptr) FunctionParameter + 52: Label + ReturnValue 88 + FunctionEnd +59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55 + 56(inF0): 54(ptr) FunctionParameter + 57(inF1): 54(ptr) FunctionParameter + 58(inF2): 54(ptr) FunctionParameter + 60: Label + ReturnValue 92 + FunctionEnd +68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64 + 65(inF0): 63(ptr) FunctionParameter + 66(inF1): 63(ptr) FunctionParameter + 67(inF2): 63(ptr) FunctionParameter + 69: Label + ReturnValue 96 + FunctionEnd diff --git a/Test/hlsl.intrinsics.negative.comp b/Test/hlsl.intrinsics.negative.comp index c89d04bc1d5c640ca760a28a4624b039d1fec37e..fe612d6e7950cd04b5c91faa46aded906588c6db 100644 --- a/Test/hlsl.intrinsics.negative.comp +++ b/Test/hlsl.intrinsics.negative.comp @@ -4,49 +4,49 @@ float ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0) // AllMemoryBarrier(); // invalid in fragment stage TODO: parser currently crashes on empty arg list // AllMemoryBarrierWithGroupSync(); // invalid in fragment stage TODO: parser currently crashes on empty arg list - asdouble(inF0, inF1); // expected error: only integer inputs - CheckAccessFullyMapped(3.0); // expected error: only valid on integers - clip(inF0); // expected error: only valid in pixel stage - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - ddx(inF0); // expected error: only valid in pixel stage - ddx_coarse(inF0); // expected error: only valid in pixel stage - ddx_fine(inF0); // expected error: only valid in pixel stage - ddy(inF0); // expected error: only valid in pixel stage - ddy_coarse(inF0); // expected error: only valid in pixel stage - ddy_fine(inF0); // expected error: only valid in pixel stage - determinant(inF0); // expected error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // asdouble(inF0, inF1); // expected error: only integer inputs + // CheckAccessFullyMapped(3.0); // expected error: only valid on integers + // clip(inF0); // expected error: only valid in pixel stage + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // ddx(inF0); // expected error: only valid in pixel stage + // ddx_coarse(inF0); // expected error: only valid in pixel stage + // ddx_fine(inF0); // expected error: only valid in pixel stage + // ddy(inF0); // expected error: only valid in pixel stage + // ddy_coarse(inF0); // expected error: only valid in pixel stage + // ddy_fine(inF0); // expected error: only valid in pixel stage + // determinant(inF0); // expected error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage - InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - length(inF0); // expect error: invalid on scalars - msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs - normalize(inF0); // expect error: invalid on scalars - reflect(inF0, inF1); // expect error: invalid on scalars - refract(inF0, inF1, inF2); // expect error: invalid on scalars - refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage + // InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // length(inF0); // expect error: invalid on scalars + // msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs + // normalize(inF0); // expect error: invalid on scalars + // reflect(inF0, inF1); // expect error: invalid on scalars + // refract(inF0, inF1, inF2); // expect error: invalid on scalars + // refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -57,7 +57,7 @@ float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0) { // TODO: ... add when float1 prototypes are generated - GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs + // GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs return 0.0; } @@ -66,43 +66,43 @@ float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0) { uint2 out_u2; - asdouble(inF0, inF1); // expected error: only integer inputs - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - determinant(inF0); // expect error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // asdouble(inF0, inF1); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // determinant(inF0); // expect error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua2, gs_ub2, out_u2);// expected error: only valid in pixel stage - InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua2, gs_ub2, out_u2);// expected error: only valid in pixel stage + // InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -113,41 +113,41 @@ float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0) { uint3 out_u3; - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - determinant(inF0); // expect error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // determinant(inF0); // expect error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -158,41 +158,41 @@ float4 ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0) { uint4 out_u4; - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - determinant(inF0); // expect error: only valid on mats - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // determinant(inF0); // expect error: only valid on mats + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage + // EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. diff --git a/Test/hlsl.intrinsics.negative.vert b/Test/hlsl.intrinsics.negative.vert index a5030cf1b560dad39ec79c623597f82562b402f2..fcfb761a6e66952437c99375c1a9c21a91930961 100644 --- a/Test/hlsl.intrinsics.negative.vert +++ b/Test/hlsl.intrinsics.negative.vert @@ -15,56 +15,56 @@ float VertexShaderFunctionS(float inF0, float inF1, float inF2, int inI0) { uint out_u1; - AllMemoryBarrier(); // expected error: only valid in compute stage - AllMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage - asdouble(inF0, inF1); // expected error: only integer inputs - CheckAccessFullyMapped(3.0); // expected error: only valid on integers - CheckAccessFullyMapped(3); // expected error: only valid in pixel & compute stages - clip(inF0); // expected error: only valid in pixel stage - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - DeviceMemoryBarrier(); // expected error: only valid in pixel & compute stages - DeviceMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage - ddx(inF0); // expected error: only valid in pixel stage - ddx_coarse(inF0); // expected error: only valid in pixel stage - ddx_fine(inF0); // expected error: only valid in pixel stage - ddy(inF0); // expected error: only valid in pixel stage - ddy_coarse(inF0); // expected error: only valid in pixel stage - ddy_fine(inF0); // expected error: only valid in pixel stage - determinant(inF0); // expected error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // AllMemoryBarrier(); // expected error: only valid in compute stage + // AllMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage + // asdouble(inF0, inF1); // expected error: only integer inputs + // CheckAccessFullyMapped(3.0); // expected error: only valid on integers + // CheckAccessFullyMapped(3); // expected error: only valid in pixel & compute stages + // clip(inF0); // expected error: only valid in pixel stage + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // DeviceMemoryBarrier(); // expected error: only valid in pixel & compute stages + // DeviceMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage + // ddx(inF0); // expected error: only valid in pixel stage + // ddx_coarse(inF0); // expected error: only valid in pixel stage + // ddx_fine(inF0); // expected error: only valid in pixel stage + // ddy(inF0); // expected error: only valid in pixel stage + // ddy_coarse(inF0); // expected error: only valid in pixel stage + // ddy_fine(inF0); // expected error: only valid in pixel stage + // determinant(inF0); // expected error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage - InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage - InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage - GroupMemoryBarrier(); // expected error: only valid in compute stage - GroupMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage - length(inF0); // expect error: invalid on scalars - msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs - normalize(inF0); // expect error: invalid on scalars - reflect(inF0, inF1); // expect error: invalid on scalars - refract(inF0, inF1, inF2); // expect error: invalid on scalars - refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage + // InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage + // GroupMemoryBarrier(); // expected error: only valid in compute stage + // GroupMemoryBarrierWithGroupSync(); // expected error: only valid in compute stage + // length(inF0); // expect error: invalid on scalars + // msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs + // normalize(inF0); // expect error: invalid on scalars + // reflect(inF0, inF1); // expect error: invalid on scalars + // refract(inF0, inF1, inF2); // expect error: invalid on scalars + // refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -75,7 +75,7 @@ float1 VertexShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0) { // TODO: ... add when float1 prototypes are generated - GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs + // GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs return 0.0; } @@ -84,43 +84,43 @@ float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0) { uint2 out_u2; - asdouble(inF0, inF1); // expected error: only integer inputs - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - determinant(inF0); // expect error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // asdouble(inF0, inF1); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // determinant(inF0); // expect error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage - InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -131,41 +131,41 @@ float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0) { uint3 out_u3; - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs - determinant(inF0); // expect error: only valid on mats - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs + // determinant(inF0); // expect error: only valid on mats + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage - InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -176,41 +176,41 @@ float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0) { uint4 out_u4; - CheckAccessFullyMapped(inF0); // expect error: only valid on scalars - countbits(inF0); // expected error: only integer inputs - cross(inF0, inF1); // expected error: only on float3 inputs - determinant(inF0); // expect error: only valid on mats - ddx(inF0); // only valid in pixel stage - ddx_coarse(inF0); // only valid in pixel stage - ddx_fine(inF0); // only valid in pixel stage - ddy(inF0); // only valid in pixel stage - ddy_coarse(inF0); // only valid in pixel stage - ddy_fine(inF0); // only valid in pixel stage - EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage - EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage - EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage - f16tof32(inF0); // expected error: only integer inputs - firstbithigh(inF0); // expected error: only integer inputs - firstbitlow(inF0); // expected error: only integer inputs + // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars + // countbits(inF0); // expected error: only integer inputs + // cross(inF0, inF1); // expected error: only on float3 inputs + // determinant(inF0); // expect error: only valid on mats + // ddx(inF0); // only valid in pixel stage + // ddx_coarse(inF0); // only valid in pixel stage + // ddx_fine(inF0); // only valid in pixel stage + // ddy(inF0); // only valid in pixel stage + // ddy_coarse(inF0); // only valid in pixel stage + // ddy_fine(inF0); // only valid in pixel stage + // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant + // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant + // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant + // f16tof32(inF0); // expected error: only integer inputs + // firstbithigh(inF0); // expected error: only integer inputs + // firstbitlow(inF0); // expected error: only integer inputs // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC - fwidth(inF0); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage - InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage - InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage - noise(inF0); // expected error: only valid in pixel stage - reversebits(inF0); // expected error: only integer inputs - transpose(inF0); // expect error: only valid on mats + // fwidth(inF0); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage + // InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage + // InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage + // noise(inF0); // expected error: only valid in pixel stage + // reversebits(inF0); // expected error: only integer inputs + // transpose(inF0); // expect error: only valid on mats // TODO: texture intrinsics, when we can declare samplers. @@ -218,32 +218,7 @@ float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0) } // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without. -#define MATFNS() \ - countbits(inF0); \ - cross(inF0, inF1); \ - D3DCOLORtoUBYTE4(inF0); \ - ddx(inF0); \ - ddx_coarse(inF0); \ - ddx_fine(inF0); \ - ddy(inF0); \ - ddy_coarse(inF0); \ - ddy_fine(inF0); \ - EvaluateAttributeAtCentroid(inF0); \ - EvaluateAttributeAtSample(inF0, 2); \ - EvaluateAttributeSnapped(inF0, int2(2)); \ - f16tof32(inF0); \ - firstbithigh(inF0); \ - firstbitlow(inF0); \ - fwidth(inF0); \ - noise(inF0); \ - reversebits(inF0); \ - length(inF0); \ - noise(inF0); \ - normalize(inF0); \ - reflect(inF0, inF1); \ - refract(inF0, inF1, 1.0); \ - reversebits(inF0); \ - +#define MATFNS() // TODO: turn on non-square matrix tests when protos are available. diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp index 721da625d911b85f4277b5c6c6d32c245bfaa369..868a41ea537494a95f1075a4f6a890effd51e414 100755 --- a/hlsl/hlslParseables.cpp +++ b/hlsl/hlslParseables.cpp @@ -453,8 +453,24 @@ void TBuiltInParseablesHlsl::createMatTimesMat() void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, const SpvVersion& /*spvVersion*/) { static const EShLanguageMask EShLangAll = EShLanguageMask(EShLangCount - 1); - static const EShLanguageMask EShLangPSCS = EShLanguageMask(EShLangFragmentMask | EShLangComputeMask); - static const EShLanguageMask EShLangVSPSGS = EShLanguageMask(EShLangVertexMask | EShLangFragmentMask | EShLangGeometryMask); + + // These are the actual stage masks defined in the documentation, in case they are + // needed for furture validation. For now, they are commented out, and set below + // to EShLangAll, to allow any intrinsic to be used in any shader, which is legal + // if it is not called. + // + // static const EShLanguageMask EShLangPSCS = EShLanguageMask(EShLangFragmentMask | EShLangComputeMask); + // static const EShLanguageMask EShLangVSPSGS = EShLanguageMask(EShLangVertexMask | EShLangFragmentMask | EShLangGeometryMask); + // static const EShLanguageMask EShLangCS = EShLangComputeMask; + // static const EShLanguageMask EShLangPS = EShLangFragmentMask; + // static const EShLanguageMask EShLangHS = EShLangTessControlMask; + + // This set uses EShLangAll for everything. + static const EShLanguageMask EShLangPSCS = EShLangAll; + static const EShLanguageMask EShLangVSPSGS = EShLangAll; + static const EShLanguageMask EShLangCS = EShLangAll; + static const EShLanguageMask EShLangPS = EShLangAll; + static const EShLanguageMask EShLangHS = EShLangAll; // This structure encodes the prototype information for each HLSL intrinsic. // Because explicit enumeration would be cumbersome, it's procedurally generated. @@ -486,8 +502,8 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "abs", nullptr, nullptr, "SVM", "DFUI", EShLangAll }, { "acos", nullptr, nullptr, "SVM", "F", EShLangAll }, { "all", "S", "B", "SVM", "BFI", EShLangAll }, - { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangComputeMask }, - { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS }, + { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, { "any", "S", "B", "SVM", "BFI", EShLangAll }, { "asdouble", "S", "D", "S,", "U,", EShLangAll }, { "asdouble", "V2", "D", "V2,", "U,", EShLangAll }, @@ -500,29 +516,29 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "ceil", nullptr, nullptr, "SVM", "F", EShLangAll }, { "CheckAccessFullyMapped", "S", "B" , "S", "U", EShLangPSCS }, { "clamp", nullptr, nullptr, "SVM,,", "FUI,,", EShLangAll }, - { "clip", "-", "-", "SVM", "F", EShLangFragmentMask }, + { "clip", "-", "-", "SVM", "F", EShLangPS }, { "cos", nullptr, nullptr, "SVM", "F", EShLangAll }, { "cosh", nullptr, nullptr, "SVM", "F", EShLangAll }, { "countbits", nullptr, nullptr, "SV", "U", EShLangAll }, { "cross", nullptr, nullptr, "V3,", "F,", EShLangAll }, { "D3DCOLORtoUBYTE4", "V4", "I", "V4", "F", EShLangAll }, - { "ddx", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "ddx_coarse", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "ddx_fine", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "ddy", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "ddy_coarse", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "ddy_fine", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "ddx", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "ddx_coarse", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "ddx_fine", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "ddy", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "ddy_coarse", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "ddy_fine", nullptr, nullptr, "SVM", "F", EShLangPS }, { "degrees", nullptr, nullptr, "SVM", "F", EShLangAll }, { "determinant", "S", "F", "M", "F", EShLangAll }, { "DeviceMemoryBarrier", nullptr, nullptr, "-", "-", EShLangPSCS }, - { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, { "distance", "S", "F", "V,", "F,", EShLangAll }, { "dot", "S", nullptr, "V,", "FI,", EShLangAll }, { "dst", nullptr, nullptr, "V4,", "F,", EShLangAll }, // { "errorf", "-", "-", "", "", EShLangAll }, TODO: varargs - { "EvaluateAttributeAtCentroid", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, - { "EvaluateAttributeAtSample", nullptr, nullptr, "SVM,S", "F,U", EShLangFragmentMask }, - { "EvaluateAttributeSnapped", nullptr, nullptr, "SVM,V2", "F,I", EShLangFragmentMask }, + { "EvaluateAttributeAtCentroid", nullptr, nullptr, "SVM", "F", EShLangPS }, + { "EvaluateAttributeAtSample", nullptr, nullptr, "SVM,S", "F,U", EShLangPS }, + { "EvaluateAttributeSnapped", nullptr, nullptr, "SVM,V2", "F,I", EShLangPS }, { "exp", nullptr, nullptr, "SVM", "F", EShLangAll }, { "exp2", nullptr, nullptr, "SVM", "F", EShLangAll }, { "f16tof32", nullptr, "F", "SV", "U", EShLangAll }, @@ -535,11 +551,11 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "fmod", nullptr, nullptr, "SVM,", "F,", EShLangAll }, { "frac", nullptr, nullptr, "SVM", "F", EShLangAll }, { "frexp", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "fwidth", nullptr, nullptr, "SVM", "F", EShLangFragmentMask }, + { "fwidth", nullptr, nullptr, "SVM", "F", EShLangPS }, { "GetRenderTargetSampleCount", "S", "U", "-", "-", EShLangAll }, { "GetRenderTargetSamplePosition", "V2", "F", "V1", "I", EShLangAll }, - { "GroupMemoryBarrier", nullptr, nullptr, "-", "-", EShLangComputeMask }, - { "GroupMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangComputeMask }, + { "GroupMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS }, + { "GroupMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, { "InterlockedAdd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, { "InterlockedAdd", "-", "-", "SVM,", "UI,", EShLangPSCS }, { "InterlockedAnd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, @@ -580,20 +596,20 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "mul", "M", nullptr, "M,S", "FI,", EShLangAll }, { "mul", "V", nullptr, "M,#V", "FI,", EShLangAll }, // mat*mat form of mul is handled in createMatTimesMat() - { "noise", "S", "F", "V", "F", EShLangFragmentMask }, + { "noise", "S", "F", "V", "F", EShLangPS }, { "normalize", nullptr, nullptr, "V", "F", EShLangAll }, { "pow", nullptr, nullptr, "SVM,", "F,", EShLangAll }, // { "printf", "-", "-", "", "", EShLangAll }, TODO: varargs - { "Process2DQuadTessFactorsAvg", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "Process2DQuadTessFactorsMax", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "Process2DQuadTessFactorsMin", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "ProcessIsolineTessFactors", "-", "-", "S,,>,>", "F,,,", EShLangTessControlMask }, - { "ProcessQuadTessFactorsAvg", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "ProcessQuadTessFactorsMax", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "ProcessQuadTessFactorsMin", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangTessControlMask }, - { "ProcessTriTessFactorsAvg", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangTessControlMask }, - { "ProcessTriTessFactorsMax", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangTessControlMask }, - { "ProcessTriTessFactorsMin", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangTessControlMask }, + { "Process2DQuadTessFactorsAvg", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, + { "Process2DQuadTessFactorsMax", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, + { "Process2DQuadTessFactorsMin", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, + { "ProcessIsolineTessFactors", "-", "-", "S,,>,>", "F,,,", EShLangHS }, + { "ProcessQuadTessFactorsAvg", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, + { "ProcessQuadTessFactorsMax", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, + { "ProcessQuadTessFactorsMin", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, + { "ProcessTriTessFactorsAvg", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, + { "ProcessTriTessFactorsMax", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, + { "ProcessTriTessFactorsMin", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, { "radians", nullptr, nullptr, "SVM", "F", EShLangAll }, { "rcp", nullptr, nullptr, "SVM", "FD", EShLangAll }, { "reflect", nullptr, nullptr, "V,", "F,", EShLangAll }, @@ -611,48 +627,48 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "step", nullptr, nullptr, "SVM,", "F,", EShLangAll }, { "tan", nullptr, nullptr, "SVM", "F", EShLangAll }, { "tanh", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "tex1D", "V4", "F", "V1,S", "S,F", EShLangFragmentMask }, - { "tex1D", "V4", "F", "V1,S,V1,", "S,F,,", EShLangFragmentMask }, - { "tex1Dbias", "V4", "F", "V1,V4", "S,F", EShLangFragmentMask }, - { "tex1Dgrad", "V4", "F", "V1,,,", "S,F,,", EShLangFragmentMask }, - { "tex1Dlod", "V4", "F", "V1,V4", "S,F", EShLangFragmentMask }, - { "tex1Dproj", "V4", "F", "V1,V4", "S,F", EShLangFragmentMask }, - { "tex2D", "V4", "F", "V2,", "S,F", EShLangFragmentMask }, - { "tex2D", "V4", "F", "V2,,,", "S,F,,", EShLangFragmentMask }, - { "tex2Dbias", "V4", "F", "V2,V4", "S,F", EShLangFragmentMask }, - { "tex2Dgrad", "V4", "F", "V2,,,", "S,F,,", EShLangFragmentMask }, - { "tex2Dlod", "V4", "F", "V2,V4", "S,F", EShLangFragmentMask }, - { "tex2Dproj", "V4", "F", "V2,V4", "S,F", EShLangFragmentMask }, - { "tex3D", "V4", "F", "V3,", "S,F", EShLangFragmentMask }, - { "tex3D", "V4", "F", "V3,,,", "S,F,,", EShLangFragmentMask }, - { "tex3Dbias", "V4", "F", "V3,V4", "S,F", EShLangFragmentMask }, - { "tex3Dgrad", "V4", "F", "V3,,,", "S,F,,", EShLangFragmentMask }, - { "tex3Dlod", "V4", "F", "V3,V4", "S,F", EShLangFragmentMask }, - { "tex3Dproj", "V4", "F", "V3,V4", "S,F", EShLangFragmentMask }, - { "texCUBE", "V4", "F", "V4,V3", "S,F", EShLangFragmentMask }, - { "texCUBE", "V4", "F", "V4,V3,,", "S,F,,", EShLangFragmentMask }, - { "texCUBEbias", "V4", "F", "V4,", "S,F", EShLangFragmentMask }, - { "texCUBEgrad", "V4", "F", "V4,V3,,", "S,F,,", EShLangFragmentMask }, - { "texCUBElod", "V4", "F", "V4,", "S,F", EShLangFragmentMask }, - { "texCUBEproj", "V4", "F", "V4,", "S,F", EShLangFragmentMask }, + { "tex1D", "V4", "F", "V1,S", "S,F", EShLangPS }, + { "tex1D", "V4", "F", "V1,S,V1,", "S,F,,", EShLangPS }, + { "tex1Dbias", "V4", "F", "V1,V4", "S,F", EShLangPS }, + { "tex1Dgrad", "V4", "F", "V1,,,", "S,F,,", EShLangPS }, + { "tex1Dlod", "V4", "F", "V1,V4", "S,F", EShLangPS }, + { "tex1Dproj", "V4", "F", "V1,V4", "S,F", EShLangPS }, + { "tex2D", "V4", "F", "V2,", "S,F", EShLangPS }, + { "tex2D", "V4", "F", "V2,,,", "S,F,,", EShLangPS }, + { "tex2Dbias", "V4", "F", "V2,V4", "S,F", EShLangPS }, + { "tex2Dgrad", "V4", "F", "V2,,,", "S,F,,", EShLangPS }, + { "tex2Dlod", "V4", "F", "V2,V4", "S,F", EShLangPS }, + { "tex2Dproj", "V4", "F", "V2,V4", "S,F", EShLangPS }, + { "tex3D", "V4", "F", "V3,", "S,F", EShLangPS }, + { "tex3D", "V4", "F", "V3,,,", "S,F,,", EShLangPS }, + { "tex3Dbias", "V4", "F", "V3,V4", "S,F", EShLangPS }, + { "tex3Dgrad", "V4", "F", "V3,,,", "S,F,,", EShLangPS }, + { "tex3Dlod", "V4", "F", "V3,V4", "S,F", EShLangPS }, + { "tex3Dproj", "V4", "F", "V3,V4", "S,F", EShLangPS }, + { "texCUBE", "V4", "F", "V4,V3", "S,F", EShLangPS }, + { "texCUBE", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS }, + { "texCUBEbias", "V4", "F", "V4,", "S,F", EShLangPS }, + { "texCUBEgrad", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS }, + { "texCUBElod", "V4", "F", "V4,", "S,F", EShLangPS }, + { "texCUBEproj", "V4", "F", "V4,", "S,F", EShLangPS }, { "transpose", "^M", nullptr, "M", "F", EShLangAll }, { "trunc", nullptr, nullptr, "SVM", "F", EShLangAll }, // Texture object methods. Return type can be overridden by shader declaration. // !O = no offset, O = offset - { "Sample", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangFragmentMask }, - { "Sample", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangFragmentMask }, + { "Sample", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangPS }, + { "Sample", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangPS }, - { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangFragmentMask }, - { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangFragmentMask }, + { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangPS }, + { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangPS }, // TODO: FXC accepts int/uint samplers here. unclear what that means. - { "SampleCmp", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,", EShLangFragmentMask }, - { "SampleCmp", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,,I", EShLangFragmentMask }, + { "SampleCmp", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,", EShLangPS }, + { "SampleCmp", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,,I", EShLangPS }, // TODO: FXC accepts int/uint samplers here. unclear what that means. - { "SampleCmpLevelZero", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,F", EShLangFragmentMask }, - { "SampleCmpLevelZero", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,F,I", EShLangFragmentMask }, + { "SampleCmpLevelZero", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,F", EShLangPS }, + { "SampleCmpLevelZero", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,F,I", EShLangPS }, { "SampleGrad", /*!O*/ "V4", nullptr, "%@,S,V,,", "FIU,S,F,,", EShLangAll }, { "SampleGrad", /* O*/ "V4", nullptr, "%@,S,V,,,", "FIU,S,F,,,I", EShLangAll }, @@ -668,8 +684,8 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, { "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll }, - { "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask }, - { "CalculateLevelOfDetailUnclamped", "S", "F", "%@,S,V", "FUI,S,F", EShLangFragmentMask }, + { "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS }, + { "CalculateLevelOfDetailUnclamped", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS }, { "GetSamplePosition", "V2", "F", "$&2,S", "FUI,I", EShLangVSPSGS },