Files
vkd3d/tests/hlsl/cast-to-int.shader_test
2025-04-09 16:20:58 +02:00

126 lines
2.1 KiB
Plaintext

[pixel shader]
uniform float3 f;
float4 main() : sv_target
{
int3 r = f;
return float4(r, 0);
}
[test]
uniform 0 float4 10.3 -11.6 12.8 13.1
draw quad
probe (0, 0) rgba(10, -11, 12, 0)
[vertex shader]
uniform float4 f;
void main(float4 pos : position, out float4 t1 : TEXCOORD1, out float4 out_pos : sv_position)
{
out_pos = pos;
t1 = (int4)f;
}
[pixel shader]
float4 main(float4 t1 : TEXCOORD1) : sv_target
{
return t1;
}
[test]
uniform 0 float4 -0.4 -0.7 -12.8 14.8
draw quad
probe (0, 0) rgba(0, 0, -12, 14)
[pixel shader]
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
draw quad
probe (0, 0) 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 (0,0) rgba (0.5, 4.2949673e+009, 0.5, 0.5)
if(sm>=4) probe (0,0) rgba (0.5, 0.5, 0.5, 0.5)
[require]
shader model >= 6.2
native-16-bit
[pixel shader]
uniform int4 i;
int4 main() : sv_target
{
int16_t4 s = i;
return s * int16_t4(2, 2, 1, 1);
}
[test]
uniform 0 int4 0x10002 0x8003 0x10002 0x8003
draw quad
probe (0, 0) rgbai(4, 6, 2, -32765)
uniform 0 int4 -1 -3 -1 -3
draw quad
probe (0, 0) rgbai(-2, -6, -1, -3)
[pixel shader]
uniform float4 f;
int4 main() : sv_target
{
int16_t4 s = f;
return s * int16_t4(2, 2, 1, 1);
}
[test]
uniform 0 float4 0.5 1.0 0.5 1.0
todo draw quad
probe (0, 0) rgbai(0, 2, 0, 1)
uniform 0 float4 -0.5 -1.0 -0.5 -1.0
todo draw quad
probe (0, 0) rgbai(0, -2, 0, -1)