summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/dri
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2014-06-21 12:50:10 +0100
committerEmil Velikov <[email protected]>2014-07-10 01:06:49 +0100
commit0bdc3e1afda111c5741a699da3ff891fedfe89de (patch)
tree45b059e54c82c58a9e19a5ff6bc76530c91520c5 /src/gallium/targets/dri
parent29ca7d2c9488d13e496ec65b6e1e1bf1d53042c5 (diff)
targets/dri-swrast: Convert to static/shared pipe-driver
Convert the final dri target to the single DRI (megadriver) library. Cleanup all the automake leftovers from the conversion stage and update the scons build. v2: Link in llvmpipe, when applicable. Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Thomas Helland <thomashelland90 at gmail.com> Acked-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/targets/dri')
-rw-r--r--src/gallium/targets/dri/Makefile.am14
-rw-r--r--src/gallium/targets/dri/SConscript19
-rw-r--r--src/gallium/targets/dri/target.c1
3 files changed, 31 insertions, 3 deletions
diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am
index 4da3e71d6af..61d6bc7aa3e 100644
--- a/src/gallium/targets/dri/Makefile.am
+++ b/src/gallium/targets/dri/Makefile.am
@@ -140,6 +140,20 @@ STATIC_TARGET_LIB_DEPS += \
endif
+if HAVE_GALLIUM_SOFTPIPE
+MEGADRIVERS += swrast
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_SOFTPIPE
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/sw/dri/libswdri.la \
+ $(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la
+endif
+
+if NEED_GALLIUM_LLVMPIPE_DRIVER
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_LLVMPIPE
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/drivers/llvmpipe/libllvmpipe.la
+endif
+
gallium_dri_la_SOURCES += target.c
AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS)
gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
diff --git a/src/gallium/targets/dri/SConscript b/src/gallium/targets/dri/SConscript
index 27e2047740e..faf370f2c34 100644
--- a/src/gallium/targets/dri/SConscript
+++ b/src/gallium/targets/dri/SConscript
@@ -18,11 +18,16 @@ if env['build'] == 'release':
env.Append(CPPDEFINES = ['GALLIUM_RBUG'])
env.Prepend(LIBS = [rbug])
else:
- env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_RBUG', 'GALLIUM_GALAHAD', 'GALLIUM_SOFTPIPE'])
- env.Prepend(LIBS = [trace, rbug, galahad, softpipe, ws_wrapper])
+ env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_RBUG', 'GALLIUM_GALAHAD'])
+ env.Prepend(LIBS = [trace, rbug, galahad])
+
+if env['llvm']:
+ env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
+ env.Prepend(LIBS = [llvmpipe])
env.Append(CPPDEFINES = [
'GALLIUM_VMWGFX',
+ 'GALLIUM_SOFTPIPE',
'DRI_TARGET',
])
@@ -30,6 +35,8 @@ env.Prepend(LIBS = [
st_dri,
svgadrm,
svga,
+ ws_dri,
+ softpipe,
libloader,
mesa,
glsl,
@@ -39,9 +46,15 @@ env.Prepend(LIBS = [
])
module = env.LoadableModule(
- target = 'vmwgfx_dri.so',
+ target = 'gallium_dri.so',
source = 'target.c',
SHLIBPREFIX = '',
)
+# vmwgfx_dri.so
+env.Command('vmwgfx_dri.so', 'gallium_dri.so', "ln -f ${SOURCE} ${TARGET}")
+# swrast_dri.so
+env.Command('swrast_dri.so', 'gallium_dri.so', "ln -f ${SOURCE} ${TARGET}")
+
env.Alias('dri-vmwgfx', module)
+env.Alias('dri-swrast', module)
diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
index fde4a4a7dcf..32a11ef6281 100644
--- a/src/gallium/targets/dri/target.c
+++ b/src/gallium/targets/dri/target.c
@@ -1 +1,2 @@
#include "target-helpers/inline_drm_helper.h"
+#include "target-helpers/inline_sw_helper.h"