vkd3d-shader/hlsl: Replace register offsets with index paths until split copies. [v4]
Replaces register offsets with component index paths to remove backend-specific offset/size logic from the IR. Also, working with components would allow for implicit size array initializers and properly handle objects which have register size 0.
In vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations.
the transform_deref_paths_into_offsets
pass is introduced and moved forward in the following patches as other compilation passes are translated. The idea is to remove this pass after all the others are translated and then make each shader-model handle register offsets separately.
Patches for translating copy propagation, among other things, are prepared for a following merge request.