[Mesa-dev] V2 GLSL IR & TGSI on-disk shader cache

Nicolai Hähnle nhaehnle at gmail.com
Fri Feb 17 08:26:57 UTC 2017


On 16.02.2017 23:55, Timothy Arceri wrote:
> On 17/02/17 01:27, Nicolai Hähnle wrote:
>> Hi Timothy,
>>
>> thank you for the update. I had a look at all the patches now, and
>> especially the glsl parts looks basically ready to go. There are only
>> minor comments for which I don't need a full resend of the series, and
>> an open question on patch 22 where it would be nice to get a proper
>> answer.
>
> Thanks! It's a relief to finally get this stuff reviewed.

It's definitely good to have concrete progress. There's always the 
possibility that we still missed some metadata, so I wonder what your 
testing plan is for this. Games, obviously, but perhaps consecutive runs 
of piglit give useful info as well?


> I'm not really
> sure about an authoritative source for patch 22, although I'm happy to
> add the group check, I think it makes some sense.

Please push the patch; in its current form its better than nothing, and 
even the loader doesn't do fancier checks. It has my R-b.


>> On 14.02.2017 01:52, Timothy Arceri wrote:
>>> Changes in V2:
>>>
>>> - no longer mess around storing/restoring any pointers
>>> - implemented support for compute shaders
>>> - dropped some patches only needed by i965 for now
>>> - add fallback support for shader source that is changed after its
>>> compiledi (piglit test on the list)
>>> - simplify cache enable for r600/radeonsi by unconditionally creating
>>> the cache in screen_create.
>>
>> Remind me how each part of the cache can be disabled?
>
> We can't really enable GLSL IR cache by itself (I guess we could enable
> tgis but that wouldn't make much sense). The code simply checks id
> ctx->Cache != NULL in various locations which means cache is enabled.

There should still be some environment variable to disable the cache. 
R600_DEBUG=nocache, for example, since it's the driver that creates the 
actual disk cache structure now.

Cheers,
Nicolai

>
>>
>> Thanks,
>> Nicolai
>>
>>
>>> - make glsl version (the version reported as supported by the
>>> implemenation at
>>>   compile time) part of the sha1 input rather than adding mesa string
>>> to the cache object itself.
>>>   This avoids fallbacks and should be more reliable.
>>> - add any drirc options as sha1 inputs
>>> - some other tidy ups suggested by Nicolai and Marek
>>>
>>> In future we probably want to check what other env vars have been set,
>>> but for now the gl/glsl version and drirc options should cover most
>>> things.
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>>



More information about the mesa-dev mailing list