mesa/src/broadcom/compiler
Jose Maria Casanova Crespo 31c8e14df3 broadcom/compiler: MULTOP in branch delay slots doesn't generate RTOP hazard
On unconditional branches qpu_set_branch_targets() can fill the delay slots
with a copy of the first instructions of the successor block.

As the qpu validator is sequential it would detect an incorrect hazard
when the MULTOP was copied but the UMUL24 wasn't.

This was identified in debug build when running gfxbench5.aztec_ruins_vk.

Assisted-by: Claude Opus 4.6
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40923>
2026-04-14 16:34:54 +00:00
..
meson.build broadcom/compiler: optimize alu(shr(x, 16).l) to alu(x.h) 2026-02-05 11:29:42 +00:00
nir_to_vir.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
qpu_schedule.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
qpu_validate.c broadcom/compiler: MULTOP in branch delay slots doesn't generate RTOP hazard 2026-04-14 16:34:54 +00:00
v3d_compiler.h broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
v3d_nir_lower_algebraic.py broadcom/compiler: generate mali opcodes for clamping on Pi5 2024-10-03 09:02:08 +00:00
v3d_nir_lower_blend.c nir/lower_blend: Move the format to nir_lower_blend_rt 2026-01-19 21:33:14 +00:00
v3d_nir_lower_image_load_store.c broadcom/compiler: use f2f32 when lowering image load 2026-02-06 06:12:36 +00:00
v3d_nir_lower_io.c nir/validate: expand IO intrinsic validation with nir_io_semantics 2025-11-02 02:21:46 +00:00
v3d_nir_lower_line_smooth.c treewide: Switch to nir_progress 2025-02-26 15:19:53 +00:00
v3d_nir_lower_load_output.c v3d/compiler: remove requirement for format information for fbfetch 2025-05-08 06:25:22 +00:00
v3d_nir_lower_load_store_bitsize.c broadcom/compiler: ensure offset source exists 2024-12-16 10:56:38 +00:00
v3d_nir_lower_logic_ops.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
v3d_nir_lower_scratch.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
v3d_nir_lower_txf_ms.c nir: Take a nir_def * in nir_tex_instr_add_src() 2023-08-18 01:00:14 +00:00
v3d_packing.c broadcom/compiler: add v3d_pack_unnormalized_coordinates helper 2023-10-31 13:00:34 +01:00
v3d_tex.c broadcom/compiler: use skip_helpers with textures, UBOs and SSBOs 2026-01-08 12:59:44 +00:00
vir.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_dump.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_live_variables.c broadcom/compiler: update payload registers handling when computing live intervals 2023-10-13 22:37:42 +00:00
vir_opt_alu.c broadcom/compiler: optimize alu(shr(x, 16).l) to alu(x.h) 2026-02-05 11:29:42 +00:00
vir_opt_constant_alu.c
vir_opt_copy_propagate.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_opt_dead_code.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_opt_redundant_flags.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_opt_small_immediates.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vir_register_allocate.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
vir_to_qpu.c broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00