[require] shader model >= 5.0 [uav 1] format r32-typeless size (raw_buffer, 4) 1 2 3 4 [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store(0, 10); u.Store(4, 11.1f); return 0; } [test] todo(glsl | msl) draw quad probe uav 1 (0) ri (10) if(sm<6) probe uav 1 (1) ri (11) if(sm>=6) probe uav 1 (1) r (11.1) [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store2(0, uint2(10, 11)); u.Store2(8, float2(12.2f, 13.3f)); return 0; } [test] todo(glsl | msl) draw quad probe uav 1 (0) rgbaui(10, 11, 12, 13) [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store(0, 20); u.Store3(4, uint3(21, 22, 23)); return 0; } [test] todo(glsl | msl) draw quad probe uav 1 (0) rgbaui(20, 21, 22, 23) [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store(0, 20); u.Store3(4, float3(21.1f, 22.2f, 23.3f)); return 0; } [test] todo(glsl | msl) draw quad probe uav 1 (0) rgbaui(20, 21, 22, 23) [require] shader model >= 5.0 float64 [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store(0, (double)12.2); return 0; } [test] todo(glsl) draw quad if(sm<6) probe uav 1 (0) ri (12) if(sm>=6) probe uav 1 (0) rd (12.2) % SM 6 add support for templated Store<>(). [require] shader model >= 6.0 float64 [pixel shader] RWByteAddressBuffer u : register(u1); float4 main() : sv_target { u.Store(0, (int64_t)-12); u.Store(8, 13.3); return 0; } [test] draw quad probe uav 1 (0) ri64 (-12) probe uav 1 (1) rd (13.3)