mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
95 lines
1.9 KiB
Plaintext
95 lines
1.9 KiB
Plaintext
[require]
|
|
shader model >= 5.0
|
|
format r32-float uav-load
|
|
|
|
[uav 0]
|
|
format r32-float
|
|
size (2d, 1, 1)
|
|
|
|
0.1
|
|
|
|
[compute shader]
|
|
RWTexture2D<float> u;
|
|
|
|
[numthreads(1, 1, 1)]
|
|
void main()
|
|
{
|
|
u[uint2(0, 0)] = -123.0;
|
|
}
|
|
|
|
[test]
|
|
dispatch 1 1 1
|
|
probe uav 0 (0, 0) f32(-123.0)
|
|
|
|
[require]
|
|
shader model >= 5.0
|
|
format r32g32b32a32-uint uav-load
|
|
|
|
[uav 0]
|
|
format r32g32b32a32-uint
|
|
size (2d, 50, 50)
|
|
|
|
[compute shader]
|
|
RWTexture2D<uint4> u;
|
|
|
|
[numthreads(4, 4, 1)]
|
|
void main(uint3 thread_id : SV_DispatchThreadId)
|
|
{
|
|
if (thread_id.x < 50 && thread_id.y < 50)
|
|
u[thread_id.xy] = uint4(thread_id, 1);
|
|
}
|
|
|
|
[test]
|
|
dispatch 13 13 1
|
|
probe uav 0 (0, 0) u32(0, 0, 0, 1)
|
|
probe uav 0 (14, 38) u32(14, 38, 0, 1)
|
|
probe uav 0 (49, 49) u32(49, 49, 0, 1)
|
|
|
|
[compute shader]
|
|
RWTexture2D<uint4> u;
|
|
|
|
[numthreads(4, 4, 1)]
|
|
void main(uint3 thread_id : SV_DispatchThreadId, uint group_index : SV_GroupIndex)
|
|
{
|
|
if (thread_id.x < 50 && thread_id.y < 50)
|
|
u[thread_id.xy] = uint4(group_index, 0, 0, 1);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl) dispatch 13 13 1
|
|
probe uav 0 (0, 0) u32(0, 0, 0, 1)
|
|
probe uav 0 (14, 38) u32(10, 0, 0, 1)
|
|
probe uav 0 (49, 49) u32(5, 0, 0, 1)
|
|
|
|
[compute shader]
|
|
RWTexture2D<uint4> u;
|
|
|
|
[numthreads(4, 4, 1)]
|
|
void main(uint3 thread_id : SV_DispatchThreadId, uint3 group_id : SV_GroupID)
|
|
{
|
|
if (thread_id.x < 50 && thread_id.y < 50)
|
|
u[thread_id.xy] = uint4(group_id, 1);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl | msl) dispatch 13 13 1
|
|
probe uav 0 (0, 0) u32(0, 0, 0, 1)
|
|
probe uav 0 (14, 38) u32(3, 9, 0, 1)
|
|
probe uav 0 (49, 49) u32(12, 12, 0, 1)
|
|
|
|
[compute shader]
|
|
RWTexture2D<uint4> u;
|
|
|
|
[numthreads(4, 4, 1)]
|
|
void main(uint3 thread_id : SV_DispatchThreadId, uint3 group_thread_id : SV_GroupThreadID)
|
|
{
|
|
if (thread_id.x < 50 && thread_id.y < 50)
|
|
u[thread_id.xy] = uint4(group_thread_id, 1);
|
|
}
|
|
|
|
[test]
|
|
todo(glsl | msl) dispatch 13 13 1
|
|
probe uav 0 (0, 0) u32(0, 0, 0, 1)
|
|
probe uav 0 (14, 39) u32(2, 3, 0, 1)
|
|
probe uav 0 (49, 49) u32(1, 1, 0, 1)
|