tests/hlsl: Add GetDimensions() 16-bit tests.

This commit is contained in:
Conor McCarthy
2025-02-04 13:15:01 +10:00
committed by Henri Verbeet
parent 498e86fb86
commit 7ee6101291
Notes: Henri Verbeet 2025-02-12 20:10:02 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1374

View File

@@ -55,3 +55,116 @@ float4 main() : sv_target
[test]
todo(glsl | msl) draw quad
probe (0, 0) rgba (2.0, 2.0, 1.0, 2.0)
[require]
shader model >= 6.2
native-16-bit
[uav 0]
format r32-uint
size (buffer, 4)
0 0 0 0
[compute shader]
RWBuffer<uint16_t> u : register(u0);
[numthreads(1, 1, 1)]
void main()
{
uint width;
u.GetDimensions(width);
u[0] = (uint16_t)width;
}
[test]
dispatch 1 1 1
probe uav 0 (0) rui(4)
[uav 0]
stride 6
size (buffer, 2)
0 0 0
[compute shader]
struct foo
{
uint16_t count;
half h;
uint16_t stride;
};
RWStructuredBuffer<foo> u : register(u0);
[numthreads(1, 1, 1)]
void main()
{
uint count, stride;
u.GetDimensions(count, stride);
struct foo f0 = {(uint16_t)count, 0.5, (uint16_t)stride};
u[0] = f0;
}
[test]
dispatch 1 1 1
probe uav 0 (0) rui(0x38000002)
probe uav 0 (1) rui(6)
[uav 0]
stride 8
size (buffer, 2)
0 0 0 0
[compute shader]
struct foo
{
uint16_t count;
half h;
uint32_t stride;
};
RWStructuredBuffer<foo> u : register(u0);
[numthreads(1, 1, 1)]
void main()
{
uint count, stride;
u.GetDimensions(count, stride);
struct foo f0 = {(uint16_t)count, 0.5, stride};
u[0] = f0;
}
[test]
dispatch 1 1 1
probe uav 0 (0) rui(0x38000002)
probe uav 0 (1) rui(8)
[uav 0]
stride 8
size (buffer, 2)
0 0 0 0
[compute shader]
struct foo
{
uint16_t count;
uint32_t stride;
};
RWStructuredBuffer<foo> u : register(u0);
[numthreads(1, 1, 1)]
void main()
{
uint count, stride;
u.GetDimensions(count, stride);
struct foo f0 = {(uint16_t)count, stride};
u[0] = f0;
}
[test]
dispatch 1 1 1
probe uav 0 (0) rui(2)
probe uav 0 (1) rui(8)