[require] shader model >= 4.0 [pixel shader] float4 main() : sv_target { min16float4 a = {0, 1, 2, 3}; min10float2 b = {4, 5}; min16int3 c = {6.4, 7, 8}; min12int d = 9.4; min16uint4x2 e = {14.4, 15, 16, 17, 18, 19, 20, 21}; vector g = {22, 23, 24}; matrix h = {25.4, 26, 27, 28, 29, 30}; return mul(e, b) + a + c.xyzx + d + g.xxyz + h[2].xyxy; } [test] todo(msl) draw quad probe (0, 0) rgba (197.0, 218.0, 238.0, 257.0) [rtv 0] format r32g32b32a32-uint size (2d, 640, 480) [pixel shader] uniform min16uint2 u; uint4 main() : sv_target { min16uint i = 0x7fff, j = 0xffff; return uint4(u.x + i, u.y + j, 0, 0); } [require] shader model >= 4.0 shader model < 6.0 [test] uniform 0 uint4 0 0 0 0 todo(msl) draw quad probe (0, 0) rgbaui (0x7fff, 0xffff, 0, 0) [require] shader model >= 6.0 [test] uniform 0 uint4 0 0 0 0 draw quad probe (0, 0) rgbaui (0x7fff, 0xffffffff, 0, 0) % The code d3dcompiler_47 produces for this appears correct, but the result % is still zero in Windows. [pixel shader] uniform min16uint4 u; uniform uint i; uint4 main() : sv_target { min16uint arr[4] = {1, 2, 0x7fff, 0xffff}; return uint4(u.x + arr[i], u.y + arr[i + 1], 0, 0); } [test] uniform 0 uint4 0 0 0 0 uniform 4 uint 2 draw quad probe (0, 0) rgbaui (0x7fff, 0xffffffff, 0, 0) uniform 0 uint4 0 0 0 0 uniform 4 uint 0 draw quad probe (0, 0) rgbaui (1, 2, 0, 0)