Draft: vkd3d-shader/hlsl: Fix assumptions in add_load_index() and add_load_component().
Currently, we can't use add_load_index()
or add_load_component()
on the loads to the "retval"
variables that come from add_call()
because these functions assume that the loaded value (var_instr
) won't change between its location and the location and the new load to be created.
We can't get rid of this assumptions either, because, at least
add_load_index()
may be used in the lhs of an assignment, and in that case we
can't store to the "deref" synthetic:
x[0] = 20;
Here I implemented the alternative solution of copying "retval"
into a synthetic variable after each function call, but we may want to discuss this approach.
Edited by Francisco Casas