On 03/16/2018 09:58 AM, Timothy Arceri wrote:
On 16/03/18 19:34, Samuel Pitoiset wrote:On 03/16/2018 09:15 AM, Timothy Arceri wrote:On 16/03/18 18:45, Samuel Pitoiset wrote:shader stats?I didn't bother posting them because they are misleading. There are a few instructions remove here and there but the main changes are due to loop unrolling.Totals from affected shaders: SGPRS: 640 -> 664 (3.75 %) VGPRS: 352 -> 368 (4.55 %) Spilled SGPRs: 6 -> 8 (33.33 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 24200 -> 36216 (49.65 %) bytes LDS: 0 -> 0 (0.00 %) blocks Max Waves: 52 -> 51 (-1.92 %) Wait states: 0 -> 0 (0.00 %)Mmmh, the stats don't seem really good to me. Which games are affected by this change?Just Tomb Raider.As you know, we shouldn't *always* trust shader stats. Though, it would quite appreciated to run some benchmarks in this situation.I've benchmarked it and there was no change. The stats are misleading because register and code size increase but that is an expected outcome of loop unrolling. At the end of the day this is a clear simplification of logic, any bad outcome would indicate we should tune loop unrolling rather than reject this patch IMO.
No changes with pipeline-db, go for it. Thanks!
On 03/16/2018 06:48 AM, Timothy Arceri wrote:These can be found in the Tomb Raider shaders, eliminating them helps unroll more loops. --- src/compiler/nir/nir_opt_algebraic.py | 1 + 1 file changed, 1 insertion(+)diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.pyindex c9575e6be4..2148bc121b 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -152,6 +152,7 @@ optimizations = [ (('inot', ('ige', a, b)), ('ilt', a, b)), (('inot', ('ieq', a, b)), ('ine', a, b)), (('inot', ('ine', a, b)), ('ieq', a, b)), + (('ine', ('b2i', 'a@bool'), 0), 'a'), # 0.0 >= b2f(a) # b2f(a) <= 0.0
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev