summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/dri
diff options
context:
space:
mode:
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"