PSA: GLX is not thread safe, even if you use XLockDisplay()/XUnlockDisplay(). Xlib-XCB does not fix this. First Google result on this is a wrong Stack Overflow answer. GLX uses lots of per-process (not per-display) globals. You must use a process-wide lock around each GLX call.
It's for sharing textures across threads/processes. Support for that is the main reason why I'm writing a glutin replacement right now.
-
-
I thought there won’t be any cross-process texture sharing on macOS anymore?
-
It uses surfaces as a way to safely share send texture data between threads. Happier?
- 13 more replies
New conversation -
-
-
Ahh okay. Yeah i'm going for single-core-is-the-render-API design here no x-thread direct gfx api accesses.
-
The other reason for surfman's existence is to let the app choose the GPU on multi-GPU systems like laptops. This is extremely annoying to do cross-platform :)
- 1 more reply
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.