[Mesa-dev] [PATCH v2] nir: add a comparison simplification
Samuel Pitoiset
samuel.pitoiset at gmail.com
Fri Mar 16 08:34:28 UTC 2018
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?
As you know, we shouldn't *always* trust shader stats. Though, it would
quite appreciated to run some benchmarks in this situation.
>
>
>>
>> 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.py
>>> index 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 at bool'), 0), 'a'),
>>> # 0.0 >= b2f(a)
>>> # b2f(a) <= 0.0
>>>
More information about the mesa-dev
mailing list