mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests/hlsl: Add structured buffer UAV 16-bit tests.
This commit is contained in:
committed by
Henri Verbeet
parent
504bdcc8bb
commit
c3555a34dc
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
@@ -178,3 +178,186 @@ float4 main() : sv_target1
|
||||
todo(sm<6) draw quad
|
||||
probe uav 2 (0) ri (11)
|
||||
probe uav 2 (1) ri (12)
|
||||
|
||||
[require]
|
||||
shader model >= 6.2
|
||||
native-16-bit
|
||||
|
||||
[uav 2]
|
||||
stride 6
|
||||
size (buffer, 2)
|
||||
|
||||
0 0 0
|
||||
|
||||
[compute shader]
|
||||
struct foo
|
||||
{
|
||||
half h;
|
||||
int16_t i;
|
||||
uint16_t u;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<foo> u : register(u2);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
struct foo f0 = {11.125, -12, 13};
|
||||
struct foo f1 = {12.25, 13, 0xfff2};
|
||||
u[0] = f0;
|
||||
u[1] = f1;
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
probe uav 2 (0) rui(0xfff44990)
|
||||
probe uav 2 (1) rui(0x4a20000d)
|
||||
probe uav 2 (2) rui(0xfff2000d)
|
||||
|
||||
[uav 2]
|
||||
stride 12
|
||||
size (buffer, 2)
|
||||
|
||||
0 0 0 0 0 0
|
||||
|
||||
[compute shader]
|
||||
struct foo
|
||||
{
|
||||
half2 h;
|
||||
int16_t2 i;
|
||||
uint16_t2 u;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<foo> u : register(u2);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
struct foo f0 = {11.125, 12.25, -12, 13, 14, 0xfff1};
|
||||
struct foo f1 = {13.375, 14.5, -16, 17, 18, 0xffeb};
|
||||
u[0] = f0;
|
||||
u[1] = f1;
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
probe uav 2 (0) rui(0x4a204990)
|
||||
probe uav 2 (1) rui(0x000dfff4)
|
||||
probe uav 2 (2) rui(0xfff1000e)
|
||||
probe uav 2 (3) rui(0x4b404ab0)
|
||||
probe uav 2 (4) rui(0x0011fff0)
|
||||
probe uav 2 (5) rui(0xffeb0012)
|
||||
|
||||
[uav 2]
|
||||
stride 12
|
||||
size (buffer, 2)
|
||||
|
||||
0 0 0 0 0 0
|
||||
|
||||
[compute shader]
|
||||
struct foo
|
||||
{
|
||||
half h;
|
||||
int16_t i;
|
||||
uint32_t u;
|
||||
uint16_t2 s;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<foo> u : register(u2);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
struct foo f0 = {11.125, -12, 13, 1, 2};
|
||||
struct foo f1 = {12.25, 13, 0xfffffff2, 3, 4};
|
||||
u[0] = f0;
|
||||
u[1] = f1;
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
probe uav 2 (0) rui(0xfff44990)
|
||||
probe uav 2 (1) rui(13)
|
||||
probe uav 2 (2) rui(0x20001)
|
||||
probe uav 2 (3) rui(0x000d4a20)
|
||||
probe uav 2 (4) rui(0xfffffff2)
|
||||
probe uav 2 (5) rui(0x40003)
|
||||
|
||||
[uav 2]
|
||||
stride 16
|
||||
size (buffer, 2)
|
||||
|
||||
0 0 0 0 0 0 0 0
|
||||
|
||||
[compute shader]
|
||||
struct foo
|
||||
{
|
||||
half h;
|
||||
uint32_t u;
|
||||
uint16_t4 s;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<foo> u : register(u2);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
struct foo f0 = {11.125, 3, -12, 13, 1, 2};
|
||||
struct foo f1 = {12.25, 5, 13, 0xfffffff2, 3, 4};
|
||||
u[0] = f0;
|
||||
u[1] = f1;
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
probe uav 2 (0) rui(0x4990)
|
||||
probe uav 2 (1) rui(3)
|
||||
probe uav 2 (2) rui(0xdfff4)
|
||||
probe uav 2 (3) rui(0x20001)
|
||||
probe uav 2 (4) rui(0x4a20)
|
||||
probe uav 2 (5) rui(5)
|
||||
probe uav 2 (6) rui(0xfff2000d)
|
||||
probe uav 2 (7) rui(0x40003)
|
||||
|
||||
[require]
|
||||
shader model >= 6.2
|
||||
native-16-bit
|
||||
float64
|
||||
|
||||
[uav 2]
|
||||
stride 24
|
||||
size (buffer, 2)
|
||||
|
||||
0 0 0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
[compute shader]
|
||||
struct foo
|
||||
{
|
||||
half h;
|
||||
double d;
|
||||
uint16_t u;
|
||||
};
|
||||
|
||||
RWStructuredBuffer<foo> u : register(u2);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main()
|
||||
{
|
||||
struct foo f0 = {11.125, 5.25, 13};
|
||||
struct foo f1 = {12.25, -4.25, 15};
|
||||
u[0] = f0;
|
||||
u[1] = f1;
|
||||
}
|
||||
|
||||
[test]
|
||||
dispatch 1 1 1
|
||||
probe uav 2 (0) rui(0x4990)
|
||||
probe uav 2 (1) rui(0)
|
||||
probe uav 2 (1) rd(5.25)
|
||||
probe uav 2 (4) rui(13)
|
||||
probe uav 2 (5) rui(0)
|
||||
probe uav 2 (6) rui(0x4a20)
|
||||
probe uav 2 (7) rui(0)
|
||||
probe uav 2 (4) rd(-4.25)
|
||||
probe uav 2 (10) rui(15)
|
||||
probe uav 2 (11) rui(0)
|
||||
|
Reference in New Issue
Block a user