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