vkd3d-shader/hlsl: Inline function calls.

This commit is contained in:
Zebediah Figura
2021-09-11 16:56:04 -05:00
committed by Alexandre Julliard
parent 6177cea31f
commit 4b944517b7
Notes: Alexandre Julliard 2023-02-13 22:20:34 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/85
12 changed files with 383 additions and 66 deletions

View File

@@ -1,6 +1,6 @@
% Test early return from a user-defined function.
[pixel shader todo]
[pixel shader]
float func(out float o)
{
@@ -29,10 +29,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
draw quad
probe all rgba (0.2, 0.1, 0.8, 0.5);
[pixel shader todo]
[pixel shader]
uniform float f;
@@ -80,19 +80,19 @@ float4 main() : sv_target
[test]
uniform 0 float 0.1
todo draw quad
draw quad
probe all rgba (0.3, 0.2, 0.6, 0.3) 1
uniform 0 float 0.4
todo draw quad
draw quad
probe all rgba (0.6, 0.5, 0.6, 0.3) 1
uniform 0 float 0.6
todo draw quad
draw quad
probe all rgba (0.6, 0.5, 0.4, 0.5) 1
uniform 0 float 0.8
todo draw quad
draw quad
probe all rgba (0.8, 0.7, 0.4, 0.5) 1
[pixel shader todo]
[pixel shader]
uniform float f;
@@ -136,13 +136,13 @@ float4 main() : sv_target
[test]
uniform 0 float 0.1
todo draw quad
draw quad
probe all rgba (0.2, 0.1, 0.2, 0.1) 1
uniform 0 float 0.5
todo draw quad
draw quad
probe all rgba (0.5, 0.4, 1.0, 0.9) 1
uniform 0 float 0.9
todo draw quad
draw quad
probe all rgba (1.0, 0.9, 1.0, 0.6) 1
[pixel shader todo]

View File

@@ -1,4 +1,4 @@
[pixel shader fail todo]
[pixel shader fail]
float4 func();
@@ -121,7 +121,7 @@ void func()
{
}
[pixel shader todo]
[pixel shader]
void func();
@@ -179,7 +179,7 @@ float4 main() : sv_target
todo draw quad
todo probe all rgba (0.1, 0.2, 0.3, 0.4)
[pixel shader todo]
[pixel shader]
float func(in float a, out float b, inout float c)
{
@@ -200,10 +200,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.5, 0.6, 0.7, 0)
draw quad
probe all rgba (0.5, 0.6, 0.7, 0)
[pixel shader todo]
[pixel shader]
void func(in float a, inout float2 b)
{
@@ -221,8 +221,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.6, 0.1, 0.5, 0)
draw quad
probe all rgba (0.6, 0.1, 0.5, 0)
% Recursion is forbidden.

View File

@@ -153,7 +153,7 @@ static int x = 1;
[numthreads((x = 2), 1, 1)]
void main() {}
[compute shader todo]
[compute shader]
static int x = 1;

View File

@@ -38,7 +38,7 @@ float4x1 main() : sv_target
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.1)
[pixel shader todo]
[pixel shader]
float3 func()
{
return float3x1(0.4, 0.3, 0.2);
@@ -50,10 +50,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader todo]
[pixel shader]
float3 func()
{
return float1x3(0.4, 0.3, 0.2);
@@ -65,10 +65,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader todo]
[pixel shader]
float1x3 func()
{
return float3(0.4, 0.3, 0.2);
@@ -80,10 +80,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader todo]
[pixel shader]
float3x1 func()
{
return float3(0.4, 0.3, 0.2);
@@ -95,8 +95,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail]
float3x1 func()
@@ -120,7 +120,7 @@ float4 main() : sv_target
return float4(func(), 0.0);
}
[pixel shader todo]
[pixel shader]
float3 func()
{
return float4(0.4, 0.3, 0.2, 0.1);
@@ -132,10 +132,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader todo]
[pixel shader]
float3 func()
{
return float4x1(0.4, 0.3, 0.2, 0.1);
@@ -147,10 +147,10 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader todo]
[pixel shader]
float3 func()
{
return float1x4(0.4, 0.3, 0.2, 0.1);
@@ -162,8 +162,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail todo]
float3x1 func()
@@ -176,7 +176,7 @@ float4 main() : sv_target
return float4(func(), 0.0);
}
[pixel shader todo]
[pixel shader]
float3x1 func()
{
return float4x1(0.4, 0.3, 0.2, 0.1);
@@ -188,8 +188,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail]
float3x1 func()
@@ -202,7 +202,7 @@ float4 main() : sv_target
return float4(func(), 0.0);
}
[pixel shader todo]
[pixel shader]
float1x3 func()
{
return float4(0.4, 0.3, 0.2, 0.1);
@@ -214,8 +214,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail]
float1x3 func()
@@ -228,7 +228,7 @@ float4 main() : sv_target
return float4(func(), 0.0);
}
[pixel shader todo]
[pixel shader]
float1x3 func()
{
return float1x4(0.4, 0.3, 0.2, 0.1);
@@ -240,5 +240,5 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
draw quad
probe all rgba (0.4, 0.3, 0.2, 0.0)

View File

@@ -1,4 +1,4 @@
[pixel shader todo]
[pixel shader]
float myfunc()
{
return 0.6;
@@ -12,8 +12,8 @@ float4 main() : sv_target
}
[test]
todo draw quad
todo probe all rgba (0.8, 0.0, 0.0, 0.0)
draw quad
probe all rgba (0.8, 0.0, 0.0, 0.0)
[pixel shader fail]

View File

@@ -1,4 +1,4 @@
[pixel shader todo]
[pixel shader]
void sub2(in uniform float4 i, out float4 o)
{
o = i;
@@ -17,5 +17,5 @@ void main(in uniform float4 a, uniform float4 b, out float4 o : sv_target)
[test]
uniform 0 float4 0.1 0.0 0.0 0.0
uniform 4 float4 0.2 0.0 0.0 0.0
todo draw quad
todo probe all rgba (0.1, 0.2, 0.3, 0.4)
draw quad
probe all rgba (0.1, 0.2, 0.3, 0.4)

View File

@@ -7,7 +7,7 @@ size (1, 1)
0.1 0.2 0.3 0.4
[compute shader todo]
[compute shader]
RWTexture2D<float4> u;
@@ -26,7 +26,7 @@ void main()
}
[test]
todo dispatch 1 1 1
dispatch 1 1 1
probe uav 0 (0, 0) rgba (0.4, 0.1, 0.2, 0.3)
[uav 0]
@@ -35,7 +35,7 @@ size (1, 1)
0.1
[compute shader todo]
[compute shader]
RWTexture2D<float> u;
@@ -51,5 +51,5 @@ void main()
}
[test]
todo dispatch 1 1 1
dispatch 1 1 1
probe uav 0 (0, 0) r (0.2)