tests: Replace the test_shader_instructions() "ps_udiv" test with a shader runner test.

This commit is contained in:
Henri Verbeet
2025-10-06 22:28:08 +02:00
parent 90cbe25d1e
commit 7aa6f4f8b6
Notes: Henri Verbeet 2025-10-13 19:32:21 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1775
2 changed files with 33 additions and 35 deletions

View File

@@ -53,9 +53,42 @@ float4 main() : SV_TARGET
draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[rtv 0]
format r32g32b32a32-uint
size (2d, 640, 480)
[pixel shader]
uint4 src;
void main(out uint4 dst : sv_target)
{
dst = float4(src.xz / src.yw, src.xz % src.yw);
}
[test]
uniform 0 uint4 0 0 1 0
todo(msl) draw quad
% Integer division by zero is undefined for shader model 6 targets.
if(sm<6) todo(glsl & !llvmpipe) probe (0, 0) u32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff)
uniform 0 uint4 1 1 7 1
todo(msl) draw quad
probe (0, 0) u32(1, 7, 0, 0)
uniform 0 uint4 7 2 7 3
todo(msl) draw quad
probe (0, 0) u32(3, 2, 1, 1)
uniform 0 uint4 7 4 7 5
todo(msl) draw quad
probe (0, 0) u32(1, 1, 3, 2)
uniform 0 uint4 7 6 7 7
todo(msl) draw quad
probe (0, 0) u32(1, 1, 1, 0)
% Test expression normalization and simplification.
[rtv 0]
format r32g32b32a32-float
size (2d, 640, 480)
[pixel shader]
uniform uint4 x;