Thanks. I'll see about feedback assistant tomorrow, but I'm not sure if I will be able to create a concise project that reproduces that.
What I am utterly confused about is that this code works perfectly fine on Intel and fails on M1. I tried adding Blit synchronize for the texture, thinking that maybe this was the cause, but it didn't do anything. Interestingly, I found out that only for the green channel I get the 0.0f values, for everything else I seem to be getting "nothing" (meaning that when I add or multiply the sample result for r, b or a, it also always comes back as black, while green behaves as if it actually is 0.0f). And the result is always the same, no matter which coordinates I sample.
I'd rather not go to 2D array texture unless there's no other solution. Like you said, it would require changes not only in the shader, but also upstream, that I'd rather avoid.