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/Makefile.am | 2 ++ src/mesa/drivers/osmesa/SConscript | 40 +++++++++++++++++++++++++++++++++++++ src/mesa/drivers/osmesa/osmesa.def | 15 ++++++++++++++ 4 files changed, 59 insertions(+) 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/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am index 46332e1..5525687 100644 --- a/src/mesa/drivers/osmesa/Makefile.am +++ b/src/mesa/drivers/osmesa/Makefile.am @@ -21,6 +21,8 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. +EXTRA_DIST = osmesa.def SConscript + AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src \ 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 -- 2.7.2.windows.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev