1 2 #ifndef _DRM_DRIVER_H_ 3 #define _DRM_DRIVER_H_ 4 5 #include "pipe/p_compiler.h" 6 7 #include "winsys_handle.h" 8 9 struct pipe_screen; 10 struct pipe_screen_config; 11 struct pipe_context; 12 struct pipe_resource; 13 14 struct drm_driver_descriptor 15 { 16 /** 17 * Identifying prefix/suffix of the binary, used by the pipe-loader. 18 */ 19 const char *driver_name; 20 21 /** 22 * Optional pointer to the array of driOptionDescription describing 23 * driver-specific driconf options. 24 */ 25 const struct driOptionDescription *driconf; 26 27 /* Number of entries in the driconf array. */ 28 unsigned driconf_count; 29 30 /** 31 * Create a pipe srcreen. 32 * 33 * This function does any wrapping of the screen. 34 * For example wrapping trace or rbug debugging drivers around it. 35 */ 36 struct pipe_screen* (*create_screen)(int drm_fd, 37 const struct pipe_screen_config *config); 38 }; 39 40 extern const struct drm_driver_descriptor driver_descriptor; 41 42 #endif 43