xlib: Complete llvmpipe integration.
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 9 Aug 2009 16:15:17 +0000 (17:15 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Sat, 29 Aug 2009 08:21:27 +0000 (09:21 +0100)
src/gallium/state_trackers/glx/xlib/SConscript
src/gallium/winsys/xlib/SConscript
src/gallium/winsys/xlib/xlib.c
src/gallium/winsys/xlib/xlib.h

index 04a44c30671cbcabaaa5263e2f3dd541d53b5c88..fa96df357d5e267af49b5c12a9d75b48df366bdf 100644 (file)
@@ -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()
 
index 0fb4b50f634c30286f67957d3b91933319a8c181..f67a94466a15f81950ca16f04261a081b566af30 100644 (file)
@@ -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()
index da722282156480a701bc4c635e3669607ad92634..744e8656416504c801d8b52853f085651858cb0b 100644 (file)
@@ -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 );
index d602ab0b133bb1dbe642530a3e2db0001c84ad67..347d45f4d66ba9dcf460de65a67744bc2f3ef63f 100644 (file)
@@ -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;