diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-04-01 16:38:01 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-04-01 17:46:58 +0100 |
commit | e011272fa357fbb22377220fa1d8655d063e4aa0 (patch) | |
tree | 705ac6648439bc62e719ef586d30bb0369056a95 /src/gallium/state_trackers/python/st_softpipe_winsys.c | |
parent | 38afd1e4452d5ed357cce0d7a604948a9fb563aa (diff) |
st/python: Always use softpipe as reference driver.
Diffstat (limited to 'src/gallium/state_trackers/python/st_softpipe_winsys.c')
-rw-r--r-- | src/gallium/state_trackers/python/st_softpipe_winsys.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/gallium/state_trackers/python/st_softpipe_winsys.c b/src/gallium/state_trackers/python/st_softpipe_winsys.c index 0a332aaa9f..8584bad467 100644 --- a/src/gallium/state_trackers/python/st_softpipe_winsys.c +++ b/src/gallium/state_trackers/python/st_softpipe_winsys.c @@ -35,27 +35,29 @@ struct pipe_screen * -st_software_screen_create(void) +st_software_screen_create(const char *driver) { struct sw_winsys *ws; - const char *default_driver; - const char *driver; struct pipe_screen *screen = NULL; + if (!driver) { + const char *default_driver; + #if defined(HAVE_LLVMPIPE) - default_driver = "llvmpipe"; + default_driver = "llvmpipe"; #elif defined(HAVE_SOFTPIPE) - default_driver = "softpipe"; + default_driver = "softpipe"; #else - default_driver = ""; + default_driver = ""; #endif + driver = debug_get_option("GALLIUM_DRIVER", default_driver); + } + ws = null_sw_create(); if(!ws) return NULL; - driver = debug_get_option("GALLIUM_DRIVER", default_driver); - #ifdef HAVE_LLVMPIPE if (strcmp(driver, "llvmpipe") == 0) { screen = llvmpipe_create_screen(ws); @@ -68,5 +70,9 @@ st_software_screen_create(void) } #endif + if (!screen) { + ws->destroy(ws); + } + return screen; } |