DerelictGL3 reload crashes in 32 builds

Igor via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 22 05:03:18 PDT 2017


On Monday, 21 August 2017 at 12:38:28 UTC, Mike Parker wrote:
> On Monday, 21 August 2017 at 02:40:59 UTC, Mike Parker wrote:
>> On Sunday, 20 August 2017 at 19:29:55 UTC, Igor wrote:
>>> In 64 bit builds it works with both LDC and DMD but in 32 bit 
>>> LDC version crashes and DMD release version crashes. Using 
>>> LDC debug build I managed to find that it crashes after 
>>> executing ret instruction from bindGLFunc in glloader. If 
>>> someone wants to try it you can do it with this project: 
>>> https://github.com/igor84/dngin. I was testing this from 
>>> Visual Studio but dub 32 bit LDC build also crashed.
>>>
>>> Am I doing something wrong or is this some known DerelictGL3 
>>> or compiler issue?
>>
>> This is a known issue [1] that I'm currently trying to 
>> resolve. I hadn't yet tested it using free functions (the bug 
>> report uses context types), so this new information helps.
>>
>> [1] https://github.com/DerelictOrg/DerelictGL3/issues/56
>
> I'm unable to reproduce this locally using my little test app. 
> It only crashes for me in 32-bit when using context objects.
>
> I also took your winmain.d module, modified it to compile with 
> `dub --single`, then compiled and executed it with both the 
> default architecture (-m32) and -m32mscoff (via dub's 
> -ax86_mscoff command line argument). In both cases it compiled 
> executed just fine.
>
> Have you tried to compile outside of VisualD?

Hmmm... I though I tried running with just typing dub which 
should use m32 by default as far as I know and got the error. I 
will check one more time this evening. But LDC 32bit builds crash 
for sure. Note that I committed a version last night where I 
commented out the Derelict.reload call, so just make sure it is 
not commented before trying it out.

In the meantime can you tell me these two things:

1. How come DerelictGLES only has:
static if( Derelict_OS_Windows ) ...
else static if( Derelict_OS_Posix && !Derelict_OS_Mac )...
when GLES is primarily intended for mobile platforms as far as I 
know. What should I use for Android then?

2. I see that DerelictGL3 used to have wglext.d file where 
wglSwapIntervalEXT was loaded. How can I get access to this 
function now since I can't find it anywhere in the latest version?


More information about the Digitalmars-d-learn mailing list