tests/hlsl: Add interstage interface 16-bit tests.

This commit is contained in:
Conor McCarthy
2025-02-04 14:49:47 +10:00
committed by Henri Verbeet
parent 6ee650f316
commit 36f9510bb3
Notes: Henri Verbeet 2025-02-19 18:02:57 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1375

View File

@@ -54,3 +54,101 @@ void main(float4 position : SV_Position, float2 t0 : TEXCOORD0,
[test]
todo(msl) draw triangle strip 4
probe (0, 0) rgba (10.0, 8.0, 7.0, 3.0)
[require]
shader model >= 6.2
native-16-bit
[input layout]
0 r32g32-float SV_POSITION
0 r32g32-float TEXCOORD 0
1 r32g32-uint TEXCOORD 1
[vb 0]
-1.0 -1.0 70000.0 5.0
-1.0 1.0 70000.0 5.0
1.0 -1.0 70000.0 5.0
1.0 1.0 70000.0 5.0
[vb 1]
format r32-uint
0x37fff 2
0x37fff 2
0x37fff 2
0x37fff 2
[vertex shader]
struct vertex
{
float4 position : SV_Position;
half2 t0 : TEXCOORD0;
uint16_t2 t1 : TEXCOORD1;
};
void main(in vertex vin, out vertex vout)
{
vout = vin;
}
[pixel shader]
uniform half h;
float4 main(float4 position : SV_Position, half2 t0 : TEXCOORD0, uint16_t2 t1 : TEXCOORD1) : SV_Target
{
// Prevent float -> half -> float being optimised out by doing a half-precision operation.
return float4(t0 - half2(h, h), t1);
}
[test]
uniform 0 uint 0
draw triangle strip 4
probe (0, 0) rgba(65504.0, 5.0, 65535.0, 2.0)
[input layout]
0 r32g32-float SV_POSITION
1 r32g32-sint TEXCOORD 0
[vb 0]
-1.0 -1.0
-1.0 1.0
1.0 -1.0
1.0 1.0
[vb 1]
format r32-sint
-70000 -2
-70000 -2
-70000 -2
-70000 -2
[vertex shader]
struct vertex
{
float4 position : SV_Position;
int16_t2 t0 : TEXCOORD0;
};
void main(in vertex vin, out vertex vout)
{
vout = vin;
}
[pixel shader]
int4 main(float4 position : SV_Position, int16_t2 t0 : TEXCOORD0) : SV_Target
{
return int4(t0, 0, 0);
}
[test]
draw triangle strip 4
probe (0, 0) rgbai(-32768, -2, 0, 0)
[pixel shader]
uint4 main(float4 position : SV_Position, int16_t2 t0 : TEXCOORD0) : SV_Target
{
return uint4(t0, 0, 0);
}
[test]
draw triangle strip 4
probe (0, 0) rgbai(-32768, -2, 0, 0)