mesa/src/panfrost/compiler
Marek Olšák 8def3f865d agx,freedreno,intel,lima,panfrost,svga,virgl,zink: fix supports_indirect_inputs
The GLSL compiler always lowers inputs to temps for VS and GS, so exclude
them from driver support because the GLSL compiler will no longer do that
unconditionally. Thus, indirect VS and GS inputs are completely untested
and broken in a lot of drivers.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35945>
2025-07-08 06:11:42 +00:00
..
bifrost panfrost: define bi_swizzle alias values 2025-04-10 10:15:46 -07:00
test bi: Rewrite dead code elimination 2024-08-20 10:03:30 +02:00
valhall pan/va: allow using both FAU and small constants in the same instruction 2025-05-28 22:21:46 +00:00
bi_builder.h.py panfrost: bi_builder.h.py: stop generating unneeded parentheses 2025-05-22 14:39:32 +00:00
bi_helper_invocations.c panfrost: Add BI_OPCODE_WMASK to bi_instr_uses_helpers 2025-02-28 08:55:32 +00:00
bi_layout.c
bi_liveness.c panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bi_lower_divergent_indirects.c pan,nir: introduce load_attribute_pan 2024-12-18 08:33:16 +00:00
bi_lower_swizzle.c panfrost/va: valhall-specific swizzle lowering 2025-04-10 10:15:46 -07:00
bi_opcodes.c.py pan/bi: ignore ftz mode when scheduling int instructions 2025-04-10 16:21:09 +00:00
bi_opcodes.h.py pan/bi: ignore ftz mode when scheduling int instructions 2025-04-10 16:21:09 +00:00
bi_opt_constant_fold.c panfrost: fix shift overflow in bi_fold_constant 2024-01-26 09:40:48 +00:00
bi_opt_copy_prop.c panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
bi_opt_cse.c panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
bi_opt_dce.c panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
bi_opt_dual_tex.c
bi_opt_mod_props.c panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
bi_opt_push_ubo.c pan: Use a consistent pan_ prefix across src/panfrost/* 2025-05-21 14:58:20 +02:00
bi_packer.c.py panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
bi_pressure_schedule.c pan/bi: rework memory barriers 2025-06-13 12:05:02 +02:00
bi_print.c panfrost: Reformat using the new style 2023-05-29 21:06:12 +00:00
bi_print_common.c
bi_print_common.h
bi_printer.c.py panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bi_quirks.h
bi_ra.c panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bi_ra_ssa.c panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bi_spill_ssa.c panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bi_swizzles.c.py panfrost: use bifrost instruction table for bi_lower_swizzle 2025-04-10 10:15:46 -07:00
bi_swizzles.h panfrost: use bifrost instruction table for bi_lower_swizzle 2025-04-10 10:15:46 -07:00
bi_test.h pan: Use a consistent pan_ prefix across src/panfrost/* 2025-05-21 14:58:20 +02:00
bi_validate.c panvk: fix typo in printf in bi_validate 2025-06-20 08:29:54 +00:00
bifrost.h panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bifrost_compile.c panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
bifrost_compile.h agx,freedreno,intel,lima,panfrost,svga,virgl,zink: fix supports_indirect_inputs 2025-07-08 06:11:42 +00:00
bifrost_isa.py panfrost: Update bifrost_isa.py to support saturate for valhall 2025-05-22 14:39:32 +00:00
bifrost_nir.h pan/bi: Lower removed instructions in algebraic on v11+ 2025-02-19 20:13:19 +00:00
bifrost_nir_algebraic.py pan/bi: Lower ffract in bifrost_nir_algebraic on v11+ 2025-05-15 07:12:44 +00:00
bir.c pan/bi: rework memory barriers 2025-06-13 12:05:02 +02:00
cmdline.c
compiler.h panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
gen_disasm.py bi: Move bi_disasm definitions to their own header 2024-06-17 07:31:50 +00:00
IR_pseudo.xml pan/bi: rework memory barriers 2025-06-13 12:05:02 +02:00
meson.build panfrost: spill registers in SSA form 2025-07-07 19:49:37 +00:00
nodearray.h
Notes.txt
README.md

Bifrost compiler

Register file

Defined partially in software, partially in hardware.

Blend shaders

R0 - R3: input (color #0) R4 - R7: input (color #1) R8 - R15: general purpose R48: return address

Fragment

Anything live during BLEND must respect blend shader registers.

R0 - R3: preloaded (message #0) R4 - R7: preloaded (message #1) R57 - R63: preloaded (various)

R0 - R15: general purpose (full threads) R48 - R63: general purpose (full threads)

R32 - R47: general purpose (half threads, or v6)