[Mesa-dev] Request to revert commit [3d81e11b49366b5636b8524ba0f8c7076e3fdf34] mesa: remove, unnecessary, 'sort by year' for the GL extensions

Ian Romanick idr at freedesktop.org
Thu Sep 20 14:10:42 UTC 2018

On 09/20/2018 07:04 AM, Roland Scheidegger wrote:
> Am 20.09.2018 um 15:09 schrieb Ian Romanick:
>> On 09/19/2018 11:36 PM, Federico Dossena wrote:
>>> As most of you are probably aware of, id2 and id3 games store GL
>>> extensions in a buffer that's too small for modern systems. This usually
>>> leads to a crash when MESA_EXTENSION_MAX_YEAR is not set, but what the
>>> creator of this commit didn't know is that some id3 games (the more
>>> "recent" ones) don't crash, they just truncate the string. As a result
>>> of this commit, these games can't detect some extensions and therefore
>>> don't work properly.
>> It sounds like the problem is still that MESA_EXTENSION_MAX_YEAR is not
>> set, so why not just set it?  Doesn't that fix the problem?
> Yes it does.
> It is however not really obvious why an app is failing (in this case the
> game still ran, just shadows were broken - I suppose they were not
> tested without some extensions being available).
> I suppose we could try detecting affected apps by name, but I have no
> idea which are (possibly some later published games using id tech 3 have
> it fixed for real, I have no idea).
> It is not a mesa specific problem neither, since apparently windows AMD
> drivers suffer from the same issue. Maybe nvidia always reorders
> extensions (or recognizes affected apps).

Or maybe NVIDIA changes the extension string based on the app?

> Roland
>>> I discovered this while trying to figure out why dynamic lights in Star
>>> Trek Voyager Elite Force (2000) suddenly broke with Mesa 18. I discussed
>>> this with Ronald Scheidegger, who's been very helpful and helped me
>>> figure out what was going on.
>>> Personally, I see nothing wrong with reverting this commit and keeping
>>> the extensions sorted by year, it doesn't impact performance and it
>>> doesn't break anything modern. What do you think about it?

More information about the mesa-dev mailing list