mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests/hlsl: Add interstage interface 16-bit tests.
This commit is contained in:
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
@@ -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)
|
||||
|
Reference in New Issue
Block a user