2005-04-22 22:09:39 +01:00
|
|
|
#ifndef EGLDRIVER_INCLUDED
|
|
|
|
#define EGLDRIVER_INCLUDED
|
|
|
|
|
|
|
|
|
|
|
|
#include "egltypedefs.h"
|
2005-11-24 04:02:16 +00:00
|
|
|
#include "eglapi.h"
|
2005-04-22 22:09:39 +01:00
|
|
|
|
2005-11-29 04:43:37 +00:00
|
|
|
/* should probably use a dynamic-length string, but this will do */
|
2005-05-16 03:15:42 +01:00
|
|
|
#define MAX_EXTENSIONS_LEN 1000
|
|
|
|
|
2005-04-22 22:09:39 +01:00
|
|
|
|
2005-11-29 04:43:37 +00:00
|
|
|
/**
|
|
|
|
* Optional EGL extensions info.
|
|
|
|
*/
|
|
|
|
struct _egl_extensions
|
|
|
|
{
|
|
|
|
EGLBoolean MESA_screen_surface;
|
|
|
|
EGLBoolean MESA_copy_context;
|
|
|
|
|
|
|
|
char String[MAX_EXTENSIONS_LEN];
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2005-04-22 22:09:39 +01:00
|
|
|
/**
|
|
|
|
* Base class for device drivers.
|
|
|
|
*/
|
|
|
|
struct _egl_driver
|
|
|
|
{
|
|
|
|
EGLBoolean Initialized; /* set by driver after initialized */
|
|
|
|
|
|
|
|
void *LibHandle; /* dlopen handle */
|
|
|
|
|
|
|
|
_EGLDisplay *Display;
|
|
|
|
|
|
|
|
int ABIversion;
|
|
|
|
int APImajor, APIminor; /* returned through eglInitialize */
|
2006-01-30 00:10:55 +00:00
|
|
|
const char *ClientAPIs;
|
2005-04-22 22:09:39 +01:00
|
|
|
|
2005-11-24 04:02:16 +00:00
|
|
|
_EGLAPI API;
|
2005-05-16 03:15:42 +01:00
|
|
|
|
2005-11-29 04:43:37 +00:00
|
|
|
_EGLExtensions Extensions;
|
2005-04-22 22:09:39 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2005-08-05 04:33:59 +01:00
|
|
|
extern _EGLDriver *_eglMain(_EGLDisplay *dpy);
|
2005-04-22 22:09:39 +01:00
|
|
|
|
|
|
|
|
2008-05-27 23:48:23 +01:00
|
|
|
extern const char *
|
|
|
|
_eglChooseDriver(_EGLDisplay *dpy);
|
2005-04-22 22:09:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
extern _EGLDriver *
|
2008-05-27 23:48:23 +01:00
|
|
|
_eglOpenDriver(_EGLDisplay *dpy, const char *DriverName);
|
2005-04-22 22:09:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
extern EGLBoolean
|
|
|
|
_eglCloseDriver(_EGLDriver *drv, EGLDisplay dpy);
|
|
|
|
|
|
|
|
|
|
|
|
extern _EGLDriver *
|
|
|
|
_eglLookupDriver(EGLDisplay d);
|
|
|
|
|
|
|
|
|
|
|
|
extern void
|
|
|
|
_eglInitDriverFallbacks(_EGLDriver *drv);
|
|
|
|
|
|
|
|
|
|
|
|
extern const char *
|
|
|
|
_eglQueryString(_EGLDriver *drv, EGLDisplay dpy, EGLint name);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLBoolean
|
|
|
|
_eglWaitGL(_EGLDriver *drv, EGLDisplay dpy);
|
|
|
|
|
|
|
|
|
|
|
|
extern EGLBoolean
|
|
|
|
_eglWaitNative(_EGLDriver *drv, EGLDisplay dpy, EGLint engine);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* EGLDRIVER_INCLUDED */
|