mesa/src/broadcom/compiler
Iago Toral Quiroga 4753a296f9 broadcom/compiler: don't always clear undefined bits from sub-32 integers
We only really use sub-32bit integers in conversions, so we can skip
clearing the MSB bits when we produce them by converting from larger types
(leaving these bits undefined) and only clear them when we convert from them
to larger types, since we don't have native opcodes to do these conversions
that would only access relevant bits, at least on Pi4. Also, document the
cases where we could do better for Pi5.

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39687>
2026-02-05 11:29:42 +00:00
..
meson.build v3d/compiler: Implement software blend lowering 2025-04-23 09:03:41 +00:00
nir_to_vir.c broadcom/compiler: don't always clear undefined bits from sub-32 integers 2026-02-05 11:29:42 +00:00
qpu_schedule.c broadcom/compiler: enable umul24 and imul24 ALU opcodes 2025-11-26 13:32:39 +00:00
qpu_validate.c broadcom/compiler: validate rtop + thrsw hazard 2024-06-27 06:43:09 +00:00
v3d_compiler.h broadcom/compiler: enable umul24 and imul24 ALU opcodes 2025-11-26 13:32:39 +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 treewide: simplify nir_def_rewrite_uses_after 2025-08-01 15:34:24 +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 v3d/compiler: Only lower logic ops for color buffers that exist 2025-04-23 09:03:41 +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/compiler: use skip_helpers with textures, UBOs and SSBOs 2026-01-08 12:59:44 +00:00
vir_dump.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01: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_constant_alu.c
vir_opt_copy_propagate.c broadcom/compiler: disallow copy propagation of FMOV exclusive modifiers 2024-07-10 08:29:50 +02:00
vir_opt_dead_code.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
vir_opt_redundant_flags.c broadcom/qpu: define v3d_qpu_input, use on v3d_qpu_alu_instr 2023-10-13 22:37:41 +00:00
vir_opt_small_immediates.c broadcom/compiler: don't use small immediates in geometry stages 2024-09-25 14:21:46 +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: only support v42 and v71 2023-11-02 11:59:08 +01:00