#include "target-helpers/inline_sw_helper.h" #include "target-helpers/inline_debug_helper.h" #include "state_tracker/sw_driver.h" #include "sw/dri/dri_sw_winsys.h" #include "sw/kms-dri/kms_dri_sw_winsys.h" #include "sw/null/null_sw_winsys.h" #include "sw/wrapper/wrapper_sw_winsys.h" PUBLIC struct pipe_screen * swrast_create_screen(struct sw_winsys *ws); struct pipe_screen * swrast_create_screen(struct sw_winsys *ws) { struct pipe_screen *screen; screen = sw_screen_create(ws); if (screen) screen = debug_screen_wrap(screen); return screen; } PUBLIC const struct sw_driver_descriptor swrast_driver_descriptor = { .create_screen = swrast_create_screen, .winsys = { #ifdef HAVE_PIPE_LOADER_DRI { .name = "dri", .create_winsys = dri_create_sw_winsys, }, #endif #ifdef HAVE_PIPE_LOADER_KMS { .name = "kms_dri", .create_winsys = kms_dri_create_winsys, }, #endif { .name = "null", .create_winsys = null_sw_create, }, { .name = "wrapped", .create_winsys = wrapper_sw_winsys_wrap_pipe_screen, }, { 0 }, } };