Skip to content

GLdispatch: Export __glDispatchSetCurrentThreadState

Adam Jackson requested to merge ajax/libglvnd:delay into master

This seems to be the shortest path to getting Delay working. It's kind of playing with fire, hence the warning, but it does seem to work if you're careful.

Another option that I considered was to use dlmopen() to put libEGL into its own link map (and thus own TLS scope). That doesn't work because of dlmopen bugs, and wouldn't be portable outside of glibc and Solaris.

Another another option I consider was to add a new GLDISPATCH_API_BLAH enum and teach the frontend libraries to handle it. This got ugly quickly, in part because I think that ends up wanting additional API between the frontend and vendor library without having a good way to signal from the frontend that that API is available. So if we're adding API anyway, simply exporting one function we already have seems quite a bit simpler.

Merge request reports