• Adam Jackson's avatar
    GLdispatch: Export __glDispatchSetCurrentThreadState · 8ece1971
    Adam Jackson authored
    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.