xref: /aosp_15_r20/external/mesa3d/src/gallium/include/frontend/sw_driver.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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