summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/winsys/xlib/Makefile10
-rw-r--r--src/gallium/winsys/xlib/SConscript27
-rw-r--r--src/gallium/winsys/xlib/xlib.c8
3 files changed, 37 insertions, 8 deletions
diff --git a/src/gallium/winsys/xlib/Makefile b/src/gallium/winsys/xlib/Makefile
index 14d3849f757..5b71e6dc38c 100644
--- a/src/gallium/winsys/xlib/Makefile
+++ b/src/gallium/winsys/xlib/Makefile
@@ -22,6 +22,12 @@ INCLUDE_DIRS = \
-I$(TOP)/src/gallium/state_trackers/glx/xlib \
-I$(TOP)/src/gallium/auxiliary
+DEFINES = \
+ -DGALLIUM_SOFTPIPE \
+ -DGALLIUM_CELL \
+ -DGALLIUM_TRACE \
+ -DGALLIUM_BRW
+
XLIB_WINSYS_SOURCES = \
xlib.c \
xlib_cell.c \
@@ -49,10 +55,10 @@ LIBS = \
.SUFFIXES : .cpp
.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+ $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
.cpp.o:
- $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@
+ $(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CXXFLAGS) $< -o $@
diff --git a/src/gallium/winsys/xlib/SConscript b/src/gallium/winsys/xlib/SConscript
index 434572fcd00..0fb4b50f634 100644
--- a/src/gallium/winsys/xlib/SConscript
+++ b/src/gallium/winsys/xlib/SConscript
@@ -13,24 +13,39 @@ if env['platform'] == 'linux' \
env.Append(CPPPATH = [
'#/src/mesa',
'#/src/mesa/main',
+ '#src/gallium/state_trackers/glx/xlib',
])
- sources = [];
+ env.Append(CPPDEFINES = ['USE_XSHM'])
- drivers = [];
+ sources = [
+ 'xlib.c',
+ ]
+
+ drivers = []
if 'softpipe' in env['drivers']:
+ env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
+ sources += ['xlib_softpipe.c']
drivers += [softpipe]
if 'i965simple' in env['drivers']:
- drivers += [i965simple]
+ env.Append(CPPDEFINES = 'GALLIUM_I965SIMPLE')
sources += [
- 'brw_aub.c',
- 'xm_winsys_aub.c',
- ]
+ 'xlib_brw_aub.c',
+ 'xlib_brw_context.c',
+ 'xlib_brw_screen.c',
+ ]
+ drivers += [i965simple]
+ if 'cell' in env['drivers']:
+ env.Append(CPPDEFINES = 'GALLIUM_CELL')
+ sources += ['xlib_cell.c']
+ drivers += [cell]
+
if 'trace' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_TRACE')
+ sources += ['xlib_trace.c']
drivers += [trace]
# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
diff --git a/src/gallium/winsys/xlib/xlib.c b/src/gallium/winsys/xlib/xlib.c
index 4982230000c..da722282156 100644
--- a/src/gallium/winsys/xlib/xlib.c
+++ b/src/gallium/winsys/xlib/xlib.c
@@ -73,16 +73,24 @@ static void _init( void )
switch (xlib_mode) {
case MODE_TRACE:
+#if defined(GALLIUM_TRACE) && defined(GALLIUM_SOFTPIPE)
xmesa_set_driver( &xlib_trace_driver );
+#endif
break;
case MODE_BRW:
+#if defined(GALLIUM_BRW)
xmesa_set_driver( &xlib_brw_driver );
+#endif
break;
case MODE_CELL:
+#if defined(GALLIUM_CELL)
xmesa_set_driver( &xlib_cell_driver );
+#endif
break;
case MODE_SOFTPIPE:
+#if defined(GALLIUM_SOFTPIPE)
xmesa_set_driver( &xlib_softpipe_driver );
+#endif
break;
default:
assert(0);