summaryrefslogtreecommitdiffstats
path: root/docs/viewperf.html
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2012-04-11 13:24:22 -0700
committerEric Anholt <eric@anholt.net>2012-04-19 17:44:55 -0700
commit137c5ece7d22bcbb017e52f00273b42a191f496d (patch)
treef02800a8e55df3554715ff5f466672c500531840 /docs/viewperf.html
parent34b17ee598e855e1090a455c2dac31ed8104954b (diff)
downloadexternal_mesa3d-137c5ece7d22bcbb017e52f00273b42a191f496d.zip
external_mesa3d-137c5ece7d22bcbb017e52f00273b42a191f496d.tar.gz
external_mesa3d-137c5ece7d22bcbb017e52f00273b42a191f496d.tar.bz2
i965: Convert live interval computation to using live variable analysis.
Our previous live interval analysis just said that anything in a loop was live for the whole loop. If you had to spill a reg in a loop, then we would consider the unspilled value live across the loop too, so you never made progress by spilling. Eventually it would consider everything in the loop unspillable and fail out. With the new analysis, things completely deffed and used inside the loop won't be marked live across the loop, so even if you spill/unspill something that used to be live across the loop, you reduce register pressure. But you usually don't even have to spill any more, since our intervals are smaller than before. This fixes assertion failure trying to compile the shader for the "glyphy" text rasterier and piglit glsl-fs-unroll-explosion. Improves Unigine Tropics performance 1.3% +/- 0.2% (n=5), by allowing more shaders to be compiled in 16-wide mode.
Diffstat (limited to 'docs/viewperf.html')
0 files changed, 0 insertions, 0 deletions