summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fänger <a.faenger@e-sign.com>2016-03-08 11:04:00 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2016-05-30 17:53:45 +0100
commit9601815b4be886f4d92bf74916de98f3bdb7275c (patch)
tree07d53ae73b827123a109efdb7800877107bf7904
parent3689ef32afdafbb030069e560aac0e563fc29048 (diff)
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 <brianp@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> [Emil Velikov: remove trailing whitespace] Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
-rw-r--r--src/mesa/drivers/SConscript2
-rw-r--r--src/mesa/drivers/osmesa/SConscript40
-rw-r--r--src/mesa/drivers/osmesa/osmesa.def15
3 files changed, 57 insertions, 0 deletions
diff --git a/src/mesa/drivers/SConscript b/src/mesa/drivers/SConscript
index 5d654f538b..476425be27 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 0000000000..728031446e
--- /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 0000000000..06afab72b0
--- /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