mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/hlsl: Add const scalar array dimension tests.
This commit is contained in:
committed by
Henri Verbeet
parent
e4cbbe3172
commit
4a8eabf517
Notes:
Henri Verbeet
2025-11-24 19:12:24 +01:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Francisco Casas (@fcasas) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1529
@@ -19,8 +19,7 @@ float4 main() : sv_target
|
|||||||
|
|
||||||
[test]
|
[test]
|
||||||
todo(sm<6) draw quad
|
todo(sm<6) draw quad
|
||||||
probe (0, 0) rgba (0.1, 0.1, 0.2, 0.4)
|
probe (0, 0) f32(0.1, 0.1, 0.2, 0.4)
|
||||||
|
|
||||||
|
|
||||||
[pixel shader fail]
|
[pixel shader fail]
|
||||||
float4 fun() { return 0; };
|
float4 fun() { return 0; };
|
||||||
@@ -28,3 +27,91 @@ float4 fun() { return 0; };
|
|||||||
float a[CompileShader(ps_2_0, main())];
|
float a[CompileShader(ps_2_0, main())];
|
||||||
|
|
||||||
float4 main() : sv_target { return 0; }
|
float4 main() : sv_target { return 0; }
|
||||||
|
|
||||||
|
[pixel shader todo]
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const uint cap = 4;
|
||||||
|
const float array[cap] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[test]
|
||||||
|
todo(sm<6) draw quad
|
||||||
|
probe (0, 0) f32(1, 2, 3, 4)
|
||||||
|
|
||||||
|
[pixel shader fail]
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
uint cap = 4;
|
||||||
|
const float array[cap] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[pixel shader todo(sm<6) fail(sm>=6)]
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const uint4 cap = uint4(2, 4, 1, 0);
|
||||||
|
const float array[cap.y] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[test]
|
||||||
|
todo(sm<6) draw quad
|
||||||
|
probe (0, 0) f32(1, 2, 3, 4)
|
||||||
|
|
||||||
|
[pixel shader todo(sm<6) fail(sm>=6)]
|
||||||
|
struct nya
|
||||||
|
{
|
||||||
|
float a, b;
|
||||||
|
};
|
||||||
|
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const nya cap = { 5, 4 };
|
||||||
|
const float array[cap.b] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[test]
|
||||||
|
todo(sm<6) draw quad
|
||||||
|
probe (0, 0) f32(1, 2, 3, 4)
|
||||||
|
|
||||||
|
[pixel shader todo(sm<6) fail(sm>=6)]
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const float cap = 4;
|
||||||
|
const float array[cap] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[test]
|
||||||
|
todo(sm<6) draw quad
|
||||||
|
probe (0, 0) f32(1, 2, 3, 4)
|
||||||
|
|
||||||
|
[pixel shader fail]
|
||||||
|
float foo() { return 4; }
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const float cap = foo();
|
||||||
|
const float array[cap] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
[pixel shader fail]
|
||||||
|
struct nya
|
||||||
|
{
|
||||||
|
float a, b;
|
||||||
|
};
|
||||||
|
|
||||||
|
float foo()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const nya cap = { foo(), 4 };
|
||||||
|
const float array[cap.b] = { 1.0, 2.0, 3.0, 4.0 };
|
||||||
|
return float4(array[0], array[1], array[2], array[3]);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user