[Mesa-dev] shader cache backward compatibility

Timothy Arceri tarceri at itsqueeze.com
Wed Sep 19 02:26:36 UTC 2018


On 3/9/18 6:53 pm, Alexander Larsson wrote:
> On Mon, Sep 3, 2018 at 10:41 AM Alexander Larsson <alexl at redhat.com> wrote:
>>
>> On Fri, Aug 31, 2018 at 4:05 PM Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>>
>>> Valid point - I forgot about that.
>>>
>>> A couple of ideas come to mind:
>>>   - static link LLVM (Flatpak already does it)
>>> No LLVM changes needed.
>>>
>>>   - shared link LLVM
>>> LLVM add -Wl,--build-id=sha1
>>
>> As a very very simple workaround, can you add the file sizes (as well
>> as the mtimes) to the staleness check? I mean, its possible that a
>> rebuild generates the exact same size, but at least its better than
>> always being wrong.
> 
> Also, valentin david (of the freedesktop sdk project) started working
> on a solution based on build-ids:
>   https://gitlab.com/freedesktop-sdk/freedesktop-sdk/merge_requests/487/diffs
> 
> This currently relies on the freedesktop sdk having build-ids, but it
> would be easy for it to fall back on the mtime if that was not found.
> Also, this code is not really tested yet, but you still get the idea
> from looking at it, and it should work.
> 

I've sent a new series [1] to use build-id by default and fallback to 
timestamp. If timestamp is zero we will disable the cache. On RADV a 
zero timestamp  would mean the driver would fail to initialise, but it 
seem Intels ANV currently already does this if no build id is found so 
its still being pretty forgiving.

[1] https://patchwork.freedesktop.org/series/49882/


More information about the mesa-dev mailing list