On Fri, 27 Apr 2012 14:57:52 +0200, Rene Zwanenburg
<renezwanenb...@gmail.com> wrote:
On Friday, 27 April 2012 at 11:53:37 UTC, Simen Kjaeraas wrote:
On Fri, 27 Apr 2012 13:23:00 +0200, Dmitry Olshansky
<dmitry.o...@gmail.com> wrote:
On 27.04.2012 15:15, Rene Zwanenburg wrote:
Since an OpenGL context is owned by one thread, any OpenGL calls made
from other threads will fail. I've wrapped OpenGL 'objects' in D
classes
to automate destruction of the underlying object:
How about using structs for GL objects? It's not like you have a
hierarchy or interfaces in there.
[snip]
http://d.puremagic.com/issues/show_bug.cgi?id=2834
Heap-allocated structs don't have their destructors called when they're
collected.
Good to know, that's quite a serious bug and is open for three years
now. Is it that hard to fix?
It's not necessarily hard to fix, but the simple fixes are costly in other
ways - allocate a tag block for each alloation or adjust some data
structure
in the GC to point to the destructor - each of these makes allocation
slower, which is unacceptable to some (I'm just allocating POD struct! Why
do I have to pay so that guy over there can have his data destroyed in an
orderly manner?)
But as Steve said, there is work on a precise GC that will likely fix the
problem.