mesa/src/panfrost/bifrost
Alyssa Rosenzweig 90beea75f6 pan/bi: Don't reorder push with no_ubo_to_push
Otherwise, load_push_constant won't work properly. This could probably be made
to work if we tried hard enough, but we still don't want reordering for internal
(meta) shaders which are layed out deliberately.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16916>
2022-06-08 13:42:42 +00:00
..
test pan/bi: Add VAR_TEX fusing unit test 2022-05-30 17:48:59 -04:00
valhall pan/va: Unit test constant lowering pass 2022-06-06 18:10:24 +00:00
ISA.xml pan/bi: Model Valhall source formats 2022-05-30 17:49:44 -04: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 pan/bi: Add divergent intrinsic lowering pass 2021-05-07 18:20:30 +00:00
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: Use a progress loop for constant folding 2022-03-01 19:43:22 +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: Remove liveness metadata tracking 2022-05-19 16:08:26 +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 pan/bi: Assume future Valhall is 16-wide warps 2022-01-28 17:47:46 +00:00
bi_ra.c pan/bi: Rework Valhall register alignment 2022-06-02 17:13:16 +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 pan/bi: Don't reorder push with no_ubo_to_push 2022-06-08 13:42:42 +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 pan/bi: Extract MUX to CSEL optimization 2022-06-06 16:08:25 +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 constant lowering pass 2022-06-06 18:10:24 +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)