Vertex Shader has a store_out lowering pass that converts gallium driver locations in offsets inside the VPM. One of the consequences is that these offsets are consecutives; that is, if the VS stores VARYING_SLOT_VAR0.xyz and VARYING_SLOT_VAR1.xyzw, there isn't a hole in the VPM offsets for the un-stored VARYING_SLOT_VAR0.w. Thus we need to change how the VPM offset is computed in the Geometry Shader when loading the inputs. This bug is exposed by !9050. v2 (Iago): - Include explanatory comment. - Use assert. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10129> |
||
|---|---|---|
| .. | ||
| meson.build | ||
| nir_to_vir.c | ||
| qpu_schedule.c | ||
| qpu_validate.c | ||
| v3d33_tex.c | ||
| v3d33_vpm_setup.c | ||
| v3d40_tex.c | ||
| v3d_compiler.h | ||
| v3d_nir_lower_image_load_store.c | ||
| v3d_nir_lower_io.c | ||
| v3d_nir_lower_line_smooth.c | ||
| v3d_nir_lower_logic_ops.c | ||
| v3d_nir_lower_robust_buffer_access.c | ||
| v3d_nir_lower_scratch.c | ||
| v3d_nir_lower_txf_ms.c | ||
| vir.c | ||
| vir_dump.c | ||
| vir_live_variables.c | ||
| vir_opt_constant_alu.c | ||
| vir_opt_copy_propagate.c | ||
| vir_opt_dead_code.c | ||
| vir_opt_redundant_flags.c | ||
| vir_opt_small_immediates.c | ||
| vir_register_allocate.c | ||
| vir_to_qpu.c | ||