[pixel shader] typedef float2 Dword; typedef float3 dWord; float4 f() { typedef Dword dword; dword v1 = {1, 2}; DWORD v4 = 4; return float4(v1.x, v1.y, 3, v4); } float4 f2() { typedef dword dword; dword v = 1; return float4(v, v, v, v); } float4 main() : SV_TARGET { return f() + f2(); } [test] draw quad probe all rgba (2.0, 3.0, 4.0, 5.0) % The "dword" alias is pre-defined as lowercase [pixel shader fail] typedef float2 dword; float4 main() : sv_target { return float4(0, 0, 0, 0); } [pixel shader fail] struct DWORD s; float4 main() : sv_target { return float4(0, 0, 0, 0); }