tests/hlsl: Add a test reading from a minimum precision floating-point array.

This commit is contained in:
Giovanni Mascellani
2025-05-26 21:56:10 +02:00
committed by Henri Verbeet
parent 12da0f9d24
commit de8dbdc2cb
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

@@ -282,6 +282,33 @@ if(sm>=6) uniform 12 uint 0x4180
draw quad draw quad
todo(sm>=6) probe (0, 0) rgba(-1.5, 65.0, 1.25, 67.75) todo(sm>=6) probe (0, 0) rgba(-1.5, 65.0, 1.25, 67.75)
[pixel shader]
uniform min16float u[2];
uniform uint i;
float4 main() : sv_target
{
min16float arr[4] = {1.0, 2.0, 10.0, 0.5};
return float4(u[0] + arr[i], u[1] + arr[i + 1], 0, 0);
}
[test]
if(sm<6) uniform 0 float 0.25
if(sm<6) uniform 4 float 3.0
if(sm>=6) uniform 0 uint 0x3400
if(sm>=6) uniform 4 uint 0x4200
% i is allocated differently between SM4-5 and SM6
uniform 5 uint 2
uniform 8 uint 2
todo(msl | sm>=6) draw quad
probe (0, 0) rgba(10.25, 3.5, 0.0, 0.0)
uniform 0 uint 0
uniform 4 uint 0
uniform 5 uint 0
uniform 8 uint 0
todo(msl | sm>=6) draw quad
probe (0, 0) rgba(1.0, 2.0, 0, 0)
[pixel shader] [pixel shader]
uniform min16float u[4]; uniform min16float u[4];