1bf215546Sopenharmony_ci# R600 shader from NIR
2bf215546Sopenharmony_ci
3bf215546Sopenharmony_ciThis code is an attempt to implement a NIR backend for r600.
4bf215546Sopenharmony_ci
5bf215546Sopenharmony_ciSupported hardware: Cayman, Evergreen and NI (tested on CAYMAN, CEDAR and BARTS)
6bf215546Sopenharmony_ci
7bf215546Sopenharmony_ciThanks to soft fp64 the OpenGL version is now 4.5 also for EG.
8bf215546Sopenharmony_ci
9bf215546Sopenharmony_cisb can bee enabled for nir, it still gives some improvements, e.g. with Xonotic
10bf215546Sopenharmony_ciThe aim is still to get rid of it.
11bf215546Sopenharmony_ci
12bf215546Sopenharmony_ci
13bf215546Sopenharmony_ci## State
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ciTODO:
16bf215546Sopenharmony_ci
17bf215546Sopenharmony_cipiglits gpu passes mostly like with TGSI, there are some fixes but also a few regressions.
18bf215546Sopenharmony_ci
19bf215546Sopenharmony_cipiglit:
20bf215546Sopenharmony_ci  * spilling arrays is broken on Barts and CAYMAN (but it works on Cedar)
21bf215546Sopenharmony_ci
22bf215546Sopenharmony_ci## Needed optimizations:
23bf215546Sopenharmony_ci
24bf215546Sopenharmony_ci  - peepholes:
25bf215546Sopenharmony_ci    - compare + set predicate / kill
26bf215546Sopenharmony_ci  - use clause local registers
27bf215546Sopenharmony_ci  - reduce register usage
28bf215546Sopenharmony_ci  - don't rely on the backend to schedule addr load and Index load as well
29bf215546Sopenharmony_ci  - don't rely on the backend to merge some alu groups
30bf215546Sopenharmony_ci
31bf215546Sopenharmony_ci## There are still some hangs
32bf215546Sopenharmony_ci
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ci
35