[require] shader model >= 5.0 [pixel shader todo] struct s { float3 a; }; struct s2 { float4x4 f1, f2, f3; }; RWStructuredBuffer<float4> u : register(u2); RWStructuredBuffer<float> u1; RWStructuredBuffer<float2x2> u2; RWStructuredBuffer<struct s> u3; RWStructuredBuffer<float4x4> u4; RWStructuredBuffer<struct s2> u5; float4 main() : sv_target1 { u[0] = float4(11.1, 12.2, 13.3, 14.4); return 0; } % Array type [pixel shader] typedef float arr[2]; RWStructuredBuffer<arr> u; float4 main() : sv_target1 { return 0; } % Object types [pixel shader fail(sm<6)] RWStructuredBuffer<Texture2D> u; float4 main() : sv_target1 { return 0; } [pixel shader fail] struct s { Texture2D t; }; RWStructuredBuffer<struct s> u; float4 main() : sv_target1 { return 0; }