mesa/src/panfrost/compiler
Alyssa Rosenzweig 0b4c673810 pan/bi: Fix incorrect compilation of fsat(reg.yx)
Future changes to nir_lower_blend cause fsat(reg.yx) instructions to be
generated, which correspond to "FCLAMP.v2f16 x.h10" pseudoinstructions. These
get their swizzles lowered, but we forgot to clear the swizzle out, so we end up
with extra swap (cancelling out the intended swizzle).

Fix the lowering logic.

Fixes: ac636f5adb ("pan/bi: Use FCLAMP pseudo op for clamp prop")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20683>
(cherry picked from commit ed46c617b0)
2023-01-17 10:16:39 -08:00
..
bifrost pan/bi: Move Bifrost specific C code to src/compiler/bifrost 2023-01-02 17:54:49 +00:00
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 pan/bi: Fix incorrect compilation of fsat(reg.yx) 2023-01-17 10:16:39 -08:00
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_mod_props.c
bi_opt_push_ubo.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_test.h
bi_validate.c
bifrost.h
bifrost_compile.c pan/bi: Move Bifrost specific C code to src/compiler/bifrost 2023-01-02 17:54:49 +00:00
bifrost_compile.h
bifrost_isa.py
bifrost_nir.h
bifrost_nir_algebraic.py
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
gen_disasm.py pan/bi: Move Bifrost specific C code to src/compiler/bifrost 2023-01-02 17:54:49 +00:00
meson.build pan/bi: Move Bifrost specific C code to src/compiler/bifrost 2023-01-02 17:54:49 +00:00
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)