mesa/src/panfrost/bifrost
Eric Engestrom 2c67457e5e util/list: rename LIST_ENTRY() to list_entry()
This follows the Linux kernel convention, and avoids collision with
macOS header macro.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6751
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6840
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17772>
2022-07-28 10:10:44 +00:00
..
test pan/bi: Constant fold MKVEC.v2i8 2022-06-21 22:42:34 +00:00
valhall pan/va: Stall after ATEST 2022-07-13 21:05:35 +00:00
ISA.xml pan/bi: Model MKVEC.v2i8 2022-06-21 22:42:34 +00:00
Notes.txt
README.md
bi_builder.h.py pan/bi: Implement fquantize2f16 2022-04-25 16:29:31 +00:00
bi_helper_invocations.c pan/bi: Export helper termination analysis 2022-06-01 16:14:38 +00:00
bi_layout.c pan/bi: Rename bi_block->name to bi_block->index 2022-05-03 17:56:16 +00:00
bi_liveness.c pan/bi: Remove liveness metadata tracking 2022-05-19 16:08:26 +00:00
bi_lower_divergent_indirects.c
bi_lower_swizzle.c pan/bi: Scalarize bi_lower_swizzle 2022-05-19 16:08:26 +00:00
bi_lower_xfb.c pan/bi: Add transform feedback lowering pass 2022-06-04 14:35:56 +00:00
bi_opcodes.c.py pan/bi: Track instruction size in opcode table 2021-06-15 20:27:22 +00:00
bi_opcodes.h.py pan/bi: Make some headers compilable with C++ 2021-11-08 19:02:01 +00:00
bi_opt_constant_fold.c pan/bi: Constant fold MKVEC.v2i8 2022-06-21 22:42:34 +00:00
bi_opt_copy_prop.c pan/bi: Optimize split of collect 2022-05-19 16:08:26 +00:00
bi_opt_cse.c pan/bi: Allow CSEing LEA_BUF_IMM 2022-05-25 15:51:15 +00:00
bi_opt_dce.c pan/bi: Mark bi_postra_liveness_ins as MUST_CHECK 2022-06-21 22:19:59 +00:00
bi_opt_dual_tex.c pan/bi: Add dual texture fusing pass 2021-11-12 16:30:02 +00:00
bi_opt_message_preload.c pan/bi: Simplify register precolouring in the IR 2022-05-19 16:08:26 +00:00
bi_opt_mod_props.c pan/bi: Fuse result types 2022-05-27 12:14:22 +00:00
bi_opt_push_ubo.c pan/bi: Create COLLECT during isel 2022-05-19 16:08:26 +00:00
bi_pack.c pan/bi: Implement fquantize2f16 2022-04-25 16:29:31 +00:00
bi_packer.c.py pan/bi: Use consistent modifier lists in packing 2022-03-25 19:00:13 +00:00
bi_pressure_schedule.c pan/bi: Schedule for pressure pre-RA 2022-05-25 14:40:12 +00:00
bi_print.c pan/bi: Use a dynarray for predecessors 2022-05-03 17:56:16 +00:00
bi_print_common.c
bi_print_common.h
bi_printer.c.py pan/bi: Print flow control on instructions 2022-06-01 16:14:38 +00:00
bi_quirks.h panfrost: Move bifrost_lanes_per_warp to common 2022-07-08 01:14:55 +00:00
bi_ra.c pan/bi: Require ATEST coverage mask input in R60 2022-07-13 21:05:35 +00:00
bi_schedule.c pan/bi: Extract MUX to CSEL optimization 2022-06-06 16:08:25 +00:00
bi_scoreboard.c pan/bi: Use a dynarray for predecessors 2022-05-03 17:56:16 +00:00
bi_test.h pan/bi: Extract bit_block helper 2022-06-01 16:14:38 +00:00
bi_validate.c pan/bi: Validate vector widths 2022-05-19 16:08:26 +00:00
bifrost.h pan/bi: Schedule for pressure pre-RA 2022-05-25 14:40:12 +00:00
bifrost_compile.c panfrost: Move bifrost_lanes_per_warp to common 2022-07-08 01:14:55 +00:00
bifrost_compile.h gallium/drivers: set force_indirect_unrolling_sampler for all required drivers 2022-05-17 02:12:21 +00:00
bifrost_isa.py pan/bi: Imply round mode most of the time 2022-04-07 18:03:57 +00:00
bifrost_nir.h pan/bi: Add transform feedback lowering pass 2022-06-04 14:35:56 +00:00
bifrost_nir_algebraic.py pan/bi: Switch to lower_bool_to_bitsize 2022-02-19 03:02:10 +00:00
bir.c pan/bi: Extract MUX to CSEL optimization 2022-06-06 16:08:25 +00:00
cmdline.c panfrost,panvk: Make fixed_sysval_ubo < 0 mean compiler-assigned 2022-05-12 10:53:15 +00:00
compiler.h util/list: rename LIST_ENTRY() to list_entry() 2022-07-28 10:10:44 +00:00
disassemble.c pan/bi: Fix format specifiers in disassembler 2021-08-25 20:03:08 +00:00
disassemble.h pan/bi: Print the clause of branch targets 2021-08-01 13:04:20 +00:00
gen_disasm.py pan/bi: Make disassembler build reproducibly 2022-03-05 14:55:00 -05:00
meson.build pan/va: Unit test va_mark_last 2022-06-21 22:19:59 +00:00
nodearray.h pan/bi: Add nodearray datastructure 2022-06-02 17:13:16 +00:00

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)