From b836b2593c0450125bef6b88b02c7d6c20e9eff8 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Sun, 9 Aug 2009 17:15:17 +0100 Subject: xlib: Complete llvmpipe integration. --- src/gallium/winsys/xlib/SConscript | 2 +- src/gallium/winsys/xlib/xlib.c | 9 +++++++++ src/gallium/winsys/xlib/xlib.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/gallium/winsys/xlib') diff --git a/src/gallium/winsys/xlib/SConscript b/src/gallium/winsys/xlib/SConscript index 0fb4b50f63..f67a94466a 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 da72228215..744e865641 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 d602ab0b13..347d45f4d6 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; -- cgit v1.2.3