mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests: Replace test_ps_viewport_index() with a shader runner test.
Mainly to allow testing the functionality in question with DXIL shaders as well.
This commit is contained in:
committed by
Henri Verbeet
parent
55fe8df979
commit
cd8cea6913
Notes:
Henri Verbeet
2025-07-31 15:06:45 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1663
43
tests/hlsl/vp-array-index.shader_test
Normal file
43
tests/hlsl/vp-array-index.shader_test
Normal file
@@ -0,0 +1,43 @@
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
rt-vp-array-index
|
||||
|
||||
[rtv 0]
|
||||
format r32g32b32a32-float
|
||||
size (2d, 640, 480)
|
||||
|
||||
[vertex shader]
|
||||
float4 main(in uint vertex_id : SV_VertexID, in uint instance_id : SV_InstanceID,
|
||||
out uint viewport : SV_ViewportArrayIndex) : SV_Position
|
||||
{
|
||||
viewport = instance_id;
|
||||
switch (vertex_id)
|
||||
{
|
||||
case 0:
|
||||
return float4(-1, 1, 0, 1);
|
||||
case 1:
|
||||
return float4(3, 1, 0, 1);
|
||||
case 2:
|
||||
return float4(-1, -3, 0, 1);
|
||||
default:
|
||||
return float4(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
[pixel shader]
|
||||
float4 main(float4 p : SV_Position, uint viewport : SV_ViewportArrayIndex) : SV_Target
|
||||
{
|
||||
return float4(viewport / 4.0, 0.0, 0.0, 1.0);
|
||||
}
|
||||
|
||||
[test]
|
||||
viewport 0 ( 0.0, 0.0, 320.0, 240.0)
|
||||
viewport 1 (320.0, 0.0, 320.0, 240.0)
|
||||
viewport 2 ( 0.0, 240.0, 320.0, 240.0)
|
||||
viewport 3 (320.0, 240.0, 320.0, 240.0)
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
todo(sm>=6 | glsl) draw triangle list 3 4
|
||||
probe rtv 0 (160, 120) f32(0.0, 0.0, 0.0, 1.0)
|
||||
probe rtv 0 (480, 120) f32(0.25, 0.0, 0.0, 1.0)
|
||||
probe rtv 0 (160, 360) f32(0.5, 0.0, 0.0, 1.0)
|
||||
probe rtv 0 (480, 360) f32(0.75, 0.0, 0.0, 1.0)
|
Reference in New Issue
Block a user