tree: dd1a5f703b7f2e0e61bb65beacf8f5e4f4604e85 [path history] [tgz]
  1. bifrost/
  2. test/
  3. valhall/
  4. bi_builder.h.py
  5. bi_helper_invocations.c
  6. bi_layout.c
  7. bi_liveness.c
  8. bi_lower_divergent_indirects.c
  9. bi_lower_swizzle.c
  10. bi_opcodes.c.py
  11. bi_opcodes.h.py
  12. bi_opt_constant_fold.c
  13. bi_opt_copy_prop.c
  14. bi_opt_cse.c
  15. bi_opt_dce.c
  16. bi_opt_dual_tex.c
  17. bi_opt_mod_props.c
  18. bi_opt_push_ubo.c
  19. bi_packer.c.py
  20. bi_pressure_schedule.c
  21. bi_print.c
  22. bi_print_common.c
  23. bi_print_common.h
  24. bi_printer.c.py
  25. bi_quirks.h
  26. bi_ra.c
  27. bi_test.h
  28. bi_validate.c
  29. bifrost.h
  30. bifrost_compile.c
  31. bifrost_compile.h
  32. bifrost_isa.py
  33. bifrost_nir.h
  34. bifrost_nir_algebraic.py
  35. bir.c
  36. cmdline.c
  37. compiler.h
  38. gen_disasm.py
  39. ISA.xml
  40. meson.build
  41. nodearray.h
  42. Notes.txt
  43. README.md
src/panfrost/compiler/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)