making directx semantic input slot generic