1 #ifndef EGLDRIVER_INCLUDED
2 #define EGLDRIVER_INCLUDED
5 #include "egltypedefs.h"
9 typedef _EGLDriver
*(*_EGLMain_t
)(const char *args
);
13 * Base class for device drivers.
17 void *LibHandle
; /**< dlopen handle */
18 const char *Path
; /**< path to this driver */
19 const char *Args
; /**< args to load this driver */
21 const char *Name
; /**< name of this driver */
24 * Probe a display and return a score.
27 * 50 means the driver supports the display;
28 * 90 means the driver can accelerate the display;
29 * 100 means a perfect match.
31 EGLint (*Probe
)(_EGLDriver
*drv
, _EGLDisplay
*dpy
);
34 * Release the driver resource.
36 * It is called before dlclose().
38 void (*Unload
)(_EGLDriver
*drv
);
40 _EGLAPI API
; /**< EGL API dispatch table */
45 _eglMain(const char *args
);
49 _eglMatchDriver(_EGLDisplay
*dpy
);
53 _eglPreloadDrivers(void);
57 _eglUnloadDrivers(void);
61 _eglInitDriverFallbacks(_EGLDriver
*drv
);
65 _eglSetProbeCache(EGLint key
, const void *val
);
69 _eglGetProbeCache(EGLint key
);
72 #endif /* EGLDRIVER_INCLUDED */