tests/shader_runner: Introduce the "u32" probe format.

This commit is contained in:
Henri Verbeet
2025-06-06 00:25:11 +02:00
parent 95cf0a8b2c
commit 9c987e5a0b
Notes: Henri Verbeet 2025-06-10 18:06:45 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1555
28 changed files with 357 additions and 369 deletions

View File

@@ -107,7 +107,7 @@ uint4 main() : SV_TARGET
[test]
uniform 0 uint4 0xccaa5533 7 1 2
todo(msl) draw quad
probe (0, 0) rgbaui(0xff77, 0xf, 0x407f, 0x9)
probe (0, 0) u32(0xff77, 0xf, 0x407f, 0x9)
% Minimum precision vectors in constant buffers have inconsistent behavior with
% SM6 (see minimum-precision.shader_test), so we're reading with arrays instead.
@@ -125,11 +125,11 @@ uint4 main() : sv_target
uniform 0 uint 0
uniform 4 uint 0
draw quad
probe (0, 0) rgbaui(0xfff, 0x7ff, 0, 0)
probe (0, 0) u32(0xfff, 0x7ff, 0, 0)
uniform 0 uint 1
uniform 4 uint 0xfff
draw quad
probe (0, 0) rgbaui(0x1000, 0x17fe, 0, 0)
probe (0, 0) u32(0x1000, 0x17fe, 0, 0)
[pixel shader]
uniform min16uint u[2];
@@ -149,13 +149,13 @@ uniform 5 uint 2
uniform 8 uint 2
draw quad
% In D3D12 with SM5 all reads to the array return 0
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(0x801, 0x1ffd, 0, 0)
if(sm>=6 | !d3d12) probe (0, 0) u32(0x801, 0x1ffd, 0, 0)
uniform 0 uint 0
uniform 4 uint 0
uniform 5 uint 0
uniform 8 uint 0
draw quad
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 0, 0)
if(sm>=6 | !d3d12) probe (0, 0) u32(1, 2, 0, 0)
[pixel shader]
uniform min16uint u[4];
@@ -172,7 +172,7 @@ uniform 4 uint 9
uniform 8 uint 0xff9
uniform 12 uint 0xff7
draw quad
probe (0, 0) rgbaui(21, 45, 0x2feb, 0x4fd3)
probe (0, 0) u32(21, 45, 0x2feb, 0x4fd3)
[pixel shader]
uniform min16uint u[4];
@@ -189,7 +189,7 @@ uniform 4 uint 0xb
uniform 8 uint 0xffff
uniform 12 uint 0xffff
todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x10, 2, 0x10, 0x3333)
probe (0, 0) u32(0x10, 2, 0x10, 0x3333)
[require]
shader model >= 6.2
@@ -207,10 +207,10 @@ uint4 main() : sv_target
[test]
uniform 0 uint4 0 0 0 0
draw quad
probe (0, 0) rgbaui(0x7fff, 0xffff, 0, 0)
probe (0, 0) u32(0x7fff, 0xffff, 0, 0)
uniform 0 uint4 0xffff0001 0 0 0
draw quad
probe (0, 0) rgbaui(0x8000, 0xfffe, 0, 0)
probe (0, 0) u32(0x8000, 0xfffe, 0, 0)
[pixel shader]
uniform uint16_t4 u;
@@ -225,10 +225,10 @@ uint4 main() : sv_target
[test]
uniform 0 uint4 0xfffe0002 0 2 0
draw quad
probe (0, 0) rgbaui(0x8001, 0xfffd, 0, 0)
probe (0, 0) u32(0x8001, 0xfffd, 0, 0)
uniform 0 uint4 0 0 0 0
draw quad
probe (0, 0) rgbaui(1, 2, 0, 0)
probe (0, 0) u32(1, 2, 0, 0)
[pixel shader]
uniform uint16_t4 u;
@@ -243,7 +243,7 @@ uint4 main() : sv_target
uniform 0 uint 0x90007
uniform 1 uint 0xfff7fff9
draw quad
probe (0, 0) rgbaui(21, 45, 0xffeb, 0xffd3)
probe (0, 0) u32(21, 45, 0xffeb, 0xffd3)
[pixel shader]
uniform uint16_t4 u;
@@ -258,4 +258,4 @@ uint4 main() : sv_target
uniform 0 uint 0x000bfffe
uniform 1 uint 0xffffffff
draw quad
probe (0, 0) rgbaui(0, 2, 1, 0x3333)
probe (0, 0) u32(0, 2, 1, 0x3333)