projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
egl: always compile surfaceless
[mesa.git]
/
src
/
egl
/
main
/
egldisplay.h
diff --git
a/src/egl/main/egldisplay.h
b/src/egl/main/egldisplay.h
index cfd0ff66d6493b36a4d81e0a78f35eb879b4df05..951679ba0f033d1f0e8f5d7ad3b6a422a5c1689c 100644
(file)
--- a/
src/egl/main/egldisplay.h
+++ b/
src/egl/main/egldisplay.h
@@
-50,6
+50,7
@@
enum _egl_platform_type {
_EGL_PLATFORM_ANDROID,
_EGL_PLATFORM_HAIKU,
_EGL_PLATFORM_SURFACELESS,
_EGL_PLATFORM_ANDROID,
_EGL_PLATFORM_HAIKU,
_EGL_PLATFORM_SURFACELESS,
+ _EGL_PLATFORM_DEVICE,
_EGL_NUM_PLATFORMS,
_EGL_INVALID_PLATFORM = -1
_EGL_NUM_PLATFORMS,
_EGL_INVALID_PLATFORM = -1
@@
-149,7
+150,6
@@
struct _egl_extensions
EGLBoolean WL_create_wayland_buffer_from_image;
};
EGLBoolean WL_create_wayland_buffer_from_image;
};
-
struct _egl_display
{
/* used to link displays */
struct _egl_display
{
/* used to link displays */
@@
-167,7
+167,8
@@
struct _egl_display
/* options that affect how the driver initializes the display */
struct {
EGLBoolean ForceSoftware; /**< Use software path only */
/* options that affect how the driver initializes the display */
struct {
EGLBoolean ForceSoftware; /**< Use software path only */
- void *Platform; /**< Platform-specific options */
+ EGLAttrib *Attribs; /**< Platform-specific options */
+ int fd; /**< plaform device specific, local fd */
} Options;
/* these fields are set by the driver during init */
} Options;
/* these fields are set by the driver during init */
@@
-202,7
+203,7
@@
_eglFiniDisplay(void);
extern _EGLDisplay *
extern _EGLDisplay *
-_eglFindDisplay(_EGLPlatformType plat, void *plat_dpy);
+_eglFindDisplay(_EGLPlatformType plat, void *plat_dpy
, const EGLAttrib *attr
);
extern void
extern void
@@
-274,6
+275,19
@@
_eglIsResourceLinked(_EGLResource *res)
return res->IsLinked;
}
return res->IsLinked;
}
+static inline size_t
+_eglNumAttribs(const EGLAttrib *attribs)
+{
+ size_t len = 0;
+
+ if (attribs) {
+ while (attribs[len] != EGL_NONE)
+ len += 2;
+ len++;
+ }
+ return len;
+}
+
#ifdef HAVE_X11_PLATFORM
_EGLDisplay*
_eglGetX11Display(Display *native_display, const EGLAttrib *attrib_list);
#ifdef HAVE_X11_PLATFORM
_EGLDisplay*
_eglGetX11Display(Display *native_display, const EGLAttrib *attrib_list);
@@
-295,12
+309,20
@@
_eglGetWaylandDisplay(struct wl_display *native_display,
const EGLAttrib *attrib_list);
#endif
const EGLAttrib *attrib_list);
#endif
-#ifdef HAVE_SURFACELESS_PLATFORM
_EGLDisplay*
_eglGetSurfacelessDisplay(void *native_display,
const EGLAttrib *attrib_list);
_EGLDisplay*
_eglGetSurfacelessDisplay(void *native_display,
const EGLAttrib *attrib_list);
+
+#ifdef HAVE_ANDROID_PLATFORM
+_EGLDisplay*
+_eglGetAndroidDisplay(void *native_display,
+ const EGLAttrib *attrib_list);
#endif
#endif
+_EGLDisplay*
+_eglGetDeviceDisplay(void *native_display,
+ const EGLAttrib *attrib_list);
+
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif