diff options
-rw-r--r-- | src/gallium/state_trackers/glx/xlib/SConscript | 3 | ||||
-rw-r--r-- | src/gallium/winsys/xlib/SConscript | 2 | ||||
-rw-r--r-- | src/gallium/winsys/xlib/xlib.c | 9 | ||||
-rw-r--r-- | src/gallium/winsys/xlib/xlib.h | 1 |
4 files changed, 12 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/glx/xlib/SConscript b/src/gallium/state_trackers/glx/xlib/SConscript index 04a44c306..fa96df357 100644 --- a/src/gallium/state_trackers/glx/xlib/SConscript +++ b/src/gallium/state_trackers/glx/xlib/SConscript @@ -4,8 +4,7 @@ Import('*') if env['platform'] == 'linux' \ - and 'mesa' in env['statetrackers'] \ - and ('softpipe' or 'i915simple' or 'trace') in env['drivers']: + and 'mesa' in env['statetrackers']: env = env.Clone() diff --git a/src/gallium/winsys/xlib/SConscript b/src/gallium/winsys/xlib/SConscript index 0fb4b50f6..f67a94466 100644 --- a/src/gallium/winsys/xlib/SConscript +++ b/src/gallium/winsys/xlib/SConscript @@ -5,7 +5,7 @@ Import('*') if env['platform'] == 'linux' \ and 'mesa' in env['statetrackers'] \ - and ('softpipe' or 'i915simple' or 'trace') in env['drivers'] \ + and set(('softpipe', 'llvmpipe', 'i915simple', 'trace')).intersection(env['drivers']) \ and not env['dri']: env = env.Clone() diff --git a/src/gallium/winsys/xlib/xlib.c b/src/gallium/winsys/xlib/xlib.c index da7222821..744e86564 100644 --- a/src/gallium/winsys/xlib/xlib.c +++ b/src/gallium/winsys/xlib/xlib.c @@ -45,6 +45,7 @@ enum mode { MODE_TRACE, MODE_BRW, MODE_CELL, + MODE_LLVMPIPE, MODE_SOFTPIPE }; @@ -62,7 +63,11 @@ static enum mode get_mode() return MODE_CELL; #endif +#if defined(GALLIUM_LLVMPIPE) + return MODE_LLVMPIPE; +#else return MODE_SOFTPIPE; +#endif } static void _init( void ) __attribute__((constructor)); @@ -87,6 +92,10 @@ static void _init( void ) xmesa_set_driver( &xlib_cell_driver ); #endif break; + case MODE_LLVMPIPE: +#if defined(GALLIUM_LLVMPIPE) + xmesa_set_driver( &xlib_llvmpipe_driver ); +#endif case MODE_SOFTPIPE: #if defined(GALLIUM_SOFTPIPE) xmesa_set_driver( &xlib_softpipe_driver ); diff --git a/src/gallium/winsys/xlib/xlib.h b/src/gallium/winsys/xlib/xlib.h index d602ab0b1..347d45f4d 100644 --- a/src/gallium/winsys/xlib/xlib.h +++ b/src/gallium/winsys/xlib/xlib.h @@ -7,6 +7,7 @@ extern struct xm_driver xlib_trace_driver; extern struct xm_driver xlib_softpipe_driver; +extern struct xm_driver xlib_llvmpipe_driver; extern struct xm_driver xlib_cell_driver; extern struct xm_driver xlib_brw_driver; |