[Mesa-dev] [PATCH] scons: build osmesa swrast and gallium

Andreas Fänger a.faenger at e-sign.com
Wed Mar 9 07:41:42 UTC 2016


> -----Ursprüngliche Nachricht-----
> Von: Roland Scheidegger
> Gesendet: Dienstag, 8. März 2016 18:26
> Betreff: Re: [Mesa-dev] [PATCH] scons: build osmesa swrast and gallium
> 
> Not that I really care what you can or can't build (and I won't comment on
> build changes), what are those features lacking in llvmpipe, beside from
> anisotropic filtering (which I always considered essentially useless for a
> software renderer, albeit interesting if you're curious about the math
> involved)?
> Last time I checked llvmpipe/softpipe had a much more robust feature set
> (especially when it comes to non-legacy GL features), for starters I'll just
> mention working derivatives which is usually the first thing people still using
> classic swrast are hitting bugs on...
> 

We are using osmesa for rendering single images on a server. No shaders at the moment, only texturing (fixed function pipeline). For us the qualitiy of the images is the most important criteria (and rendering speed, of course); therefore anisotropic filtering is absolutely necessary in order to achieve good looking images. The same with anti-aliasing: Currently we are using  GL_POLYGON_SMOOTH but this is also missing in gallium. We need an antialiasing method that is not simply blurring the whole image or texturese but affects only the edges of the polygons.

Andreas
> 
> Am 08.03.2016 um 12:04 schrieb Andreas Fänger:
> > This patch makes it possible to build classic osmesa/swrast on windows
> > again. It was removed in commit
> 69db422218b0264b5b8eef45bd003a2544e9cbd6.
> > Although there is a gallium version of osmesa now, the swrast version
> > still has more features lacking in llvmpipe, e.g. anisotropic filtering.
> > ---
> >  src/mesa/drivers/SConscript        |    2 +
> >  src/mesa/drivers/osmesa/SConscript |   40
> ++++++++++++++++++++++++++++++++++++
> >  src/mesa/drivers/osmesa/osmesa.def |   15 +++++++++++++
> >  3 files changed, 57 insertions(+), 0 deletions(-)  create mode 100644
> > src/mesa/drivers/osmesa/SConscript
> >  create mode 100644 src/mesa/drivers/osmesa/osmesa.def
> >
> > diff --git a/src/mesa/drivers/SConscript b/src/mesa/drivers/SConscript
> > index 5d654f5..476425b 100644
> > --- a/src/mesa/drivers/SConscript
> > +++ b/src/mesa/drivers/SConscript
> > @@ -1,5 +1,7 @@
> >  Import('*')
> >
> > +SConscript('osmesa/SConscript')
> > +
> >  if env['x11']:
> >      SConscript('x11/SConscript')
> >
> > diff --git a/src/mesa/drivers/osmesa/SConscript
> > b/src/mesa/drivers/osmesa/SConscript
> > new file mode 100644
> > index 0000000..5933f07
> > --- /dev/null
> > +++ b/src/mesa/drivers/osmesa/SConscript
> > @@ -0,0 +1,40 @@
> > +Import('*')
> > +
> > +env = env.Clone()
> > +
> > +env.Prepend(CPPPATH = [
> > +    '#src',
> > +    '#src/mapi',
> > +    '#src/mesa',
> > +    Dir('../../../mapi'), # src/mapi build path for python-generated
> > +GL API files/headers
> > +])
> > +
> > +env.Prepend(LIBS = [
> > +    mesautil,
> > +    glapi,
> > +    compiler,
> > +    mesa,
> > +    glsl,
> > +])
> > +
> > +sources = [
> > +    'osmesa.c',
> > +]
> > +
> > +if env['platform'] == 'windows':
> > +    env.AppendUnique(CPPDEFINES = [
> > +        '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
> > +        'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
> > +    ])
> > +    if not env['gles']:
> > +        # prevent _glapi_* from being declared __declspec(dllimport)
> > +        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > +
> > +    sources += ['osmesa.def']
> > +
> > +osmesa = env.SharedLibrary(
> > +    target ='osmesa',
> > +    source = sources,
> > +)
> > +
> > +env.Alias('osmesa', osmesa)
> > diff --git a/src/mesa/drivers/osmesa/osmesa.def
> > b/src/mesa/drivers/osmesa/osmesa.def
> > new file mode 100644
> > index 0000000..06afab7
> > --- /dev/null
> > +++ b/src/mesa/drivers/osmesa/osmesa.def
> > @@ -0,0 +1,15 @@
> > +;DESCRIPTION 'Mesa OSMesa lib for Win32'
> > +VERSION 4.1
> > +
> > +EXPORTS
> > +	OSMesaColorClamp
> > +	OSMesaCreateContext
> > +	OSMesaCreateContextExt
> > +	OSMesaDestroyContext
> > +	OSMesaMakeCurrent
> > +	OSMesaGetCurrentContext
> > +	OSMesaPixelStore
> > +	OSMesaGetIntegerv
> > +	OSMesaGetDepthBuffer
> > +	OSMesaGetColorBuffer
> > +	OSMesaGetProcAddress
> >




More information about the mesa-dev mailing list