[require]
shader model >= 5.0

[uav 0]
format r32g32b32a32-float
size (2d, 1, 1)

0.1 0.2 0.3 0.4

[compute shader]

RWTexture2D<float4> u;

void func(out float4 f)
{
    f.x = 0.1;
    f.y = 0.2;
    f.z = 0.3;
    f.w = 0.4;
}

    [numthreads(1, 1, 1)]
void main()
{
    func(u[uint2(0, 0)].yzwx);
}

[test]
todo(msl) dispatch 1 1 1
probe uav 0 (0, 0) rgba (0.4, 0.1, 0.2, 0.3)

[uav 0]
format r32-float
size (2d, 1, 1)

0.1

[compute shader]

RWTexture2D<float> u;

void func(inout float f)
{
    f += 0.1;
}

    [numthreads(1, 1, 1)]
void main()
{
    func(u[uint2(0, 0)]);
}

[test]
todo(msl) dispatch 1 1 1
probe uav 0 (0, 0) r (0.2)
