mesa/src/broadcom/compiler
Iago Toral Quiroga cc7934a89b broadcom/compiler: fix lane selection for subgroups in fragment shaders
It seems the hardware behavior for this is as per-spec and we are
supposed to identify as active entire quads. Particularly, there
are some derivative tests with dynamic control flow that use
subgroup ballot and require this.

However, we still need to exclude terminted lanes (OpTerminate). For
that, we keep track of the sample mask at the start of a fagment
shader start and compare it with the current sample mask.

Fixes: ('broadcom/compiler: support subgroup reduction operations from fragment shaders')
Fixes: dEQP-VK.glsl.derivate.dynamic_loop.*
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27409>
2024-02-14 08:02:41 +01:00
..
meson.build broadcom/compiler: remove include of gallium headers from meson.build 2023-12-12 10:03:11 +00:00
nir_to_vir.c broadcom/compiler: fix lane selection for subgroups in fragment shaders 2024-02-14 08:02:41 +01:00
qpu_schedule.c broadcom/compiler: don't move subgroup reduction instructions above setmsf 2024-01-31 10:06:06 +00:00
qpu_validate.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00
v3d_compiler.h broadcom/compiler: fix lane selection for subgroups in fragment shaders 2024-02-14 08:02:41 +01:00
v3d_nir_lower_image_load_store.c broadcom/compiler: fix coverity warning (unitialized pointer read) 2024-01-22 16:46:57 +01:00
v3d_nir_lower_io.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00
v3d_nir_lower_line_smooth.c treewide: Use nir_before/after_impl for more elaborate cases 2023-08-30 19:30:58 +00:00
v3d_nir_lower_load_store_bitsize.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -04:00
v3d_nir_lower_logic_ops.c nir: Drop most uses if nir_instr_rewrite_src() 2023-08-18 01:00:15 +00:00
v3d_nir_lower_scratch.c treewide: Drop nir_ssa_for_src users 2023-09-18 10:25:17 -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: set properly lod query 2023-11-02 11:59:08 +01:00
vir.c broadcom/compiler: support subgroup quad 2024-01-31 10:06:06 +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: only support v42 and v71 2023-11-02 11:59:08 +01:00
vir_opt_dead_code.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01: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: only support v42 and v71 2023-11-02 11:59:08 +01:00
vir_register_allocate.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00
vir_to_qpu.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00