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

@@ -232,24 +232,24 @@ uniform 4 double2 2.0 4.0
uniform 8 double2 5.0 7.0 uniform 8 double2 5.0 7.0
uniform 12 double2 6.0 8.0 uniform 12 double2 6.0 8.0
todo(sm<6) draw quad todo(sm<6) draw quad
if(sm<6) probe (0, 0) rgbaui(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff) if(sm<6) probe (0, 0) u32(0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff)
if(sm>=6) probe (0, 0) rgbaui(1, 1, 1, 1) if(sm>=6) probe (0, 0) u32(1, 1, 1, 1)
uniform 0 double2 1.0 4.0 uniform 0 double2 1.0 4.0
uniform 4 double2 2.0 3.0 uniform 4 double2 2.0 3.0
uniform 8 double2 5.0 8.0 uniform 8 double2 5.0 8.0
uniform 12 double2 6.0 7.0 uniform 12 double2 6.0 7.0
todo(sm<6) draw quad todo(sm<6) draw quad
if(sm<6) probe (0, 0) rgbaui(0xffffffff, 0xffffffff, 0, 0) if(sm<6) probe (0, 0) u32(0xffffffff, 0xffffffff, 0, 0)
if(sm>=6) probe (0, 0) rgbaui(1, 1, 0, 0) if(sm>=6) probe (0, 0) u32(1, 1, 0, 0)
uniform 0 double2 1.0 4.0 uniform 0 double2 1.0 4.0
uniform 4 double2 2.0 3.0 uniform 4 double2 2.0 3.0
uniform 8 double2 6.0 7.0 uniform 8 double2 6.0 7.0
uniform 12 double2 5.0 8.0 uniform 12 double2 5.0 8.0
todo(sm<6) draw quad todo(sm<6) draw quad
if(sm<6) probe (0, 0) rgbaui(0xffffffff, 0, 0xffffffff, 0) if(sm<6) probe (0, 0) u32(0xffffffff, 0, 0xffffffff, 0)
if(sm>=6) probe (0, 0) rgbaui(1, 0, 1, 0) if(sm>=6) probe (0, 0) u32(1, 0, 1, 0)
[rtv 0] [rtv 0]
format r32g32b32a32-float format r32g32b32a32-float

View File

@@ -292,13 +292,13 @@ uniform 5 uint 2
uniform 8 uint 2 uniform 8 uint 2
draw quad draw quad
% In D3D12 with SM5 all reads to the array return 0 % In D3D12 with SM5 all reads to the array return 0
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(0xfffff803, 0x1ffd, 0, 0) if(sm>=6 | !d3d12) probe (0, 0) u32(0xfffff803, 0x1ffd, 0, 0)
uniform 0 uint 0 uniform 0 uint 0
uniform 4 uint 0 uniform 4 uint 0
uniform 5 uint 0 uniform 5 uint 0
uniform 8 uint 0 uniform 8 uint 0
draw quad 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] [pixel shader]
uniform min16int u[4]; uniform min16int u[4];

View File

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

View File

@@ -98,4 +98,4 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
[test] [test]
todo(glsl) dispatch 1 1 1 todo(glsl) dispatch 1 1 1
probe uav 3 (0, 0, 1024, 1) rui(1024) probe uav 3 (0, 0, 1024, 1) u32(1024)

View File

@@ -227,13 +227,13 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint4 0 0 0 0 uniform 0 uint4 0 0 0 0
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui (0, 0xffffffff, 0xffffffff, 0xffffffff) probe (0, 0) u32(0, 0xffffffff, 0xffffffff, 0xffffffff)
uniform 0 uint4 0xffffffff 0xffffffff 0 0 uniform 0 uint4 0xffffffff 0xffffffff 0 0
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui (32, 0, 31, 0xffffffff) probe (0, 0) u32(32, 0, 31, 0xffffffff)
uniform 0 uint4 0xcccccccc 0xcccccccc 0 0 uniform 0 uint4 0xcccccccc 0xcccccccc 0 0
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui (16, 2, 31, 29) probe (0, 0) u32(16, 2, 31, 29)
[rtv 0] [rtv 0]
format r32g32b32a32-float format r32g32b32a32-float
@@ -335,10 +335,10 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint64_t2 0 0 uniform 0 uint64_t2 0 0
todo draw quad todo draw quad
probe (0, 0) rgbaui (0, 0xffffffff, 0xffffffff, 0xffffffff) probe (0, 0) u32(0, 0xffffffff, 0xffffffff, 0xffffffff)
uniform 0 int64_t2 -1 -1 uniform 0 int64_t2 -1 -1
todo draw quad todo draw quad
probe (0, 0) rgbaui (64, 0, 63, 0xffffffff) probe (0, 0) u32(64, 0, 63, 0xffffffff)
uniform 0 uint64_t2 0xcccccccccccccccc 0xcccccccccccccccc uniform 0 uint64_t2 0xcccccccccccccccc 0xcccccccccccccccc
todo draw quad todo draw quad
probe (0, 0) rgbaui (32, 2, 63, 61) probe (0, 0) u32(32, 2, 63, 61)

View File

@@ -33,7 +33,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 double2 -4.5 8.500003814697266 uniform 0 double2 -4.5 8.500003814697266
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui (0, 0xc0120000, 0x80000000, 0x40210000) probe (0, 0) u32(0, 0xc0120000, 0x80000000, 0x40210000)
[pixel shader todo] [pixel shader todo]
@@ -139,7 +139,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 double2 0.5 1.0 uniform 0 double2 0.5 1.0
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui(0, 2, 0, 1) probe (0, 0) u32(0, 2, 0, 1)
[pixel shader todo] [pixel shader todo]
uniform min16uint u[2]; uniform min16uint u[2];
@@ -157,7 +157,7 @@ uint4 main() : sv_target
uniform 0 uint 22 uniform 0 uint 22
uniform 4 uint 0xff00 uniform 4 uint 0xff00
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui(0, 0x40360000, 0, 0x40efe000) probe (0, 0) u32(0, 0x40360000, 0, 0x40efe000)
[pixel shader todo] [pixel shader todo]
uniform min16int u[2]; uniform min16int u[2];
@@ -175,7 +175,7 @@ uint4 main() : sv_target
uniform 0 uint 22 uniform 0 uint 22
uniform 4 uint 0xffffff00 uniform 4 uint 0xffffff00
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgbaui(0, 0x40360000, 0, 0xc0700000) probe (0, 0) u32(0, 0x40360000, 0, 0xc0700000)
[require] [require]
shader model >= 6.2 shader model >= 6.2
@@ -211,7 +211,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 double2 0.5 1.0 uniform 0 double2 0.5 1.0
todo draw quad todo draw quad
probe (0, 0) rgbaui(0, 2, 0, 1) probe (0, 0) u32(0, 2, 0, 1)
[pixel shader] [pixel shader]
uniform uint16_t2 u; uniform uint16_t2 u;
@@ -229,7 +229,7 @@ uint4 main() : sv_target
uniform 0 uint 0xff000022 uniform 0 uint 0xff000022
draw quad draw quad
probe (0, 0) rgbaui(0, 0x40410000, 0, 0x40efe000) probe (0, 0) u32(0, 0x40410000, 0, 0x40efe000)
[pixel shader] [pixel shader]
uniform int16_t2 u; uniform int16_t2 u;
@@ -246,4 +246,4 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint 0xff000022 uniform 0 uint 0xff000022
draw quad draw quad
probe (0, 0) rgbaui(0, 0x40410000, 0, 0xc0700000) probe (0, 0) u32(0, 0x40410000, 0, 0xc0700000)

View File

@@ -65,10 +65,10 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint4 0x10002 0x8003 0x10002 0x8003 uniform 0 uint4 0x10002 0x8003 0x10002 0x8003
draw quad draw quad
probe (0, 0) rgbaui(4, 6, 2, 0x8003) probe (0, 0) u32(4, 6, 2, 0x8003)
uniform 0 uint4 0xffffffff 0xfffffffd 0xffffffff 0xfffffffd uniform 0 uint4 0xffffffff 0xfffffffd 0xffffffff 0xfffffffd
draw quad draw quad
probe (0, 0) rgbaui(0xfffe, 0xfffa, 0xffff, 0xfffd) probe (0, 0) u32(0xfffe, 0xfffa, 0xffff, 0xfffd)
[pixel shader] [pixel shader]
uniform float4 f; uniform float4 f;
@@ -82,4 +82,4 @@ uint4 main() : sv_target
[test] [test]
uniform 0 float4 0.5 1.0 0.5 1.0 uniform 0 float4 0.5 1.0 0.5 1.0
todo draw quad todo draw quad
probe (0, 0) rgbaui(0, 2, 0, 1) probe (0, 0) u32(0, 2, 0, 1)

View File

@@ -1022,7 +1022,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint 0x7fffffff uniform 0 uint 0x7fffffff
draw quad draw quad
probe (0, 0) rgbaui(0xffff, 0x7fff, 0, 0) probe (0, 0) u32(0xffff, 0x7fff, 0, 0)
[pixel shader] [pixel shader]
uniform uint16_t4 u0; uniform uint16_t4 u0;
@@ -1036,7 +1036,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint4 0x20001 0x40003 0x60005 0x80007 uniform 0 uint4 0x20001 0x40003 0x60005 0x80007
draw quad draw quad
probe (0, 0) rgbaui(1, 2, 6, 7) probe (0, 0) u32(1, 2, 6, 7)
[pixel shader] [pixel shader]
uniform int16_t2 i; uniform int16_t2 i;

View File

@@ -48,15 +48,15 @@ sample mask 0x01
clear rtv 0 0.0 0.0 0.0 0.0 clear rtv 0 0.0 0.0 0.0 0.0
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.25, 0.0, 0.25) probe (0, 0) rgba (0.0, 0.25, 0.0, 0.25)
probe uav 1 (0, 0, 4, 4) rui (0x01) probe uav 1 (0, 0, 4, 4) u32(0x01)
sample mask 0x03 sample mask 0x03
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5) probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
probe uav 1 (0, 0, 4, 4) rui (0x03) probe uav 1 (0, 0, 4, 4) u32(0x03)
sample mask 0x07 sample mask 0x07
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.75, 0.0, 0.75) probe (0, 0) rgba (0.0, 0.75, 0.0, 0.75)
probe uav 1 (0, 0, 4, 4) rui (0x07) probe uav 1 (0, 0, 4, 4) u32(0x07)
[uav 1] [uav 1]
format r32-uint format r32-uint
@@ -71,8 +71,8 @@ clear rtv 0 0.0 0.0 0.0 0.0
sample mask 0x09 sample mask 0x09
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5) probe (0, 0) rgba (0.0, 0.5, 0.0, 0.5)
probe uav 1 (0, 0, 4, 4) rui (0x09) probe uav 1 (0, 0, 4, 4) u32(0x09)
sample mask 0x0f sample mask 0x0f
todo(sm<6) draw quad todo(sm<6) draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0) probe (0, 0) rgba (0.0, 1.0, 0.0, 1.0)
probe uav 1 (0, 0, 4, 4) rui (0x0f) probe uav 1 (0, 0, 4, 4) u32(0x0f)

View File

@@ -79,9 +79,9 @@ probe (0, 0) rgba(3.0517578e-05, 3.0517578e-05, 3.0517578e-05, 3.0517578e-05)
% positive infinity % positive infinity
uniform 0 uint 0x7c00 uniform 0 uint 0x7c00
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui(0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000) probe (0, 0) u32(0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000)
% negative infinity % negative infinity
uniform 0 uint 0xfc00 uniform 0 uint 0xfc00
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui(0xff800000, 0xff800000, 0xff800000, 0xff800000) probe (0, 0) u32(0xff800000, 0xff800000, 0xff800000, 0xff800000)

View File

@@ -16,12 +16,12 @@ uint4 main() : sv_target
[test] [test]
uniform 0 float 42.0 uniform 0 float 42.0
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x5140, 0x5140, 0x5140, 0x5140) probe (0, 0) u32(0x5140, 0x5140, 0x5140, 0x5140)
% zero % zero
uniform 0 float 0.0 uniform 0 float 0.0
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x0, 0x0, 0x0, 0x0) probe (0, 0) u32(0x0, 0x0, 0x0, 0x0)
% negative zero % negative zero
uniform 0 uint 0x8000 uniform 0 uint 0x8000
@@ -31,61 +31,61 @@ probe (0, 0) rgba(-0.0, -0.0, -0.0, -0.0)
% subnormal number % subnormal number
uniform 0 float 5.9604645e-08 uniform 0 float 5.9604645e-08
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x1, 0x1, 0x1, 0x1) probe (0, 0) u32(0x1, 0x1, 0x1, 0x1)
% subnormal number % subnormal number
uniform 0 float 1.1920929e-07 uniform 0 float 1.1920929e-07
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x2, 0x2, 0x2, 0x2) probe (0, 0) u32(0x2, 0x2, 0x2, 0x2)
% subnormal number % subnormal number
uniform 0 float 2.3841858e-07 uniform 0 float 2.3841858e-07
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x4, 0x4, 0x4, 0x4) probe (0, 0) u32(0x4, 0x4, 0x4, 0x4)
% subnormal number % subnormal number
uniform 0 float 4.7683716e-07 uniform 0 float 4.7683716e-07
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x8, 0x8, 0x8, 0x8) probe (0, 0) u32(0x8, 0x8, 0x8, 0x8)
% subnormal number % subnormal number
uniform 0 float 9.536743e-07 uniform 0 float 9.536743e-07
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x10, 0x10, 0x10, 0x10) probe (0, 0) u32(0x10, 0x10, 0x10, 0x10)
% subnormal number % subnormal number
uniform 0 float 1.9073486e-06 uniform 0 float 1.9073486e-06
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x20, 0x20, 0x20, 0x20) probe (0, 0) u32(0x20, 0x20, 0x20, 0x20)
% subnormal number % subnormal number
uniform 0 float 3.8146973e-06 uniform 0 float 3.8146973e-06
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x40, 0x40, 0x40, 0x40) probe (0, 0) u32(0x40, 0x40, 0x40, 0x40)
% subnormal number % subnormal number
uniform 0 float 7.6293945e-06 uniform 0 float 7.6293945e-06
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x80, 0x80, 0x80, 0x80) probe (0, 0) u32(0x80, 0x80, 0x80, 0x80)
% subnormal number % subnormal number
uniform 0 float 1.5258789e-05 uniform 0 float 1.5258789e-05
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x100, 0x100, 0x100, 0x100) probe (0, 0) u32(0x100, 0x100, 0x100, 0x100)
% subnormal number % subnormal number
uniform 0 float 3.0517578e-05 uniform 0 float 3.0517578e-05
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x200, 0x200, 0x200, 0x200) probe (0, 0) u32(0x200, 0x200, 0x200, 0x200)
% I'd love to use rgba probes here but msvc doesn't scanf infinity :( % I'd love to use rgba probes here but msvc doesn't scanf infinity :(
% positive infinity % positive infinity
uniform 0 uint 0x7f800000 uniform 0 uint 0x7f800000
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0x7c00, 0x7c00, 0x7c00, 0x7c00) probe (0, 0) u32(0x7c00, 0x7c00, 0x7c00, 0x7c00)
% negative infinity % negative infinity
uniform 0 uint 0xff800000 uniform 0 uint 0xff800000
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (0xfc00, 0xfc00, 0xfc00, 0xfc00) probe (0, 0) u32(0xfc00, 0xfc00, 0xfc00, 0xfc00)

View File

@@ -78,7 +78,7 @@ void main()
[test] [test]
dispatch 1 1 1 dispatch 1 1 1
probe uav 0 (0) rui(4) probe uav 0 (0) u32(4)
[uav 0] [uav 0]
stride 6 stride 6
@@ -107,8 +107,8 @@ void main()
[test] [test]
dispatch 1 1 1 dispatch 1 1 1
probe uav 0 (0) rui(0x38000002) probe uav 0 (0) u32(0x38000002)
probe uav 0 (1) rui(6) probe uav 0 (1) u32(6)
[uav 0] [uav 0]
stride 8 stride 8
@@ -137,8 +137,8 @@ void main()
[test] [test]
dispatch 1 1 1 dispatch 1 1 1
probe uav 0 (0) rui(0x38000002) probe uav 0 (0) u32(0x38000002)
probe uav 0 (1) rui(8) probe uav 0 (1) u32(8)
[uav 0] [uav 0]
stride 8 stride 8
@@ -166,5 +166,5 @@ void main()
[test] [test]
dispatch 1 1 1 dispatch 1 1 1
probe uav 0 (0) rui(2) probe uav 0 (0) u32(2)
probe uav 0 (1) rui(8) probe uav 0 (1) u32(8)

View File

@@ -102,7 +102,7 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint4 1 2 0 0 uniform 0 uint4 1 2 0 0
todo(msl) draw quad todo(msl) draw quad
probe (0, 0) rgbaui (2, 1, 2, 1) probe (0, 0) u32(2, 1, 2, 1)
[rtv 0] [rtv 0]
format r32g32b32a32-sint format r32g32b32a32-sint

View File

@@ -51,7 +51,7 @@ uniform 0 uint4 0x020001 0x040003 0x060005 0x080007
uniform 4 uint4 0x120011 0x140013 0x160015 0x180017 uniform 4 uint4 0x120011 0x140013 0x160015 0x180017
uniform 8 uint4 0x220021 0x240023 0x260025 0x280027 uniform 8 uint4 0x220021 0x240023 0x260025 0x280027
draw quad draw quad
probe (0, 0) rgbaui(1, 1, 1, 1) probe (0, 0) u32(1, 1, 1, 1)
% Minimum precision types have a funny behavior with respect to stride in SM6: % Minimum precision types have a funny behavior with respect to stride in SM6:
% DXC allocates them assuming they're 32 bit, and the generated code first loads % DXC allocates them assuming they're 32 bit, and the generated code first loads
@@ -95,7 +95,7 @@ uniform 0 uint4 0x020001 0x040003 0x060005 0x080007
uniform 4 uint4 0x120011 0x140013 0x160015 0x180017 uniform 4 uint4 0x120011 0x140013 0x160015 0x180017
uniform 8 uint4 0x220021 0x240023 0x260025 0x280027 uniform 8 uint4 0x220021 0x240023 0x260025 0x280027
draw quad draw quad
todo probe (0, 0) rgbaui(1, 1, 1, 1) todo probe (0, 0) u32(1, 1, 1, 1)
% Same tests for signed integers % Same tests for signed integers
@@ -123,7 +123,7 @@ uniform 0 uint4 0x020001 0x040003 0x060005 0x080007
uniform 4 uint4 0x120011 0x140013 0x160015 0x180017 uniform 4 uint4 0x120011 0x140013 0x160015 0x180017
uniform 8 uint4 0x220021 0x240023 0x260025 0x280027 uniform 8 uint4 0x220021 0x240023 0x260025 0x280027
draw quad draw quad
probe (0, 0) rgbaui(1, 1, 1, 1) probe (0, 0) u32(1, 1, 1, 1)
[require] [require]
shader model >= 6.0 shader model >= 6.0
@@ -154,7 +154,7 @@ uniform 0 uint4 0x020001 0x040003 0x060005 0x080007
uniform 4 uint4 0x120011 0x140013 0x160015 0x180017 uniform 4 uint4 0x120011 0x140013 0x160015 0x180017
uniform 8 uint4 0x220021 0x240023 0x260025 0x280027 uniform 8 uint4 0x220021 0x240023 0x260025 0x280027
draw quad draw quad
todo probe (0, 0) rgbaui(1, 1, 1, 1) todo probe (0, 0) u32(1, 1, 1, 1)
% Same tests for floating point numbers % Same tests for floating point numbers
@@ -182,7 +182,7 @@ uniform 0 float4 1.0 2.0 3.0 4.0
uniform 4 float4 11.0 12.0 13.0 14.0 uniform 4 float4 11.0 12.0 13.0 14.0
uniform 8 float4 21.0 22.0 23.0 24.0 uniform 8 float4 21.0 22.0 23.0 24.0
draw quad draw quad
probe (0, 0) rgbaui(1, 1, 1, 1) probe (0, 0) u32(1, 1, 1, 1)
[require] [require]
shader model >= 6.0 shader model >= 6.0
@@ -213,7 +213,7 @@ uniform 0 uint4 0x40003c00 0x44004200 0x46004500 0x48004700
uniform 4 uint4 0x4a004980 0x4b004a80 0x4c004b80 0x4c804c40 uniform 4 uint4 0x4a004980 0x4b004a80 0x4c004b80 0x4c804c40
uniform 8 uint4 0x4d804d40 0x4e004dc0 0x4e804e40 0x4f004ec0 uniform 8 uint4 0x4d804d40 0x4e004dc0 0x4e804e40 0x4f004ec0
draw quad draw quad
todo probe (0, 0) rgbaui(1, 1, 1, 1) todo probe (0, 0) u32(1, 1, 1, 1)
[require] [require]
shader model >= 4.0 shader model >= 4.0
@@ -237,11 +237,11 @@ uniform 0 uint 0
uniform 1 uint 100 uniform 1 uint 100
draw quad draw quad
% In D3D12 with SM5 all reads to the array return 0 % In D3D12 with SM5 all reads to the array return 0
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(100, 2, 0x7ff, 0xfff) if(sm>=6 | !d3d12) probe (0, 0) u32(100, 2, 0x7ff, 0xfff)
uniform 0 uint 2 uniform 0 uint 2
uniform 1 uint 1000 uniform 1 uint 1000
draw quad draw quad
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 1000, 0xfff) if(sm>=6 | !d3d12) probe (0, 0) u32(1, 2, 1000, 0xfff)
[rtv 0] [rtv 0]
format r32g32b32a32-sint format r32g32b32a32-sint
@@ -263,11 +263,11 @@ uniform 0 uint 0
uniform 1 uint 100 uniform 1 uint 100
draw quad draw quad
% In D3D12 with SM5 all reads to the array return 0 % In D3D12 with SM5 all reads to the array return 0
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(100, 2, 0x7ff, 0xfff) if(sm>=6 | !d3d12) probe (0, 0) u32(100, 2, 0x7ff, 0xfff)
uniform 0 uint 2 uniform 0 uint 2
uniform 1 uint 1000 uniform 1 uint 1000
draw quad draw quad
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 1000, 0xfff) if(sm>=6 | !d3d12) probe (0, 0) u32(1, 2, 1000, 0xfff)
[rtv 0] [rtv 0]
format r32g32b32a32-float format r32g32b32a32-float

View File

@@ -35,8 +35,8 @@ uint4 main(float4 pos : sv_position) : sv_target
% Initialise the UAV and RTV. % Initialise the UAV and RTV.
[test] [test]
todo(glsl) draw triangle list 3 todo(glsl) draw triangle list 3
probe (0, 0) rui(0xaaaaaaaa) probe (0, 0) u32(0xaaaaaaaa)
probe uav 1 (0, 0, 640, 480) rui(0x55555555) probe uav 1 (0, 0, 640, 480) u32(0x55555555)
[pixel shader] [pixel shader]
RasterizerOrderedTexture2D<uint4> tex : register(u1); RasterizerOrderedTexture2D<uint4> tex : register(u1);
@@ -68,5 +68,5 @@ rov
[test] [test]
draw triangle list 93 draw triangle list 93
probe (0, 0) rui(0x6aaaaaaa) probe (0, 0) u32(0x6aaaaaaa)
probe uav 1 (0, 0, 640, 480) rui(0x2aaaaaaa) probe uav 1 (0, 0, 640, 480) u32(0x2aaaaaaa)

View File

@@ -30,7 +30,7 @@ uint4 main() : sv_target
[test] [test]
todo(mvk & vulkan | msl) draw quad todo(mvk & vulkan | msl) draw quad
todo(mvk) probe (0, 0) rgbaui (0, 22, 0xfeedcafe, 0xffffffff) todo(mvk) probe (0, 0) u32(0, 22, 0xfeedcafe, 0xffffffff)
[pixel shader] [pixel shader]
int4 main() : sv_target int4 main() : sv_target
@@ -74,7 +74,7 @@ uint4 main() : sv_target
[test] [test]
draw quad draw quad
probe (0, 0) rgbaui (0, 22, 0xfeedcafe, 0xffffffff) probe (0, 0) u32(0, 22, 0xfeedcafe, 0xffffffff)
[pixel shader] [pixel shader]
int4 main() : sv_target int4 main() : sv_target
@@ -118,7 +118,7 @@ uint4 main() : sv_target
[test] [test]
todo(mvk & vulkan | msl) draw quad todo(mvk & vulkan | msl) draw quad
todo(mvk) probe (0, 0) rgbaui (0, 22, 0xfeedcafe, 0xffffffff) todo(mvk) probe (0, 0) u32(0, 22, 0xfeedcafe, 0xffffffff)
[pixel shader] [pixel shader]
int4 main() : sv_target int4 main() : sv_target
@@ -162,7 +162,7 @@ uint4 main() : sv_target
[test] [test]
draw quad draw quad
probe (0, 0) rui (22) probe (0, 0) u32(22)
[pixel shader] [pixel shader]
int4 main() : sv_target int4 main() : sv_target

View File

@@ -241,4 +241,4 @@ uint4 main() : sv_target
[test] [test]
draw quad draw quad
probe (0, 0) rgbaui(0, 1, 10, 100) probe (0, 0) u32(0, 1, 10, 100)

View File

@@ -32,28 +32,28 @@ uint4 main() : sv_target
[test] [test]
uniform 0 uint4 0 1 0 0 uniform 0 uint4 0 1 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x1, 0xa, 0xb, 0xc) probe (0, 0) u32(0x1, 0xa, 0xb, 0xc)
uniform 0 uint4 4 1 0 0 uniform 0 uint4 4 1 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x2, 0xa, 0xb, 0xc) probe (0, 0) u32(0x2, 0xa, 0xb, 0xc)
uniform 0 uint4 0 2 0 0 uniform 0 uint4 0 2 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x1, 0x2, 0xd, 0xe) probe (0, 0) u32(0x1, 0x2, 0xd, 0xe)
uniform 0 uint4 4 2 0 0 uniform 0 uint4 4 2 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x2, 0x3, 0xd, 0xe) probe (0, 0) u32(0x2, 0x3, 0xd, 0xe)
uniform 0 uint4 0 3 0 0 uniform 0 uint4 0 3 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x1, 0x2, 0x3, 0xf) probe (0, 0) u32(0x1, 0x2, 0x3, 0xf)
uniform 0 uint4 4 3 0 0 uniform 0 uint4 4 3 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x2, 0x3, 0x4, 0xf) probe (0, 0) u32(0x2, 0x3, 0x4, 0xf)
uniform 0 uint4 0 4 0 0 uniform 0 uint4 0 4 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x1, 0x2, 0x3, 0x4) probe (0, 0) u32(0x1, 0x2, 0x3, 0x4)
uniform 0 uint4 4 4 0 0 uniform 0 uint4 4 4 0 0
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x2, 0x3, 0x4, 0x0) probe (0, 0) u32(0x2, 0x3, 0x4, 0x0)
% Test correct emission of resource declarations in SM 5.1 format. % Test correct emission of resource declarations in SM 5.1 format.
[require] [require]
@@ -75,4 +75,4 @@ uint4 main() : sv_target
[test] [test]
todo(msl | glsl) draw quad todo(msl | glsl) draw quad
probe (0, 0) rgbaui(0x4, 0x3, 0x2, 0x1) probe (0, 0) u32(0x4, 0x3, 0x2, 0x1)

View File

@@ -68,10 +68,10 @@ void main(uint local_idx : SV_GroupIndex)
[test] [test]
todo(sm<6) dispatch 1 1 1 todo(sm<6) dispatch 1 1 1
probe uav 0 (0) rui(0xcafef00d) probe uav 0 (0) u32(0xcafef00d)
probe uav 0 (1) rui(0xcafef00d) probe uav 0 (1) u32(0xcafef00d)
probe uav 0 (2) rui(0xcafef00d) probe uav 0 (2) u32(0xcafef00d)
probe uav 0 (3) rui(0xcafef00d) probe uav 0 (3) u32(0xcafef00d)
[require] [require]
shader model >= 5.0 shader model >= 5.0
@@ -100,10 +100,10 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
[test] [test]
todo(sm<6) dispatch 4 1 1 todo(sm<6) dispatch 4 1 1
probe uav 1 (0) rui (0) probe uav 1 (0) u32(0)
probe uav 1 (1) rui (33) probe uav 1 (1) u32(33)
probe uav 1 (2) rui (66) probe uav 1 (2) u32(66)
probe uav 1 (3) rui (99) probe uav 1 (3) u32(99)
[uav 1] [uav 1]
@@ -235,7 +235,7 @@ void main(uint local_idx : SV_GroupIndex)
[test] [test]
todo(sm<6) dispatch 1 1 1 todo(sm<6) dispatch 1 1 1
probe uav 1 (0) rui (39) probe uav 1 (0) u32(39)
[uav 0] [uav 0]
format r32-typeless format r32-typeless
@@ -264,14 +264,14 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
[test] [test]
todo dispatch 2 1 1 todo dispatch 2 1 1
todo probe uav 0 (0) rui(0x18) todo probe uav 0 (0) u32(0x18)
todo probe uav 0 (1) rui(0x18) todo probe uav 0 (1) u32(0x18)
todo probe uav 0 (2) rui(0x38) todo probe uav 0 (2) u32(0x38)
todo probe uav 0 (3) rui(0x38) todo probe uav 0 (3) u32(0x38)
todo probe uav 0 (4) rui(0x1a) todo probe uav 0 (4) u32(0x1a)
todo probe uav 0 (5) rui(0x1a) todo probe uav 0 (5) u32(0x1a)
todo probe uav 0 (6) rui(0x3a) todo probe uav 0 (6) u32(0x3a)
todo probe uav 0 (7) rui(0x3a) todo probe uav 0 (7) u32(0x3a)
[uav 0] [uav 0]
format r32-typeless format r32-typeless
@@ -306,14 +306,14 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
[test] [test]
todo dispatch 2 1 1 todo dispatch 2 1 1
todo probe uav 0 (0) rui(0x14321) todo probe uav 0 (0) u32(0x14321)
todo probe uav 0 (1) rui(0x14321) todo probe uav 0 (1) u32(0x14321)
todo probe uav 0 (2) rui(0x14321) todo probe uav 0 (2) u32(0x14321)
todo probe uav 0 (3) rui(0x14321) todo probe uav 0 (3) u32(0x14321)
todo probe uav 0 (4) rui(0x24321) todo probe uav 0 (4) u32(0x24321)
todo probe uav 0 (5) rui(0x24321) todo probe uav 0 (5) u32(0x24321)
todo probe uav 0 (6) rui(0x24321) todo probe uav 0 (6) u32(0x24321)
todo probe uav 0 (7) rui(0x24321) todo probe uav 0 (7) u32(0x24321)
[require] [require]
shader model >= 6.2 shader model >= 6.2
@@ -343,7 +343,7 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
[test] [test]
dispatch 2 1 1 dispatch 2 1 1
probe uav 1 (0) rui(0x180018) probe uav 1 (0) u32(0x180018)
probe uav 1 (1) rui(0x380038) probe uav 1 (1) u32(0x380038)
probe uav 1 (2) rui(0x1a001a) probe uav 1 (2) u32(0x1a001a)
probe uav 1 (3) rui(0x3a003a) probe uav 1 (3) u32(0x3a003a)

View File

@@ -33,31 +33,31 @@ void main()
[test] [test]
uniform 0 uint4 3 5 0 0 uniform 0 uint4 3 5 0 0
todo(glsl | msl) dispatch 1 1 1 todo(glsl | msl) dispatch 1 1 1
probe uav 1 (0) rui (1) probe uav 1 (0) u32(1)
probe uav 1 (1) rui (3) probe uav 1 (1) u32(3)
probe uav 1 (2) rui (15) probe uav 1 (2) u32(15)
probe uav 1 (3) rui (0x13) probe uav 1 (3) u32(0x13)
probe uav 1 (4) rui (4) probe uav 1 (4) u32(4)
probe uav 1 (5) rui (3) probe uav 1 (5) u32(3)
probe uav 1 (6) rui (4) probe uav 1 (6) u32(4)
probe uav 1 (7) rui (3) probe uav 1 (7) u32(3)
probe uav 1 (8) rui (1) probe uav 1 (8) u32(1)
probe uav 1 (9) rui (3) probe uav 1 (9) u32(3)
probe uav 1 (10) rui (1) probe uav 1 (10) u32(1)
uniform 0 uint4 1 2 0 0 uniform 0 uint4 1 2 0 0
todo(glsl | msl) dispatch 2 1 1 todo(glsl | msl) dispatch 2 1 1
probe uav 1 (0) rui (1) probe uav 1 (0) u32(1)
probe uav 1 (1) rui (3) probe uav 1 (1) u32(3)
probe uav 1 (2) rui (21) probe uav 1 (2) u32(21)
probe uav 1 (3) rui (0x13) probe uav 1 (3) u32(0x13)
probe uav 1 (4) rui (4) probe uav 1 (4) u32(4)
probe uav 1 (5) rui (1) probe uav 1 (5) u32(1)
probe uav 1 (6) rui (4) probe uav 1 (6) u32(4)
probe uav 1 (7) rui (1) probe uav 1 (7) u32(1)
probe uav 1 (8) rui (1) probe uav 1 (8) u32(1)
probe uav 1 (9) rui (3) probe uav 1 (9) u32(3)
probe uav 1 (10) rui (1) probe uav 1 (10) u32(1)
[uav 2] [uav 2]
@@ -121,17 +121,17 @@ void main()
[test] [test]
uniform 0 uint4 3 5 0 0 uniform 0 uint4 3 5 0 0
todo(glsl | msl) dispatch 1 1 1 todo(glsl | msl) dispatch 1 1 1
probe uav 1 (0) rui (1) probe uav 1 (0) u32(1)
probe uav 1 (1) rui (3) probe uav 1 (1) u32(3)
probe uav 1 (2) rui (15) probe uav 1 (2) u32(15)
probe uav 1 (3) rui (0x13) probe uav 1 (3) u32(0x13)
probe uav 1 (4) rui (4) probe uav 1 (4) u32(4)
probe uav 1 (5) rui (3) probe uav 1 (5) u32(3)
probe uav 1 (6) rui (4) probe uav 1 (6) u32(4)
probe uav 1 (7) rui (3) probe uav 1 (7) u32(3)
probe uav 1 (8) rui (1) probe uav 1 (8) u32(1)
probe uav 1 (9) rui (3) probe uav 1 (9) u32(3)
probe uav 1 (10) rui (1) probe uav 1 (10) u32(1)
[compute shader fail(sm<5)] [compute shader fail(sm<5)]
@@ -197,12 +197,12 @@ void main()
uniform 0 uint 0xffffffff uniform 0 uint 0xffffffff
uniform 1 float 0x80000000 uniform 1 float 0x80000000
todo(glsl | msl) dispatch 1 1 1 todo(glsl | msl) dispatch 1 1 1
probe uav 1 (0) rui (0xffffffff) probe uav 1 (0) u32(0xffffffff)
probe uav 1 (1) rui (1) probe uav 1 (1) u32(1)
probe uav 1 (2) rui (0x7fffffff) probe uav 1 (2) u32(0x7fffffff)
probe uav 2 (0) i32(1) probe uav 2 (0) i32(1)
probe uav 2 (1) i32(-1) probe uav 2 (1) i32(-1)
probe uav 2 (2) rui (0x7fffffff) probe uav 2 (2) u32(0x7fffffff)
[uav 1] [uav 1]
format r32-uint format r32-uint
@@ -247,14 +247,14 @@ void main()
uniform 0 uint 0xffffffff uniform 0 uint 0xffffffff
uniform 1 float -1 uniform 1 float -1
todo(glsl | msl) dispatch 1 1 1 todo(glsl | msl) dispatch 1 1 1
if(sm<6) probe uav 1 (0) rui (0xffffffff) if(sm<6) probe uav 1 (0) u32(0xffffffff)
if(sm>=6) probe uav 1 (0) rui (0xfffffffd) if(sm>=6) probe uav 1 (0) u32(0xfffffffd)
probe uav 1 (1) rui (0) probe uav 1 (1) u32(0)
probe uav 1 (2) rui (0) probe uav 1 (2) u32(0)
probe uav 1 (3) rui (0xffffffff) probe uav 1 (3) u32(0xffffffff)
probe uav 1 (4) rui (0xffffffff) probe uav 1 (4) u32(0xffffffff)
if(sm<6) probe uav 2 (0) i32(-1) if(sm<6) probe uav 2 (0) i32(-1)
if(sm>=6) probe uav 2 (0) rui (0xfffffffd) if(sm>=6) probe uav 2 (0) u32(0xfffffffd)
probe uav 2 (1) i32(0) probe uav 2 (1) i32(0)
probe uav 2 (2) i32(0) probe uav 2 (2) i32(0)
probe uav 2 (3) i32(-1) probe uav 2 (3) i32(-1)

Some files were not shown because too many files have changed in this diff Show More