From 9601815b4be886f4d92bf74916de98f3bdb7275c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20F=C3=A4nger?= Date: Tue, 8 Mar 2016 11:04:00 +0000 Subject: [PATCH] scons: build osmesa swrast and gallium 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. Tested-by: Brian Paul Reviewed-by: Brian Paul [Emil Velikov: remove trailing whitespace] Signed-off-by: Emil Velikov --- src/mesa/drivers/SConscript | 2 ++ src/mesa/drivers/osmesa/SConscript | 40 ++++++++++++++++++++++++++++++ src/mesa/drivers/osmesa/osmesa.def | 15 +++++++++++ 3 files changed, 57 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 5d654f538be..476425be27c 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 00000000000..728031446e5 --- /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 00000000000..06afab72b0a --- /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.30.2