On Tue Feb 17 10:34:58 2026 +0000, Rémi Bernon wrote:
Well this is mostly a dependency on the host GL implementation being spec compliant. If we can't assume spec compliance there's no reason to make decisions based on spec (like using `glGetStringi` iff version is >= 3) and we should try calling both legacy and core functions just in case either one works. But then there's also not much reason to call core function if we already got an extension list from the legacy code path, which we need to call anyway to be able to decide whether to expose the legacy extension list or not. If Mesa only filters the legacy extension list with MESA_EXTENSION_MAX_YEAR, it's a GL spec violation and a Mesa bug. Making sure that this variable (and the other Mesa extension control variables) affect both the extension enumeration functions at once is actually a useful feature, and controlling only the legacy contexts isn't so useful. Anyway, I changed the code to stop making assumptions based on spec, and to prefer using the core functions over legacy for host extension enumeration. I'm not convinced this is better but I don't really mind so much.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10019#note_129790