1 #ifndef EGLDRIVER_INCLUDED
2 #define EGLDRIVER_INCLUDED
5 #include "egltypedefs.h"
10 * Base class for device drivers.
14 void *LibHandle
; /**< dlopen handle */
15 const char *Path
; /**< path to this driver */
16 const char *Args
; /**< args to load this driver */
18 const char *Name
; /**< name of this driver */
21 * Probe a display and return a score.
24 * 50 means the driver supports the display;
25 * 90 means the driver can accelerate the display;
26 * 100 means a perfect match.
28 EGLint (*Probe
)(_EGLDriver
*drv
, _EGLDisplay
*dpy
);
31 * Release the driver resource.
33 * It is called before dlclose().
35 void (*Unload
)(_EGLDriver
*drv
);
37 _EGLAPI API
; /**< EGL API dispatch table */
42 _eglMain(const char *args
);
46 _eglOpenDriver(_EGLDisplay
*dpy
);
50 _eglCloseDriver(_EGLDriver
*drv
, _EGLDisplay
*dpy
);
54 _eglPreloadDrivers(void);
58 _eglUnloadDrivers(void);
62 _eglInitDriverFallbacks(_EGLDriver
*drv
);
66 _eglSetProbeCache(EGLint key
, const void *val
);
70 _eglGetProbeCache(EGLint key
);
73 #endif /* EGLDRIVER_INCLUDED */