mesa/src/panfrost/compiler
Mary Guillemard a6496e3a16 panvk: Properly propagate helper invocations requirement
Previous changes of the helper invocation pass fixed missing conditional
control flow tracking but this is not enough.

Propagation of the dependency chain also need to handle value outside of
direct predecessors.

This fix "dEQP-VK.graphicsfuzz.cov-nested-loops-sample-opposite-corners"
for real this time.

Fixes: 33fef27356 ("bi: Do not mark tex ops as skip when dest is used by control flow")
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30754>
2024-08-21 18:47:02 +00:00
..
bifrost panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
test bi: Rewrite dead code elimination 2024-08-20 10:03:30 +02:00
valhall panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
bi_builder.h.py panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
bi_helper_invocations.c panvk: Properly propagate helper invocations requirement 2024-08-21 18:47:02 +00:00
bi_layout.c
bi_liveness.c
bi_lower_divergent_indirects.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
bi_lower_swizzle.c pan/bi: Lower swizzles for 8-bit CSEL 2023-04-13 01:49:33 +00:00
bi_opcodes.c.py panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
bi_opcodes.h.py panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +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
bi_opt_cse.c bi: Alloc replacement array once in opt_cse 2024-05-24 11:16:31 +02:00
bi_opt_dce.c bi: Rewrite dead code elimination 2024-08-20 10:03:30 +02:00
bi_opt_dual_tex.c
bi_opt_mod_props.c
bi_opt_push_ubo.c pan/bi: Lower ubo table in indices for Valhall 2024-03-11 09:23:56 +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
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: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
bi_quirks.h
bi_ra.c panfrost: Reformat using the new style 2023-05-29 21:06:12 +00:00
bi_test.h panfrost: Reformat using the new style 2023-05-29 21:06:12 +00:00
bi_validate.c
bifrost.h
bifrost_compile.c pan/bi: Support native layer_id store/load on Valhall 2024-08-20 13:20:51 +00:00
bifrost_compile.h pan/bi: switch to derivative intrinsics 2024-08-14 01:34:54 +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: Export bifrost_nir_lower_load_output 2023-03-23 23:53:46 +00:00
bifrost_nir_algebraic.py pan/bi: switch to derivative intrinsics 2024-08-14 01:34:54 +00:00
bir.c
cmdline.c pan/bi: Move Bifrost specific C code to src/compiler/bifrost 2023-01-02 17:54:49 +00:00
compiler.h bi: Rewrite dead code elimination 2024-08-20 10:03:30 +02:00
gen_disasm.py bi: Move bi_disasm definitions to their own header 2024-06-17 07:31:50 +00:00
IR_pseudo.xml panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +00:00
meson.build panfrost: split pseudo instructions from Bifrost and Valhall 2024-08-20 12:18:19 +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)