mirror of https://gitlab.freedesktop.org/mesa/mesa
847361ba07
Now the state tracker's responsible to lower away for us (and the state tracker can do it correctly, our implementation is incorrect with a strict reading of the Gallium contract). Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18658> |
||
---|---|---|
.. | ||
test | ||
valhall | ||
ISA.xml | ||
Notes.txt | ||
README.md | ||
bi_builder.h.py | ||
bi_helper_invocations.c | ||
bi_layout.c | ||
bi_liveness.c | ||
bi_lower_divergent_indirects.c | ||
bi_lower_swizzle.c | ||
bi_lower_xfb.c | ||
bi_opcodes.c.py | ||
bi_opcodes.h.py | ||
bi_opt_constant_fold.c | ||
bi_opt_copy_prop.c | ||
bi_opt_cse.c | ||
bi_opt_dce.c | ||
bi_opt_dual_tex.c | ||
bi_opt_message_preload.c | ||
bi_opt_mod_props.c | ||
bi_opt_push_ubo.c | ||
bi_pack.c | ||
bi_packer.c.py | ||
bi_pressure_schedule.c | ||
bi_print.c | ||
bi_print_common.c | ||
bi_print_common.h | ||
bi_printer.c.py | ||
bi_quirks.h | ||
bi_ra.c | ||
bi_schedule.c | ||
bi_scoreboard.c | ||
bi_test.h | ||
bi_validate.c | ||
bifrost.h | ||
bifrost_compile.c | ||
bifrost_compile.h | ||
bifrost_isa.py | ||
bifrost_nir.h | ||
bifrost_nir_algebraic.py | ||
bir.c | ||
cmdline.c | ||
compiler.h | ||
disassemble.c | ||
disassemble.h | ||
gen_disasm.py | ||
meson.build | ||
nodearray.h |
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)