tests/hlsl: Add a test reading from a minimum precision signed integer array.

This commit is contained in:
Giovanni Mascellani
2025-05-26 21:50:08 +02:00
committed by Henri Verbeet
parent 7f7077a156
commit 308d3aa676
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

View File

@@ -274,6 +274,32 @@ uniform 12 uint 1
todo(msl) draw quad
probe (0, 0) rgbai(1, -0xfff, 0xffe, -0xffe)
[pixel shader]
uniform min16int u[2];
uniform uint i;
int4 main() : sv_target
{
min16int arr[4] = {1, 2, -0x7ff, 0xfff};
return int4(u[0] + arr[i], u[1] + arr[i + 1], 0, 0);
}
[test]
uniform 0 uint 2
uniform 4 uint 0xffe
% i is allocated differently between SM4-5 and SM6
uniform 5 uint 2
uniform 8 uint 2
todo(msl) draw quad
% In D3D12 with SM5 all reads to the array return 0
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(0xfffff803, 0x1ffd, 0, 0)
uniform 0 uint 0
uniform 4 uint 0
uniform 5 uint 0
uniform 8 uint 0
todo(msl) draw quad
if(sm>=6 | !d3d12) probe (0, 0) rgbaui(1, 2, 0, 0)
[pixel shader]
uniform min16int u[4];