17ec681f3Smrg 27ec681f3Smrg#ifndef _DRM_DRIVER_H_ 37ec681f3Smrg#define _DRM_DRIVER_H_ 47ec681f3Smrg 57ec681f3Smrg#include "pipe/p_compiler.h" 67ec681f3Smrg 77ec681f3Smrg#include "winsys_handle.h" 87ec681f3Smrg 97ec681f3Smrgstruct pipe_screen; 107ec681f3Smrgstruct pipe_screen_config; 117ec681f3Smrgstruct pipe_context; 127ec681f3Smrgstruct pipe_resource; 137ec681f3Smrg 147ec681f3Smrgstruct drm_driver_descriptor 157ec681f3Smrg{ 167ec681f3Smrg /** 177ec681f3Smrg * Identifying prefix/suffix of the binary, used by the pipe-loader. 187ec681f3Smrg */ 197ec681f3Smrg const char *driver_name; 207ec681f3Smrg 217ec681f3Smrg /** 227ec681f3Smrg * Optional pointer to the array of driOptionDescription describing 237ec681f3Smrg * driver-specific driconf options. 247ec681f3Smrg */ 257ec681f3Smrg const struct driOptionDescription *driconf; 267ec681f3Smrg 277ec681f3Smrg /* Number of entries in the driconf array. */ 287ec681f3Smrg unsigned driconf_count; 297ec681f3Smrg 307ec681f3Smrg /** 317ec681f3Smrg * Create a pipe srcreen. 327ec681f3Smrg * 337ec681f3Smrg * This function does any wrapping of the screen. 347ec681f3Smrg * For example wrapping trace or rbug debugging drivers around it. 357ec681f3Smrg */ 367ec681f3Smrg struct pipe_screen* (*create_screen)(int drm_fd, 377ec681f3Smrg const struct pipe_screen_config *config); 387ec681f3Smrg}; 397ec681f3Smrg 407ec681f3Smrgextern const struct drm_driver_descriptor driver_descriptor; 417ec681f3Smrg 427ec681f3Smrg#endif 43