X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fegl%2Fmain%2Feglscreen.h;h=2a99f23c50a24952e0c3d1b05ebd85c41e503a3b;hb=a8b6b6555c7d6a02a3d095c72ebbdc218bc45cd3;hp=8860a2aa7f699104d27df12782498502577e2a81;hpb=8398535331dae39ff5f52e94a69abdbf7507a343;p=mesa.git diff --git a/src/egl/main/eglscreen.h b/src/egl/main/eglscreen.h index 8860a2aa7f6..2a99f23c50a 100644 --- a/src/egl/main/eglscreen.h +++ b/src/egl/main/eglscreen.h @@ -2,6 +2,15 @@ #define EGLSCREEN_INCLUDED +#include "egltypedefs.h" + + +#ifdef EGL_MESA_screen_surface + + +#define _EGL_SCREEN_MAX_MODES 16 + + /** * Per-screen information. * Note that an EGL screen doesn't have a size. A screen may be set to @@ -13,6 +22,8 @@ */ struct _egl_screen { + _EGLDisplay *Display; + EGLScreenMESA Handle; /* The public/opaque handle which names this object */ _EGLMode *CurrentMode; @@ -26,46 +37,36 @@ struct _egl_screen }; -extern EGLScreenMESA -_eglAllocScreenHandle(void); +PUBLIC void +_eglInitScreen(_EGLScreen *screen, _EGLDisplay *dpy, EGLint num_modes); -extern void -_eglInitScreen(_EGLScreen *screen); +PUBLIC EGLScreenMESA +_eglLinkScreen(_EGLScreen *screen); extern _EGLScreen * _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *dpy); -extern void -_eglAddScreen(_EGLDisplay *display, _EGLScreen *screen); +/** + * Return the handle of a linked screen. + */ +static INLINE EGLScreenMESA +_eglGetScreenHandle(_EGLScreen *screen) +{ + return (screen) ? screen->Handle : (EGLScreenMESA) 0; +} extern EGLBoolean _eglGetScreensMESA(_EGLDriver *drv, _EGLDisplay *dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens); -extern _EGLSurface * -_eglCreateScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, const EGLint *attrib_list); - - -extern EGLBoolean -_eglShowScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLSurface *surf, _EGLMode *m); - - -extern EGLBoolean -_eglScreenModeMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLMode *m); - - extern EGLBoolean _eglScreenPositionMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, EGLint x, EGLint y); -extern EGLBoolean -_eglQueryDisplayMESA(_EGLDriver *drv, _EGLDisplay *dpy, EGLint attribute, EGLint *value); - - extern EGLBoolean _eglQueryScreenSurfaceMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, _EGLSurface **surface); @@ -79,12 +80,7 @@ extern EGLBoolean _eglQueryScreenMESA(_EGLDriver *drv, _EGLDisplay *dpy, _EGLScreen *scrn, EGLint attribute, EGLint *value); -extern void -_eglDestroyScreenModes(_EGLScreen *scrn); - - -extern void -_eglDestroyScreen(_EGLScreen *scrn); +#endif /* EGL_MESA_screen_surface */ #endif /* EGLSCREEN_INCLUDED */