mirror of https://gitlab.freedesktop.org/mesa/mesa
9b2a383af8
Teach the scheduler about dual texturing to avoid an artifical "must not last" constraint causing suboptimal scheduling like clause_1: ds(0) nbb tex ncph dwb(0) { *NOP t0 +TEXC.skip t1, r0, r1, 0xf1e00144, @r4 *NOP t0 +NOP t1 } Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13723> |
||
---|---|---|
.. | ||
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_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_mod_props.c | ||
bi_opt_push_ubo.c | ||
bi_pack.c | ||
bi_packer.c.py | ||
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 |
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)