r300: Request NIR shaders from mesa/st and use NIR-to-TGSI.
This brings us into parity on state tracker paths with most other supported drivers, and a lot of additional optimization on our shaders. Results on a subset of shader-db that doesn't crash: instructions in affected programs: 59502 -> 47991 (-19.35%) vinst in affected programs: 17633 -> 15197 (-13.82%) sinst in affected programs: 9296 -> 7319 (-21.27%) flowcontrol in affected programs: 627 -> 310 (-50.56%) presub in affected programs: 4220 -> 1554 (-63.18%) temps in affected programs: 5775 -> 8570 (48.40%) lits in affected programs: 215 -> 37 (-82.79%) The temps (register usage) increase is unfortunate, but it seems that instruction counts tend to be our limit before reg counts are. Fixes: #3354 Reviewed-by:Marek Olšák <marek.olsak@amd.com> Part-of: <!14096>
Showing
- src/gallium/drivers/r300/ci/r300-rv515-fails.txt 29 additions, 67 deletionssrc/gallium/drivers/r300/ci/r300-rv515-fails.txt
- src/gallium/drivers/r300/ci/r300-rv515-skips.txt 3 additions, 0 deletionssrc/gallium/drivers/r300/ci/r300-rv515-skips.txt
- src/gallium/drivers/r300/meson.build 1 addition, 1 deletionsrc/gallium/drivers/r300/meson.build
- src/gallium/drivers/r300/r300_debug.c 1 addition, 0 deletionssrc/gallium/drivers/r300/r300_debug.c
- src/gallium/drivers/r300/r300_screen.c 127 additions, 4 deletionssrc/gallium/drivers/r300/r300_screen.c
- src/gallium/drivers/r300/r300_screen.h 1 addition, 1 deletionsrc/gallium/drivers/r300/r300_screen.h
- src/gallium/drivers/r300/r300_state.c 17 additions, 2 deletionssrc/gallium/drivers/r300/r300_state.c
Loading
Please register or sign in to comment