vkd3d-shader/hlsl: Ignore "unroll" attribute for loops.

This commit is contained in:
Nikolay Sivov
2023-04-21 08:20:32 +02:00
committed by Alexandre Julliard
parent 8e0df3f720
commit 317b8aa039
Notes: Alexandre Julliard 2023-04-21 22:28:25 +02: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/150
2 changed files with 94 additions and 10 deletions

View File

@@ -9,7 +9,7 @@ float4 main(float tex : texcoord) : sv_target
{
int i;
float x = 0.0;
for (i = 0; i < 10; i++)
[unroll] for (i = 0; i < 10; i++)
{
x += i;
if (tex > 0.5 && i == 5)
@@ -26,3 +26,31 @@ todo draw quad
probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0)
probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0)
probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0)
[pixel shader]
float4 main(float tex : texcoord) : sv_target
{
int i;
float x = 0.0;
[unroll] [attr1] for (i = 0; i < 10; i++)
{
x += i;
}
return float4(i, x, 0.0, 0.0);
}
[test]
draw quad
probe all rgba (10.0, 45.0, 0.0, 0.0)
[pixel shader fail]
float4 main(float tex : texcoord) : sv_target
{
int i;
float x = 0.0;
[unroll] [unroll] for (i = 0; i < 10; i++)
{
x += i;
}
return float4(i, x, 0.0, 0.0);
}