mesa/src/broadcom/compiler
Alejandro Piñeiro cea6d7ada5 v3d: expose GL_KHR_shader_subgroup for v71+
All the compiler support was implemented as part of the v3dv
implementation (see commit 31e8740808 and MR#27211).

We are using the same size/supported_stages and mostly the same
supported features, so probably at some point it would be good to have
a common place for that info. Zink reuses their definitions, but as
far as I see it does that because the PIPE and equivalent VK
definitions has the same values, that seems somewhat fragile.

We don't support all features, and in order to support arithmetic we
need to enable a lowering.

Using CTS, right now we are passing 1023 tests out of 6053 (the rest
are skipped).

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37621>
2025-10-08 10:48:41 +00:00
..
meson.build v3d/compiler: Implement software blend lowering 2025-04-23 09:03:41 +00:00
nir_to_vir.c v3d/compiler: implement normalised to float conversions 2025-09-30 12:48:42 +00:00
qpu_schedule.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
qpu_validate.c broadcom/compiler: validate rtop + thrsw hazard 2024-06-27 06:43:09 +00:00
v3d_compiler.h v3d/compiler: Implement 16bit normalised render targets. 2025-09-30 12:48:42 +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 v3d/compiler: Implement software blend lowering 2025-04-23 09:03:41 +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 build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +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 build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
vir.c v3d: expose GL_KHR_shader_subgroup for v71+ 2025-10-08 10:48:41 +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 v3dv/v3d: Fix copyright holder to Raspberry Pi Ltd 2022-02-18 11:50:07 +01:00
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