On Thu Nov 2 13:26:15 2023 +0000, Giovanni Mascellani wrote:
I am a bit confused because here I would have assumed that the non-indexable execution path should have been identical to what happened before this commit. Instead here you're adding `offset_const_deref` and a few lines below you're combining writemasks, and I don't think I'm seeing this operations in the removed lines. Are you also fixing a previous bug here in the non-indexable case? Or maybe I'm just missing something obvious...
It should give the same results.
I think that the confusion arises because the previous path (deleted lines) called `hlsl_reg_from_deref()`, which calls `hlsl_offset_from_deref_safe()`, and then does these operations.
And, OTOH, the new code calls `hlsl_offset_from_deref_safe()` directly and takes care of doing the same operations that `hlsl_reg_from_deref()` did.