mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
d3ba810c98
This is simply unnecessary and wastes time. As part of this, simply remove the "all" directive. Only for a couple of tests is it even potentially interesting to validate all pixels (e.g. nointerpolation.shader_test), and for those "all" is replaced with an explicit (0, 0, 640, 480) rect. In all other cases we just probe (0, 0).
137 lines
1.8 KiB
Plaintext
137 lines
1.8 KiB
Plaintext
[pixel shader fail]
|
|
/* The same function signature cannot be defined twice. */
|
|
|
|
float func(int arg)
|
|
{
|
|
return 0.1;
|
|
}
|
|
|
|
float func(int arg)
|
|
{
|
|
return 0.1;
|
|
}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
|
|
[pixel shader todo]
|
|
/* Test a basic overload. */
|
|
float func(int arg)
|
|
{
|
|
return 0.1;
|
|
}
|
|
|
|
float func(uint arg)
|
|
{
|
|
return 0.2;
|
|
}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int i = 1;
|
|
uint u = 1;
|
|
return float4(func(i), func(u), func(int2(1, 1)), func(uint2(1, 1)));
|
|
}
|
|
|
|
[test]
|
|
todo(sm<6) draw quad
|
|
probe (0, 0) rgba (0.1, 0.2, 0.1, 0.2)
|
|
|
|
|
|
[pixel shader fail todo]
|
|
float func(int arg)
|
|
{
|
|
return 1.0;
|
|
}
|
|
|
|
float func(uint arg)
|
|
{
|
|
return 2.0;
|
|
}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return func(3); // whether 3 is signed or unsigned is unspecified.
|
|
}
|
|
|
|
|
|
[pixel shader todo]
|
|
float func(int arg)
|
|
{
|
|
return 1.0;
|
|
}
|
|
|
|
float func(uint arg)
|
|
{
|
|
return 2.0;
|
|
}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
int a = 3;
|
|
uint b = 3l;
|
|
|
|
return float4(func(a), func(b), func(3u), func(3lu));
|
|
}
|
|
|
|
[test]
|
|
todo(sm<6) draw quad
|
|
todo(sm<6) probe (0,0) rgba (1.0, 2.0, 2.0, 2.0)
|
|
|
|
|
|
% float and float1 can be defined separately...
|
|
|
|
[pixel shader]
|
|
void func(float arg) {}
|
|
void func(float1 arg) {}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
return 1.0;
|
|
}
|
|
|
|
|
|
% ...but invoking them is considered ambiguous and fails.
|
|
|
|
[pixel shader fail todo]
|
|
|
|
void func(float arg) {}
|
|
void func(float1 arg) {}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float x = 1.0;
|
|
func(x);
|
|
return 1.0;
|
|
}
|
|
|
|
[pixel shader fail todo]
|
|
|
|
void func(float arg) {}
|
|
void func(float1 arg) {}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float1 x = {1.0};
|
|
func(x);
|
|
return 1.0;
|
|
}
|
|
|
|
|
|
% This holds true even if one variant isn't actually defined.
|
|
|
|
[pixel shader fail todo]
|
|
|
|
void func(float arg);
|
|
void func(float1 arg) {}
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float1 x = {1.0};
|
|
func(x);
|
|
return 1.0;
|
|
}
|