[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)
