zeroMemory(&scd, scd.sizeof);

void zeroMemory(void* ad,size_t size){
    (cast(byte*)& ad)[0 .. size] = 0;
}

....
I was totally corrupting my stack and it's not even needed in D, the compiler zero's it out automatically.
Mystery solved, thanks a lot irc (adam,wolfgang,...)


2017-08-24 17:26 GMT+02:00 maarten van damme <maartenvd1994@gmail.com>:
I should probably add that the error is a hresult, being 0 when it works but -2005270527 when it fails.

2017-08-24 17:24 GMT+02:00 maarten van damme <maartenvd1994@gmail.com>:
Hi all.

This works (dub --arch=x86_mscoff) http://dpaste.com/1XCJEX7 but this fails : http://dpaste.com/1C7WMB7 .

Notice that all I've done is manually inlined init3d...

You can compile this with the following dub.json

http://dpaste.com/2QBQFSX

Any help would be appreciated, it make absolutely no sense to me.