mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
6a8939e19f
These tests should actually compile and run in SM1, which is possible if we pass the int and uint uniforms in the expected IEEE 754 float format for SM1 shaders. Also, bools should be passed as 1.0f or 0.0f to SM1.
51 lines
1022 B
Plaintext
51 lines
1022 B
Plaintext
[pixel shader todo(sm<4)]
|
|
uniform float f;
|
|
uniform uint u;
|
|
uniform bool b;
|
|
uniform float h;
|
|
|
|
float4 main() : sv_target
|
|
{
|
|
float4 ret;
|
|
|
|
ret.x = ((float)(int)f) - 1.5;
|
|
ret.y = ((float)(int)u) + 2.5;
|
|
ret.z = ((float)(int)b) / 2;
|
|
ret.w = ((float)(int)(half)h) + 3.5;
|
|
return ret;
|
|
}
|
|
|
|
[test]
|
|
if(sm<4) uniform 0 float 2.6
|
|
if(sm<4) uniform 4 float -2
|
|
if(sm<4) uniform 8 float 1.0
|
|
if(sm<4) uniform 12 float -3.6
|
|
if(sm>=4) uniform 0 float 2.6
|
|
if(sm>=4) uniform 1 int -2
|
|
if(sm>=4) uniform 2 int -2
|
|
if(sm>=4) uniform 3 float -3.6
|
|
todo(sm<4) draw quad
|
|
probe all rgba (0.5, 0.5, 0.5, 0.5)
|
|
|
|
|
|
[pixel shader]
|
|
float4 main() : sv_target
|
|
{
|
|
float f = 2.6;
|
|
uint u = 0xfffffffe;
|
|
bool b = true;
|
|
half h = -3.6;
|
|
float4 ret;
|
|
|
|
ret.x = ((float)(int)f) - 1.5;
|
|
ret.y = ((float)(int)u) + 2.5;
|
|
ret.z = ((float)(int)b) / 2;
|
|
ret.w = ((float)(int)h) + 3.5;
|
|
return ret;
|
|
}
|
|
|
|
[test]
|
|
draw quad
|
|
if(sm<4) todo probe all rgba (0.5, 4.2949673e+009, 0.5, 0.5)
|
|
if(sm>=4) probe all rgba (0.5, 0.5, 0.5, 0.5)
|