Files
vkd3d/tests/hlsl/compute.shader_test
2025-10-03 00:44:45 +02:00

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)