turnip: Fixes for 3d GMEM store path
This path is normally used in a relatively niche area (misaligned stores to multisample surfaces), so there were some bugs. We may able to avoid it in some cases, but we will never be able to remove it because it will be necessary when the underlying image has a misaligned height, is multisampled, is linear, and has smaller miplevels that may be overwritten inside the render pass. Therefore we still need to keep it around and fix the bugs.
The last commit fixes dEQP-VK.api.smoke.triangle
with TU_DEBUG=unaligned_store,forcebin,gmem
and the 3d path forced on. The first one fixes a bunch of depth-related CTS tests with TU_DEBUG=unaligned_store,gmem
.
Closes: #6437 (closed)