mesa/src/panfrost/compiler
2025-05-08 02:54:12 +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 panfrost/va: use 'lane' modifier for MKVEC.v2i8 2025-04-10 10:15:46 -07:00
bi_builder.h.py panfrost: implement float controls rounding mode 2025-04-10 16:21:09 +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
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/bi: push blend constants to FAU 2025-05-07 07:55:44 +00: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 panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
bi_print.c
bi_print_common.c
bi_print_common.h
bi_printer.c.py panfrost: add bi_swizzle values for unused swizzles 2025-04-10 10:15:46 -07:00
bi_quirks.h
bi_ra.c pan/bi: bump iter_count to 2000 2025-01-22 23:19:18 +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
bi_validate.c
bifrost.h pan/bi: Expose the packed TextureOperationDescriptor in bifrost_texture_operation 2024-11-05 11:20:21 +00:00
bifrost_compile.c nir: split *_accessed_indirectly* bitmasks into *_read/written_indirectly* 2025-05-08 02:54:12 +00:00
bifrost_compile.h pan/{bi,va}: Lower terminate to demote 2025-04-29 13:31:47 +00:00
bifrost_isa.py panfrost: Update bifrost_isa.py to handle some Valhall constructs 2024-08-20 12:18:19 +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: Properly lower add/sub with saturation on v11+ 2025-04-29 16:07:19 +00:00
bir.c panfrost: use an accessor function to read from bi_opcode_props 2025-02-20 23:33:00 +00:00
cmdline.c
compiler.h panfrost: add bi_swizzle values for unused swizzles 2025-04-10 10:15:46 -07: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: add a MEMORY_BARRIER pseudo-instruction 2025-01-22 21:49:52 +00:00
meson.build panfrost: use bifrost instruction table for bi_lower_swizzle 2025-04-10 10:15:46 -07: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)