e2b4f9aac38b6fcd8eacef24afab47e9d346ba22 |
|
06-Sep-2012 |
Eric Anholt <eric@anholt.net> |
i965: Fix virtual_grf_interferes() between calculate_live_intervals() and DCE. This fixes the blue zombies bug in l4d2. NOTE: This is a candidate for the 9.0 branch. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 39aca5076fa0e31d418b481167063933f5f7b74f)
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
83933606596a0197e6cd1740cb439eaf055e544d |
|
05-Jun-2012 |
Eric Anholt <eric@anholt.net> |
i965/fs: Remove a dead member from live variables analysis. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
a6411520b40d59a8806289c7aaea4a6b26a54443 |
|
06-Jul-2012 |
Eric Anholt <eric@anholt.net> |
i965/fs: Rename virtual_grf_next to virtual_grf_count. "count" is a more useful name, since most of the time we're using it for looping over the variables. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
40cd60a315542f1b1f35ebab836b52716c131d6c |
|
07-Jul-2012 |
Eric Anholt <eric@anholt.net> |
i965/fs: Move a block out of a loop in live variables setup. This was accidentally copy-and-pasted inside. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
f42cdc7984cb1db4a13f87daf60d374d19eb9b0a |
|
08-May-2012 |
Eric Anholt <eric@anholt.net> |
i965/fs: Remove the requirement of no dead code for interference checks. This will be convenient when I want to comment out optimization code to see the raw program being optimized, but more importantly will let the interference check be used during optimization. Acked-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
f7a71e2570053205eb603aa04b8c52d4f54d8e4c |
|
08-May-2012 |
Eric Anholt <eric@anholt.net> |
i965/fs: When doing no work for live interval calculation, do no allocation. When I had a bug causing the backend to never finish optimizing, it also sent me deep into swap. This avoids extra memory allocation per trip through optimization, and thus may reduce the peak memory allocation of the driver even in the success case. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
137c5ece7d22bcbb017e52f00273b42a191f496d |
|
11-Apr-2012 |
Eric Anholt <eric@anholt.net> |
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.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
34b17ee598e855e1090a455c2dac31ed8104954b |
|
11-Apr-2012 |
Eric Anholt <eric@anholt.net> |
i965: Move the old live interval analysis code next to the new live vars code. I'm about to replace the insides of this using the new analysis.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|
0d6c96a5c34de3ffdd6167282d7520dfd3c863cb |
|
11-Apr-2012 |
Eric Anholt <eric@anholt.net> |
i965: Add support for live variable analysis using dataflow analysis.
/external/mesa3d/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp
|