v3d: Respect nir_intrinsic_store_output's write_mask.

Usually lower_io_to_temps sorts this out for us so you only get full
writes, but we should be able to handle it without that.  Avoids a
regression with the mesa/st PBO VS with layer output.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23114>
This commit is contained in:
Emma Anholt
2023-06-01 12:28:33 -07:00
committed by Marge Bot
parent 3aa1aed237
commit 0cffef54e5
+2
View File
@@ -223,6 +223,8 @@ v3d_nir_lower_vpm_output(struct v3d_compile *c, nir_builder *b,
int vpm_offset =
v3d_varying_slot_vpm_offset(c, location, start_comp + i);
if (!(nir_intrinsic_write_mask(intr) & (1 << i)))
continue;
if (vpm_offset == -1)
continue;