Hybrid GUI beta release - an IM+RM GUI toolkit for games, multimedia, etc

Tom S h3r3tic at remove.mat.uni.torun.pl
Tue May 27 12:40:30 PDT 2008


Lutget wrote:
> Hi, the demos give the same result. xf.dog.testThreads.d also a black
> window. With xf.dog.test.d I get this assertion: 
> "tango.core.Exception.AssertException at xf.dog.ext.ARB_shader_objects(369):
> Assertion failure" (this is gl.GetString returning null on querying the
> extension strings)

Thanks for checking it out!
A relatively sane reason for this behavior is that the GL context is not 
created, somehow. glGetString could theoretically return null if it's 
called within glBegin .. glEnd, but this is not the case.


> glxgears works fine. I've ported this example program to D:
> http://www.opengl.org/wiki/index.php/Programming_OpenGL_in_Linux:_GLX_and_Xlib

Thanks! I'll look at it.


> I get the same result btw. when compiz is not enabled, it could very well be
> something in my setup, perhaps it's linking to mesa or something like that.
> I still haven't figured out how all these opengl libs + glx work under
> linux, it's all quite messy imho. 

Well, it should work well with Mesa. At least it works for me, in the 
Debian Etch I've got set up in VMWare Player.




Lukas Pinkowski wrote:
> I've got the same problems; though, I found by accident, that in the
> platform related libraries like glx.d and Xlib.d the function pointer
> aliases have D linkage:
> 
> alias void function(void *, char *, int, int, char * *) _BCD_func__849;
> 
> There is no extern(C): at the start of the files. It should of course read:
> 
> alias extern(C) void function(void *, char *, int, int, char * *)
> _BCD_func__849;

:o Hrm, this doesn't look too good, I'll pass the info to Ralith / 
Benjamin who's created the GLX backend. Such an error should cause it to 
crash on his GDC under FreeBSD and my VM'd debian... Weird.

Thanks a lot for testing and finding it out :)


> I can't test it right here, since I've got no xf86vm (why is this needed at
> all?)

It appears that it's used for changing display modes for fullscreen 
support, tho I'm sure Ralith would be able to give you more info :}


-- 
Tomasz Stachowiak
http://h3.team0xf.com/
h3/h3r3tic on #D freenode


More information about the Digitalmars-d-announce mailing list