Regression from #131134.
The shader still reads `vel.obj.ofs[STEP_NEXT]` even when in the
viewport.
- Ensure that `vel.obj.ofs[STEP_NEXT]` points to a valid memory
location even if the computed value is still wrong.
- Ensure that the viewport always uses a 2 channel vector_tx and all
texture reads are always swizzled.
This also seems to fix the motion vector pass for the realtime compositor.
Pull Request: https://projects.blender.org/blender/blender/pulls/131445