1 2 #ifndef _SW_DRIVER_H_ 3 #define _SW_DRIVER_H_ 4 5 #include "util/compiler.h" 6 7 struct pipe_screen; 8 struct sw_winsys; 9 struct drisw_loader_funcs; 10 11 struct sw_driver_descriptor 12 { 13 struct pipe_screen *(*create_screen)(struct sw_winsys *ws, const struct pipe_screen_config *config, bool sw_vk); 14 struct { 15 const char * const name; 16 union { 17 struct sw_winsys *(*create_winsys)(); 18 struct sw_winsys *(*create_winsys_wrapped)(struct pipe_screen *screen); 19 struct sw_winsys *(*create_winsys_dri)(const struct drisw_loader_funcs *lf); 20 struct sw_winsys *(*create_winsys_kms_dri)(int fd); 21 }; 22 } winsys[]; 23 }; 24 25 #endif 26