[Mesa-dev] EGL on Windows

José Fonseca jfonseca at vmware.com
Sun May 30 07:54:49 PDT 2010


On Sun, 2010-05-30 at 05:55 -0700, Jakob Bornecrantz wrote:
> On Sat, May 29, 2010 at 9:49 AM, Chia-I Wu <olvaffe at gmail.com> wrote:
> > On Sat, May 29, 2010 at 1:19 AM, Jakob Bornecrantz <wallbraker at gmail.com> wrote:
> >> On Fri, May 28, 2010 at 8:46 AM, Chia-I Wu <olvaffe at gmail.com> wrote:
> >>> I've got access to a Windows machine recently, and I've spent some time today
> >>> to add GDI backend to st/egl.  The code can be found at
> >>>  http://cgit.freedesktop.org/~olv/mesa/log/?h=egl-gdi
> >> Cool stuff! Nice work.
> > Thanks.
> >>>
> >>> The command options I use to build the DLLs are
> >>>
> >>>  $ scons statetrackers=egl drivers=softpipe
> >> You can also crosscompile easily from Linux if you have
> >> mingw32/mingw-w64 packages installed with scons.
> > The last time I tried, the cross-compiled DLLs didn't load when I
> > tried them on a Windows box.  No idea how to investigate that :(
> >>> The DLLs are able to run the "tiger" demo from the OpenVG reference
> >>> implementation (after fixing a bug in the demo) on Windows.
> >>>
> >>> I will clean up the branch as I find the time.  It is mostly SConscript work.
> >>> The GDI backend itself is only slightly over 500 lines of code.
> >> I would recommend breaking out the fixes from the SConscript commits.
> >> Most of the fixes can probably be brought in directly. Especially the
> >> "st/vega: Use FREE" commit.
> > Sure.  I will do that.
> >
> > About the portability issues.  I have to do the following
> >
> > In EGL core,
> >  #define snprintf _snprintf
> >  #define strcasecmp _stricmp
> >
> > In st/vega,
> >  #define isnan _isnanf
> >  #define isfinite _finitef
> >
> > Everywhere,
> >  #define PUBLIC __declspec(dllexport)
> >
> > Suggestions?
> 
> Hey, for the st/vega stuff that should just be a matter of creating
> util_* functions and stuffing them somewhere inside aux/util/.
> 
> For the other two I think that José and Kristian where talking about
> moving the aux/os stuff from gallium and into src/os so that it could
> be shared between mesa/gallium/egl. Should that be done I think the
> remaining two would fit into there.
> 
> José, Kristian still plans for this? 

Plans yes. Time not so much..

> Is this somebody with to much
> time on their hands can take care of?

Sure. It's essentially a janitorial task that anybody minimally familiar
with the code can undertake. My plan was to:
 - create a new mesa/src/cgrt subtree (where cgrt stands for common
graphics runtime) which creates a libcgrt.a that will be used by all
mesa/gallium drivers and utilities
 - migrate/fork src/gallium/include/pipe/p_config.h and p_compiler.h
into cgrt
 - start migrating src/gallium/auxiliary/os -> src/cgrt/os
 - migrate the gallium-independent debugging tools from
src/gallium/auxiliary/util into src/cgrt/debug
 - migrate the gallium-independent abstract data types  from
src/gallium/auxiliary/util into src/cgrt/adt
 - etc
 
Jose



More information about the mesa-dev mailing list