[Mesa-dev] [Bug 110872] Shader cache gives spurious linking errors on sharing between contexts of different versions

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jun 10 10:04:59 UTC 2019


--- Comment #1 from Timothy Arceri <t_arceri at yahoo.com.au> ---
(In reply to Steinar H. Gunderson from comment #0)
> It's unclear from the spec what should happen, but given that 1 and 2 were
> compiled in the context of A, I would say that linking them in B should be
> legal

I disagree. Compiling in one context with a high GL version then linking those
compiled shaders in a different context with a lower GL version is asking for
trouble. The features that are missing/disabled when compiling in a lower
version are likely to not be correctly handled when linking either. Just
because it seems to be working with your use case when the cache is disabled
doesn't mean it should or always will.

Just to add the missing details here. The reason for the version mismatch is
because one context is core and the other is compat were the i965 driver has a
maximum compat version of 3.0, but up to 4.5 is support in core. Most other
(non-mesa) drivers have always had matched core/compat versions which is likely
why the spec has never bothered to cover this mismatch case.

IMO the best solution is to add proper compat support to all drivers. We could
improve the error messages but IMO that effort could be better spent working on
adding support.

I don't think there is any Mesa bug here and IMO your application needs to
check the context version work around the problem.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190610/54cef839/attachment.html>

More information about the mesa-dev mailing list