[Mesa-dev] OpenGL to DirectX with Mesa3D

Jose Fonseca jfonseca at vmware.com
Mon Aug 29 04:05:31 PDT 2011



----- Original Message -----
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 08/25/2011 10:55 AM, Anonimo Veneziano wrote:
> > Hi all
> > I am a programmer but not very skilled in 3D graphics (so pardon me
> > if I
> > write something wrong).
> > I need to build my own opengl32.dll to redirect my OpenGL
> > application
> > calls to DirectX (better if 10 or 11, but 9 could be ok too)
> > TitaniumGL and 3DAnalyzer dont work for my case (already tested,
> > application crashes).
> > 1. Do you know if some other OpenGL->DirectX converter exist that I
> > could use?
> >  
> > I am trying to use Mesa3D v7.10.3, and in particular I found
> > GLDirect
> > very interesting, but I am not able to get it compiled with dx9. I
> > see
> > it has been changed since GLDirect 5.0.2 old released version (that
> > is
> > of no use for me, it's opengl 1.1).
> > So in Mesa v7.10.3 I tried to compile GLDirect and fixed some
> > errors but
> > at the moment I had some errors I cannot fix compiling
> > "gld_primitive_dx9.c" and "gld_texture_dx9.c":
> > for example in the first file the structures SWvertex (from
> > swrast.h)
> > and gl_context (from mtypes.h) seems different from those defined
> > in Mesa,
> > 2. Did someone compile GLDirect in Mesa 7.10.3? Can you help me to
> > do it?
> >  
> > 3. Could Gallium help me in some way? I am not sure to have
> > understood
> > well it...
> >  
> > Many thanks in advance and sorry to have bothered you but I am in a
> > hurry on a project and hope to get some solution!
> 
> The GLDirect stuff is really, really dead.  It hasn't been maintained
> in
> years, and it probably hasn't been able to compile in just about as
> long.  Moreover, as per discussions in another thread
> (http://marc.info/?l=mesa3d-dev&m=131421311903781&w=2), this code is
> literally minutes from being deleted.

That's my understanding too. It only did basic (fixed function?) GL to DX7 or 8, so is both unmaintained and uterl useless for most nowawadays applications.

> Since the internal Gallium interface is essentially a clone of the
> DX10
> interface, it should be trivial to make a Gallium DX10 driver.  Note
> that this is different from a DX10 state tracker (this is the
> top-half
> layer that makes a particular API available to applications).
> 
> One of the Gallium guys should know more...

Gallium is inspired in DX10 but it is a superset, so there's still the task of translating the superset bits that are not in DX10.

There's also the svga pipe driver which follow DX9 semantics closely.

Either way, although gallium code base could help kickstarting a GL -> DX converter, making a solid GL -> DX converter is a huge endeaveour, even by an developer familiar with both set of APIs.

I'd agree that an actively maintained project with that goal in mind, such as Angle, as a better bet.

Jose


More information about the mesa-dev mailing list