st/python: Always use softpipe as reference driver.

This commit is contained in:
José Fonseca 2010-04-01 16:38:01 +01:00
parent 38afd1e445
commit e011272fa3
4 changed files with 17 additions and 11 deletions

View File

@ -85,7 +85,7 @@ st_device_create(boolean hardware)
if (hardware) if (hardware)
screen = st_hardware_screen_create(); screen = st_hardware_screen_create();
else else
screen = st_software_screen_create(); screen = st_software_screen_create("softpipe");
screen = trace_screen_create(screen); screen = trace_screen_create(screen);
if (!screen) if (!screen)

View File

@ -208,5 +208,5 @@ st_hardware_screen_create(void)
if(st_hardpipe_load()) if(st_hardpipe_load())
return pfnGetGalliumScreenMESA(); return pfnGetGalliumScreenMESA();
else else
return st_software_screen_create(); return st_software_screen_create(NULL);
} }

View File

@ -35,27 +35,29 @@
struct pipe_screen * struct pipe_screen *
st_software_screen_create(void) st_software_screen_create(const char *driver)
{ {
struct sw_winsys *ws; struct sw_winsys *ws;
const char *default_driver;
const char *driver;
struct pipe_screen *screen = NULL; struct pipe_screen *screen = NULL;
if (!driver) {
const char *default_driver;
#if defined(HAVE_LLVMPIPE) #if defined(HAVE_LLVMPIPE)
default_driver = "llvmpipe"; default_driver = "llvmpipe";
#elif defined(HAVE_SOFTPIPE) #elif defined(HAVE_SOFTPIPE)
default_driver = "softpipe"; default_driver = "softpipe";
#else #else
default_driver = ""; default_driver = "";
#endif #endif
driver = debug_get_option("GALLIUM_DRIVER", default_driver);
}
ws = null_sw_create(); ws = null_sw_create();
if(!ws) if(!ws)
return NULL; return NULL;
driver = debug_get_option("GALLIUM_DRIVER", default_driver);
#ifdef HAVE_LLVMPIPE #ifdef HAVE_LLVMPIPE
if (strcmp(driver, "llvmpipe") == 0) { if (strcmp(driver, "llvmpipe") == 0) {
screen = llvmpipe_create_screen(ws); screen = llvmpipe_create_screen(ws);
@ -68,5 +70,9 @@ st_software_screen_create(void)
} }
#endif #endif
if (!screen) {
ws->destroy(ws);
}
return screen; return screen;
} }

View File

@ -37,7 +37,7 @@ struct pipe_screen *
st_hardware_screen_create(void); st_hardware_screen_create(void);
struct pipe_screen * struct pipe_screen *
st_software_screen_create(void); st_software_screen_create(const char *driver);
#endif /* ST_WINSYS_H_ */ #endif /* ST_WINSYS_H_ */