I have a problem with a vertex format in my DX11 engine. If I create a vertex buffer using the formats DXGI_FORMAT_R16G16B16A16_UINT or DXGI_FORMAT_R16G16B16A16_SINT for position (DX9 is SHORT4) I get zero for every component in the position passed into the shader (other componets are fine R8G8B8A8 colour and R16G16_SNORM for uv). I have ran pix and checked the inputs to the mesh on the Draw() command and confirmed they are all zero. If I pass in UNORM, SNORM or FLOAT I get reasonable data passed in for the position.
Is there any steps I have missed? ie. I don't create a ShaderResourceView but that doesn't seem to matter if I don't use the 16bit formats.