vkd3d-shader/hlsl: Use an iterator in dxil.c and use vsir_program_append() in hlsl_codegen.c.
These are small steps towards not accessing the vkd3d_shader_instruction_array->elements[] directly and replacing it with another struct.
A small difference in behavior that is introduced in 2/4, 3/4, and 4/4 is that if vsir_instruction_init_with_params() fails to allocate srcs or dsts, the instruction is still appended to the program but left as a VSIR_OP_NOP.
Edited by Francisco Casas