tree: e2cbb9df382d29c41691c04f0485284efa08e1d1 [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_ra_ssa.c
  28. bi_spill_ssa.c
  29. bi_swizzles.c.py
  30. bi_swizzles.h
  31. bi_test.h
  32. bi_validate.c
  33. bifrost.h
  34. bifrost_compile.c
  35. bifrost_compile.h
  36. bifrost_isa.py
  37. bifrost_nir.h
  38. bifrost_nir_algebraic.py
  39. bir.c
  40. cmdline.c
  41. compiler.h
  42. gen_disasm.py
  43. IR_pseudo.xml
  44. meson.build
  45. nodearray.h
  46. Notes.txt
  47. 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)