mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-25 19:08:12 +02:00
81 lines
1.3 KiB
C
81 lines
1.3 KiB
C
#ifndef EGLDRIVER_INCLUDED
|
|
#define EGLDRIVER_INCLUDED
|
|
|
|
|
|
#include "egltypedefs.h"
|
|
#include "eglapi.h"
|
|
|
|
/* should probably use a dynamic-length string, but this will do */
|
|
#define MAX_EXTENSIONS_LEN 1000
|
|
|
|
|
|
/**
|
|
* Optional EGL extensions info.
|
|
*/
|
|
struct _egl_extensions
|
|
{
|
|
EGLBoolean MESA_screen_surface;
|
|
EGLBoolean MESA_copy_context;
|
|
|
|
char String[MAX_EXTENSIONS_LEN];
|
|
};
|
|
|
|
|
|
/**
|
|
* 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 */
|
|
const char *ClientAPIs;
|
|
|
|
_EGLAPI API;
|
|
|
|
_EGLExtensions Extensions;
|
|
};
|
|
|
|
|
|
extern _EGLDriver *_eglMain(_EGLDisplay *dpy);
|
|
|
|
|
|
extern _EGLDriver *
|
|
_eglChooseDriver(EGLDisplay dpy);
|
|
|
|
|
|
extern _EGLDriver *
|
|
_eglOpenDriver(_EGLDisplay *dpy, const char *driverName);
|
|
|
|
|
|
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 */
|