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
9struct pipe_screen;
10struct pipe_screen_config;
11struct pipe_context;
12struct pipe_resource;
13
14struct 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
40extern const struct drm_driver_descriptor driver_descriptor;
41
42#endif
43