mesa/src/broadcom/compiler
Zan Dobersek 7fd5f76393 nir/lower_vars_to_scratch: calculate threshold-limited variable size separately
ir3's lowering of variables to scratch memory has to treat 8-bit values as
16-bit ones when comparing such value's size against the given threshold
since those values are handled through 16-bit half-registers. But those
values can still use natural 8-bit size and alignment for storing inside
scratch memory.

nir_lower_vars_to_scratch now accepts two size-and-alignment functions,
one used for calculating the variable size and the other for calculating
the size and alignment needed for storing inside scratch memory. Non-ir3
uses of this pass can just duplicate the currently-used function. ir3
provides a separate variable-size function that special-cases 8-bit types.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29875>
2024-08-07 14:32:28 +00:00
..
meson.build format: Generate endian-independent format aliases 2024-07-19 13:50:42 +00:00
nir_to_vir.c broadcom/compiler: emit instructions producing flags earlier 2024-08-07 09:28:39 +02:00
qpu_schedule.c broadcom/compiler: use unsigned types when performing bitshifting 2024-07-01 08:02:07 +00:00
qpu_validate.c broadcom/compiler: validate rtop + thrsw hazard 2024-06-27 06:43:09 +00:00
v3d_compiler.h broadcom/compiler: handle variable shared memory 2024-06-26 10:04:03 +00:00
v3d_nir_lower_algebraic.py broadcom/compiler: add generated v3d_nir_lower_algebraic 2024-06-26 10:04:02 +00:00
v3d_nir_lower_image_load_store.c broadcom: follow version naming convention 2024-07-08 11:19:31 +00:00
v3d_nir_lower_io.c broadcom/compiler: implement load_kernel_input 2024-06-26 10:04:03 +00:00
v3d_nir_lower_line_smooth.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
v3d_nir_lower_load_store_bitsize.c broadcom/compiler: handle up to vec16 load_uniforms 2024-06-26 10:04:03 +00:00
v3d_nir_lower_logic_ops.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04: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: simplify v3d_vir_emit_tex 2024-05-09 09:29:44 +02:00
vir.c nir/lower_vars_to_scratch: calculate threshold-limited variable size separately 2024-08-07 14:32:28 +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 broadcom/compiler: drop multop if we dce umul24 2024-06-27 06:43:09 +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: only support v42 and v71 2023-11-02 11:59:08 +01:00
vir_register_allocate.c broadcom/compiler: fix per-quad spilling 2024-06-27 06:43:09 +00:00
vir_to_qpu.c broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00