On Friday, 20 February 2015 at 13:44:04 UTC, ponce wrote:
On Friday, 20 February 2015 at 13:04:51 UTC, John Colvin wrote:
On Friday, 20 February 2015 at 09:57:48 UTC,
francesco.cattoglio wrote:
(e.g: if the GC calls any OpenGL function, you get a "nice"
crash since OpenGL is not multithread-aware by default).
Really? I don't see this in my projects. The GC stops the
world, so there shouldn't be any races.
Not a race.
An OpenGL contect can only active in one thread at once. If the
GC calls a destructor from a thread which doesn't have that
context active, it will probably crash.
Exactly. Unless you do some special work yourself, you can't call
OpenGL function from a different thread.
It's not a real D problem, in fact, D is probably doing the right
thing when it comes to Thread Local Storage and such. It is more
of an OpenGL limitation.
This is also the reason I can't wait to see OpenGL Next, since
there were also promises of "far better multithread support".