mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests/hlsl: Test the interstage interface for minimum precision types.
This commit is contained in:
committed by
Henri Verbeet
parent
752b13b111
commit
8106c5a199
Notes:
Henri Verbeet
2025-06-02 21:01:51 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1525
@@ -104,6 +104,111 @@ clear rtv 0 1.0 1.0 1.0 1.0
|
||||
todo(msl) draw triangle strip 4
|
||||
probe (0, 0) rgba(0.0, 1.0, 0.0, 1.0)
|
||||
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
|
||||
[input layout]
|
||||
0 r32g32-float SV_POSITION
|
||||
0 r32g32-float TEXCOORD 0
|
||||
1 r32g32-uint TEXCOORD 1
|
||||
|
||||
[vb 0]
|
||||
-1.0 -1.0 700.0 5.0
|
||||
-1.0 1.0 700.0 5.0
|
||||
1.0 -1.0 700.0 5.0
|
||||
1.0 1.0 700.0 5.0
|
||||
|
||||
[vb 1]
|
||||
format r32-uint
|
||||
0x7fff 2
|
||||
0x7fff 2
|
||||
0x7fff 2
|
||||
0x7fff 2
|
||||
|
||||
[vertex shader]
|
||||
struct vertex
|
||||
{
|
||||
float4 position : SV_Position;
|
||||
min16float2 t0 : TEXCOORD0;
|
||||
min16uint2 t1 : TEXCOORD1;
|
||||
};
|
||||
|
||||
void main(in vertex vin, out vertex vout)
|
||||
{
|
||||
vout = vin;
|
||||
}
|
||||
|
||||
[pixel shader]
|
||||
uniform min16float h;
|
||||
|
||||
float4 main(float4 position : SV_Position, min16float2 t0 : TEXCOORD0, min16uint2 t1 : TEXCOORD1) : SV_Target
|
||||
{
|
||||
// Prevent float -> half -> float being optimised out by doing a half-precision operation.
|
||||
return float4(t0 - min16float2(h, h), t1);
|
||||
}
|
||||
|
||||
[test]
|
||||
uniform 0 uint 0
|
||||
todo(glsl | msl) draw triangle strip 4
|
||||
probe (0, 0) rgba(700.0, 5.0, 32767.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
|
||||
-7000 -2
|
||||
-7000 -2
|
||||
-7000 -2
|
||||
-7000 -2
|
||||
|
||||
[vertex shader]
|
||||
struct vertex
|
||||
{
|
||||
float4 position : SV_Position;
|
||||
min16int2 t0 : TEXCOORD0;
|
||||
};
|
||||
|
||||
void main(in vertex vin, out vertex vout)
|
||||
{
|
||||
vout = vin;
|
||||
}
|
||||
|
||||
[pixel shader]
|
||||
int4 main(float4 position : SV_Position, min16int2 t0 : TEXCOORD0) : SV_Target
|
||||
{
|
||||
return int4(t0, 0, 0);
|
||||
}
|
||||
|
||||
[rtv 0]
|
||||
format r32g32b32a32-sint
|
||||
size (2d, 640, 480)
|
||||
|
||||
[test]
|
||||
todo(msl) draw triangle strip 4
|
||||
todo(opengl) probe (0, 0) rgbai(-7000, -2, 0, 0)
|
||||
|
||||
[pixel shader]
|
||||
uint4 main(float4 position : SV_Position, min16int2 t0 : TEXCOORD0) : SV_Target
|
||||
{
|
||||
return uint4(t0, 0, 0);
|
||||
}
|
||||
|
||||
[rtv 0]
|
||||
format r32g32b32a32-uint
|
||||
size (2d, 640, 480)
|
||||
|
||||
[test]
|
||||
todo(msl) draw triangle strip 4
|
||||
probe (0, 0) rgbai(-7000, -2, 0, 0)
|
||||
|
||||
[require]
|
||||
shader model >= 6.2
|
||||
native-16-bit
|
||||
|
Reference in New Issue
Block a user