r300: implement bias presubtract
RV530 shader-db: total instructions in shared programs: 129468 -> 128859 (-0.47%) instructions in affected programs: 34432 -> 33823 (-1.77%) helped: 362 HURT: 56 total presub in shared programs: 5411 -> 7635 (41.10%) presub in affected programs: 2069 -> 4293 (107.49%) helped: 8 HURT: 468 total temps in shared programs: 16918 -> 16944 (0.15%) temps in affected programs: 2022 -> 2048 (1.29%) helped: 73 HURT: 79 total lits in shared programs: 3555 -> 2913 (-18.06%) lits in affected programs: 2346 -> 1704 (-27.37%) helped: 479 HURT: 0 total cycles in shared programs: 194675 -> 194124 (-0.28%) cycles in affected programs: 62939 -> 62388 (-0.88%) helped: 343 HURT: 84 Also dEQP-GLES2.functional.shaders.random.trigonometric.fragment.15 now fits into the instruction limit on RV370. Reviewed-by:Filip Gawin <filip.gawin@collabora.com> Part-of: <mesa/mesa!24830>
- src/gallium/drivers/r300/ci/r300-rv370-fails.txt 0 additions, 1 deletionsrc/gallium/drivers/r300/ci/r300-rv370-fails.txt
- src/gallium/drivers/r300/ci/r300-rv370-swtcl-fails.txt 0 additions, 1 deletionsrc/gallium/drivers/r300/ci/r300-rv370-swtcl-fails.txt
- src/gallium/drivers/r300/compiler/r300_nir_algebraic.py 6 additions, 0 deletionssrc/gallium/drivers/r300/compiler/r300_nir_algebraic.py
- src/gallium/drivers/r300/compiler/radeon_optimize.c 85 additions, 2 deletionssrc/gallium/drivers/r300/compiler/radeon_optimize.c