vkd3d-shader/hlsl: Find compatible function overloads.

But still throw hlsl_fixme() when there is more than one.
Prioritizing among multiple compatible function overloads in the same way
as the native compiler would require systematic testing.
This commit is contained in:
Francisco Casas
2023-01-23 17:02:40 -03:00
committed by Alexandre Julliard
parent d279d34801
commit f08c0a7c03
Notes: Alexandre Julliard 2023-02-20 22:45:40 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/99
5 changed files with 57 additions and 24 deletions

View File

@@ -139,7 +139,7 @@ float4 main() : sv_target
% Arrays with the same number of components are allowed.
[pixel shader todo]
[pixel shader]
float fun(float a[2][3])
{
return 100*a[0][0] + 10*a[0][2] + a[1][2];
@@ -153,11 +153,11 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (136.0, 136.0, 136.0, 136.0)
draw quad
probe all rgba (136.0, 136.0, 136.0, 136.0)
[pixel shader todo]
[pixel shader]
float fun(float a[2][3])
{
return 100*a[0][0] + 10*a[1][0] + a[1][2];
@@ -171,5 +171,5 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (702.0, 702.0, 702.0, 702.0)
draw quad
probe all rgba (702.0, 702.0, 702.0, 702.0)

View File

@@ -82,7 +82,7 @@ float4 PSMain() : SV_TARGET
}
[pixel shader todo]
[pixel shader]
float4 fun(float3 f)
{
return f.xyxy;
@@ -94,5 +94,5 @@ float4 main() : SV_TARGET
}
[test]
todo draw quad
todo probe all rgba (33.0, 33.0, 33.0, 33.0)
draw quad
probe all rgba (33.0, 33.0, 33.0, 33.0)

View File

@@ -124,7 +124,7 @@ draw quad
probe all rgba (4.0, 4.0, 4.0, 4.0)
[pixel shader todo]
[pixel shader]
Texture2D tex;
struct apple
@@ -154,8 +154,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (5.0, 5.0, 5.0, 5.0)
draw quad
probe all rgba (5.0, 5.0, 5.0, 5.0)
[pixel shader]

View File

@@ -1,4 +1,4 @@
[pixel shader todo]
[pixel shader]
float2 max(float2 a, float2 b)
{
@@ -11,10 +11,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
probe all rgba (0.3, 0.3, 0.4, 0.6)
draw quad
todo probe all rgba (0.3, 0.3, 0.4, 0.6)
[pixel shader todo]
[pixel shader]
float2 max(float2 a, float3 b)
{
@@ -27,5 +27,5 @@ float4 main() : sv_target
}
[test]
todo draw quad
draw quad
probe all rgba (0.3, 0.3, 0.3, 0.4)