HLSL: Include shape-changing conversions in overloaded signature selection.

This also enables vecN -> vec1 shape conversions for all places doing shape
conversions.

For signature selection, makes shape changes worse than any other comparison
when deciding what conversions are better than others.
This commit is contained in:
John Kessenich
2016-08-25 15:57:56 -06:00
parent 90dd70f752
commit e3f2c8f98a
6 changed files with 1504 additions and 1026 deletions

View File

@@ -1,12 +1,6 @@
hlsl.intrinsics.negative.frag
ERROR: 0:8: 'cross' : no matching overloaded function found
ERROR: 0:9: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
ERROR: 0:10: 'determinant' : no matching overloaded function found
ERROR: 0:12: 'f32tof16' : unimplemented intrinsic: handle natively
ERROR: 0:23: 'length' : no matching overloaded function found
ERROR: 0:25: 'normalize' : no matching overloaded function found
ERROR: 0:26: 'reflect' : no matching overloaded function found
ERROR: 0:27: 'refract' : no matching overloaded function found
ERROR: 0:28: 'refract' : no matching overloaded function found
ERROR: 0:30: 'transpose' : no matching overloaded function found
ERROR: 0:39: 'GetRenderTargetSamplePosition' : no matching overloaded function found
@@ -23,7 +17,6 @@ ERROR: 0:67: 'determinant' : no matching overloaded function found
ERROR: 0:68: 'f32tof16' : unimplemented intrinsic: handle natively
ERROR: 0:73: 'transpose' : no matching overloaded function found
ERROR: 0:81: 'CheckAccessFullyMapped' : no matching overloaded function found
ERROR: 0:83: 'cross' : no matching overloaded function found
ERROR: 0:84: 'determinant' : no matching overloaded function found
ERROR: 0:85: 'f32tof16' : unimplemented intrinsic: handle natively
ERROR: 0:90: 'transpose' : no matching overloaded function found
@@ -66,7 +59,7 @@ ERROR: 0:133: 'normalize' : no matching overloaded function found
ERROR: 0:133: 'reflect' : no matching overloaded function found
ERROR: 0:133: 'refract' : no matching overloaded function found
ERROR: 0:133: 'reversebits' : no matching overloaded function found
ERROR: 67 compilation errors. No code generated.
ERROR: 60 compilation errors. No code generated.
Shader version: 450
@@ -91,10 +84,14 @@ ERROR: node is still EOpNull!
0:7 bitCount (global uint)
0:7 Convert float to uint (temp uint)
0:7 'inF0' (in float)
0:8 Constant:
0:8 0.000000
0:9 Constant:
0:9 0.000000
0:8 cross-product (global 3-component vector of float)
0:8 Construct vec3 (in 3-component vector of float)
0:8 'inF0' (in float)
0:8 Construct vec3 (in 3-component vector of float)
0:8 'inF1' (in float)
0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int)
0:9 Construct vec4 (in 4-component vector of float)
0:9 'inF0' (in float)
0:10 Constant:
0:10 0.000000
0:12 ERROR: Bad unary op
@@ -107,8 +104,9 @@ ERROR: node is still EOpNull!
0:14 findLSB (global uint)
0:14 Convert float to uint (temp uint)
0:14 'inF0' (in float)
0:23 Constant:
0:23 0.000000
0:23 length (global float)
0:23 Construct vec2 (in 2-component vector of float)
0:23 'inF0' (in float)
0:24 Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint)
0:24 Convert float to uint (temp uint)
0:24 'inF0' (in float)
@@ -120,12 +118,20 @@ ERROR: node is still EOpNull!
0:24 0 (const uint)
0:24 0 (const uint)
0:24 0 (const uint)
0:25 Constant:
0:25 0.000000
0:26 Constant:
0:26 0.000000
0:27 Constant:
0:27 0.000000
0:25 normalize (global 2-component vector of float)
0:25 Construct vec2 (in 2-component vector of float)
0:25 'inF0' (in float)
0:26 reflect (global 2-component vector of float)
0:26 Construct vec2 (in 2-component vector of float)
0:26 'inF0' (in float)
0:26 Construct vec2 (in 2-component vector of float)
0:26 'inF1' (in float)
0:27 refract (global 2-component vector of float)
0:27 Construct vec2 (in 2-component vector of float)
0:27 'inF0' (in float)
0:27 Construct vec2 (in 2-component vector of float)
0:27 'inF1' (in float)
0:27 'inF2' (in float)
0:28 Constant:
0:28 0.000000
0:29 bitFieldReverse (global uint)
@@ -239,8 +245,11 @@ ERROR: node is still EOpNull!
0:82 bitCount (global 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (in 4-component vector of float)
0:83 Constant:
0:83 0.000000
0:83 cross-product (global 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op
@@ -423,10 +432,14 @@ ERROR: node is still EOpNull!
0:7 bitCount (global uint)
0:7 Convert float to uint (temp uint)
0:7 'inF0' (in float)
0:8 Constant:
0:8 0.000000
0:9 Constant:
0:9 0.000000
0:8 cross-product (global 3-component vector of float)
0:8 Construct vec3 (in 3-component vector of float)
0:8 'inF0' (in float)
0:8 Construct vec3 (in 3-component vector of float)
0:8 'inF1' (in float)
0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int)
0:9 Construct vec4 (in 4-component vector of float)
0:9 'inF0' (in float)
0:10 Constant:
0:10 0.000000
0:12 ERROR: Bad unary op
@@ -439,8 +452,9 @@ ERROR: node is still EOpNull!
0:14 findLSB (global uint)
0:14 Convert float to uint (temp uint)
0:14 'inF0' (in float)
0:23 Constant:
0:23 0.000000
0:23 length (global float)
0:23 Construct vec2 (in 2-component vector of float)
0:23 'inF0' (in float)
0:24 Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint)
0:24 Convert float to uint (temp uint)
0:24 'inF0' (in float)
@@ -452,12 +466,20 @@ ERROR: node is still EOpNull!
0:24 0 (const uint)
0:24 0 (const uint)
0:24 0 (const uint)
0:25 Constant:
0:25 0.000000
0:26 Constant:
0:26 0.000000
0:27 Constant:
0:27 0.000000
0:25 normalize (global 2-component vector of float)
0:25 Construct vec2 (in 2-component vector of float)
0:25 'inF0' (in float)
0:26 reflect (global 2-component vector of float)
0:26 Construct vec2 (in 2-component vector of float)
0:26 'inF0' (in float)
0:26 Construct vec2 (in 2-component vector of float)
0:26 'inF1' (in float)
0:27 refract (global 2-component vector of float)
0:27 Construct vec2 (in 2-component vector of float)
0:27 'inF0' (in float)
0:27 Construct vec2 (in 2-component vector of float)
0:27 'inF1' (in float)
0:27 'inF2' (in float)
0:28 Constant:
0:28 0.000000
0:29 bitFieldReverse (global uint)
@@ -571,8 +593,11 @@ ERROR: node is still EOpNull!
0:82 bitCount (global 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (in 4-component vector of float)
0:83 Constant:
0:83 0.000000
0:83 cross-product (global 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op

File diff suppressed because it is too large Load Diff