diff options
author | Jason Ekstrand <[email protected]> | 2016-03-15 14:09:50 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-03-15 14:09:50 -0700 |
commit | 7f6a0cb29c89a03441be744680a2145445be3a3c (patch) | |
tree | 516824ab49962521563b95fa79430cf948baaccc /src/egl | |
parent | b83785d86d2c7f07323920615c72a9f09695a9a7 (diff) | |
parent | e103b52aec773537d2821d8acc42ac9caa2a4b17 (diff) |
Merge remote-tracking branch 'public/master' into vulkan
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/drivers/dri2/platform_wayland.c | 8 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_x11.c | 3 | ||||
-rw-r--r-- | src/egl/main/eglapi.c | 10 | ||||
-rw-r--r-- | src/egl/main/eglapi.h | 280 | ||||
-rw-r--r-- | src/egl/main/egldisplay.h | 2 | ||||
-rw-r--r-- | src/egl/main/eglfallbacks.c | 30 | ||||
-rw-r--r-- | src/egl/wayland/wayland-egl/wayland-egl-priv.h | 8 |
7 files changed, 167 insertions, 174 deletions
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 341acb7ed1b..ff0d5c802ac 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -305,7 +305,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) { struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); - int i; + int i, use_flags; unsigned int dri_image_format; /* currently supports three WL DRM formats, @@ -352,6 +352,8 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) if (dri2_surf->back == NULL) return -1; + use_flags = __DRI_IMAGE_USE_SHARE | __DRI_IMAGE_USE_BACKBUFFER; + if (dri2_dpy->is_different_gpu && dri2_surf->back->linear_copy == NULL) { dri2_surf->back->linear_copy = @@ -359,7 +361,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) dri2_surf->base.Width, dri2_surf->base.Height, dri_image_format, - __DRI_IMAGE_USE_SHARE | + use_flags | __DRI_IMAGE_USE_LINEAR, NULL); if (dri2_surf->back->linear_copy == NULL) @@ -373,7 +375,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) dri2_surf->base.Height, dri_image_format, dri2_dpy->is_different_gpu ? - 0 : __DRI_IMAGE_USE_SHARE, + 0 : use_flags, NULL); dri2_surf->back->age = 0; } diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 420f567651c..3ab91886e01 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1006,6 +1006,9 @@ dri2_create_image_khr_pixmap(_EGLDisplay *disp, _EGLContext *ctx, geometry_cookie = xcb_get_geometry (dri2_dpy->conn, drawable); buffers_reply = xcb_dri2_get_buffers_reply (dri2_dpy->conn, buffers_cookie, NULL); + if (buffers_reply == NULL) + return NULL; + buffers = xcb_dri2_get_buffers_buffers (buffers_reply); if (buffers == NULL) { return NULL; diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 32f68233aeb..dd145a1195e 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -405,11 +405,9 @@ _eglCreateExtensionsString(_EGLDisplay *dpy) _EGL_CHECK_EXTENSION(KHR_image_pixmap); _EGL_CHECK_EXTENSION(KHR_reusable_sync); _EGL_CHECK_EXTENSION(KHR_surfaceless_context); - _EGL_CHECK_EXTENSION(KHR_vg_parent_image); _EGL_CHECK_EXTENSION(KHR_wait_sync); _EGL_CHECK_EXTENSION(MESA_configless_context); - _EGL_CHECK_EXTENSION(MESA_drm_display); _EGL_CHECK_EXTENSION(MESA_drm_image); _EGL_CHECK_EXTENSION(MESA_image_dma_buf_export); @@ -1198,13 +1196,6 @@ eglGetError(void) } -static EGLDisplay EGLAPIENTRY -eglGetDRMDisplayMESA(int fd) -{ - _EGLDisplay *dpy = _eglFindDisplay(_EGL_PLATFORM_DRM, (void *) (intptr_t) fd); - return _eglGetDisplayHandle(dpy); -} - /** ** EGL 1.2 **/ @@ -1858,7 +1849,6 @@ eglGetProcAddress(const char *procname) { "eglGetPlatformDisplay", (_EGLProc) eglGetPlatformDisplay }, { "eglCreatePlatformWindowSurface", (_EGLProc) eglCreatePlatformWindowSurface }, { "eglCreatePlatformPixmapSurface", (_EGLProc) eglCreatePlatformPixmapSurface }, - { "eglGetDRMDisplayMESA", (_EGLProc) eglGetDRMDisplayMESA }, { "eglCreateImageKHR", (_EGLProc) eglCreateImageKHR }, { "eglDestroyImageKHR", (_EGLProc) eglDestroyImage }, { "eglCreateSyncKHR", (_EGLProc) eglCreateSyncKHR }, diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h index 6c54c7c410d..3f6d3c27a52 100644 --- a/src/egl/main/eglapi.h +++ b/src/egl/main/eglapi.h @@ -41,153 +41,153 @@ extern "C" { */ typedef void (*_EGLProc)(void); - -/** - * Typedefs for all EGL API entrypoint functions. - */ - -/* driver funcs */ -typedef EGLBoolean (*Initialize_t)(_EGLDriver *, _EGLDisplay *dpy); -typedef EGLBoolean (*Terminate_t)(_EGLDriver *, _EGLDisplay *dpy); - -/* config funcs */ -typedef EGLBoolean (*GetConfigs_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); -typedef EGLBoolean (*ChooseConfig_t)(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); -typedef EGLBoolean (*GetConfigAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, EGLint attribute, EGLint *value); - -/* context funcs */ -typedef _EGLContext *(*CreateContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, _EGLContext *share_list, const EGLint *attrib_list); -typedef EGLBoolean (*DestroyContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx); -/* this is the only function (other than Initialize) that may be called with an uninitialized display */ -typedef EGLBoolean (*MakeCurrent_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw, _EGLSurface *read, _EGLContext *ctx); -typedef EGLBoolean (*QueryContext_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLint attribute, EGLint *value); - -/* surface funcs */ -typedef _EGLSurface *(*CreateWindowSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, void *native_window, const EGLint *attrib_list); -typedef _EGLSurface *(*CreatePixmapSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, void *native_pixmap, const EGLint *attrib_list); -typedef _EGLSurface *(*CreatePbufferSurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *config, const EGLint *attrib_list); -typedef EGLBoolean (*DestroySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface); -typedef EGLBoolean (*QuerySurface_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint *value); -typedef EGLBoolean (*SurfaceAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint attribute, EGLint value); -typedef EGLBoolean (*BindTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer); -typedef EGLBoolean (*ReleaseTexImage_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, EGLint buffer); -typedef EGLBoolean (*SwapInterval_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, EGLint interval); -typedef EGLBoolean (*SwapBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *draw); -typedef EGLBoolean (*CopyBuffers_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, void *native_pixmap_target); - -/* misc funcs */ -typedef EGLBoolean (*WaitClient_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx); -typedef EGLBoolean (*WaitNative_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLint engine); - -/* this function may be called from multiple threads at the same time */ -typedef _EGLProc (*GetProcAddress_t)(_EGLDriver *drv, const char *procname); - - - -typedef _EGLSurface *(*CreatePbufferFromClientBuffer_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum buftype, EGLClientBuffer buffer, _EGLConfig *config, const EGLint *attrib_list); - - -typedef _EGLImage *(*CreateImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attr_list); -typedef EGLBoolean (*DestroyImageKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *image); - - -typedef _EGLSync *(*CreateSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum type, const EGLint *attrib_list, const EGLAttrib *attrib_list64); -typedef EGLBoolean (*DestroySyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync); -typedef EGLint (*ClientWaitSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint flags, EGLTime timeout); -typedef EGLint (*WaitSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync); -typedef EGLBoolean (*SignalSyncKHR_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLenum mode); -typedef EGLBoolean (*GetSyncAttrib_t)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, EGLint attribute, EGLAttrib *value); - - -typedef EGLBoolean (*SwapBuffersRegionNOK_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf, EGLint numRects, const EGLint *rects); - -typedef _EGLImage *(*CreateDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list); -typedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *name, EGLint *handle, EGLint *stride); - struct wl_display; -typedef EGLBoolean (*BindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display); -typedef EGLBoolean (*UnbindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display); -typedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_resource *buffer, EGLint attribute, EGLint *value); - -typedef struct wl_buffer * (*CreateWaylandBufferFromImageWL_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img); - -typedef EGLBoolean (*PostSubBufferNV_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surface, EGLint x, EGLint y, EGLint width, EGLint height); - -typedef EGLint (*QueryBufferAge_t)(_EGLDriver *drv, - _EGLDisplay *dpy, _EGLSurface *surface); - -typedef EGLBoolean (*SwapBuffersWithDamageEXT_t) (_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surface, const EGLint *rects, EGLint n_rects); - -typedef EGLBoolean (*GetSyncValuesCHROMIUM_t) (_EGLDisplay *dpy, _EGLSurface *surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc); - -typedef EGLBoolean (*ExportDMABUFImageQueryMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fourcc, EGLint *nplanes, EGLuint64KHR *modifiers); -typedef EGLBoolean (*ExportDMABUFImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *fds, EGLint *strides, EGLint *offsets); /** * The API dispatcher jumps through these functions */ struct _egl_api { - Initialize_t Initialize; - Terminate_t Terminate; - - GetConfigs_t GetConfigs; - ChooseConfig_t ChooseConfig; - GetConfigAttrib_t GetConfigAttrib; - - CreateContext_t CreateContext; - DestroyContext_t DestroyContext; - MakeCurrent_t MakeCurrent; - QueryContext_t QueryContext; - - CreateWindowSurface_t CreateWindowSurface; - CreatePixmapSurface_t CreatePixmapSurface; - CreatePbufferSurface_t CreatePbufferSurface; - DestroySurface_t DestroySurface; - QuerySurface_t QuerySurface; - SurfaceAttrib_t SurfaceAttrib; - BindTexImage_t BindTexImage; - ReleaseTexImage_t ReleaseTexImage; - SwapInterval_t SwapInterval; - SwapBuffers_t SwapBuffers; - CopyBuffers_t CopyBuffers; - - WaitClient_t WaitClient; - WaitNative_t WaitNative; - GetProcAddress_t GetProcAddress; - - CreatePbufferFromClientBuffer_t CreatePbufferFromClientBuffer; - - CreateImageKHR_t CreateImageKHR; - DestroyImageKHR_t DestroyImageKHR; - - CreateSyncKHR_t CreateSyncKHR; - DestroySyncKHR_t DestroySyncKHR; - ClientWaitSyncKHR_t ClientWaitSyncKHR; - WaitSyncKHR_t WaitSyncKHR; - SignalSyncKHR_t SignalSyncKHR; - GetSyncAttrib_t GetSyncAttrib; - - SwapBuffersRegionNOK_t SwapBuffersRegionNOK; - - CreateDRMImageMESA_t CreateDRMImageMESA; - ExportDRMImageMESA_t ExportDRMImageMESA; - - BindWaylandDisplayWL_t BindWaylandDisplayWL; - UnbindWaylandDisplayWL_t UnbindWaylandDisplayWL; - QueryWaylandBufferWL_t QueryWaylandBufferWL; - - CreateWaylandBufferFromImageWL_t CreateWaylandBufferFromImageWL; - - SwapBuffersWithDamageEXT_t SwapBuffersWithDamageEXT; - - PostSubBufferNV_t PostSubBufferNV; - - QueryBufferAge_t QueryBufferAge; - GetSyncValuesCHROMIUM_t GetSyncValuesCHROMIUM; - - ExportDMABUFImageQueryMESA_t ExportDMABUFImageQueryMESA; - ExportDMABUFImageMESA_t ExportDMABUFImageMESA; + /* driver funcs */ + EGLBoolean (*Initialize)(_EGLDriver *, _EGLDisplay *dpy); + EGLBoolean (*Terminate)(_EGLDriver *, _EGLDisplay *dpy); + + /* config funcs */ + EGLBoolean (*GetConfigs)(_EGLDriver *drv, _EGLDisplay *dpy, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); + EGLBoolean (*ChooseConfig)(_EGLDriver *drv, _EGLDisplay *dpy, + const EGLint *attrib_list, EGLConfig *configs, + EGLint config_size, EGLint *num_config); + EGLBoolean (*GetConfigAttrib)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLConfig *config, EGLint attribute, + EGLint *value); + + /* context funcs */ + _EGLContext *(*CreateContext)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLConfig *config, _EGLContext *share_list, + const EGLint *attrib_list); + EGLBoolean (*DestroyContext)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLContext *ctx); + /* this is the only function (other than Initialize) that may be called + * with an uninitialized display + */ + EGLBoolean (*MakeCurrent)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *draw, _EGLSurface *read, + _EGLContext *ctx); + EGLBoolean (*QueryContext)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLContext *ctx, EGLint attribute, + EGLint *value); + + /* surface funcs */ + _EGLSurface *(*CreateWindowSurface)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLConfig *config, void *native_window, + const EGLint *attrib_list); + _EGLSurface *(*CreatePixmapSurface)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLConfig *config, void *native_pixmap, + const EGLint *attrib_list); + _EGLSurface *(*CreatePbufferSurface)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLConfig *config, + const EGLint *attrib_list); + EGLBoolean (*DestroySurface)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface); + EGLBoolean (*QuerySurface)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, EGLint attribute, + EGLint *value); + EGLBoolean (*SurfaceAttrib)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, EGLint attribute, + EGLint value); + EGLBoolean (*BindTexImage)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, EGLint buffer); + EGLBoolean (*ReleaseTexImage)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, EGLint buffer); + EGLBoolean (*SwapInterval)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surf, EGLint interval); + EGLBoolean (*SwapBuffers)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *draw); + EGLBoolean (*CopyBuffers)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, void *native_pixmap_target); + + /* misc functions */ + EGLBoolean (*WaitClient)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLContext *ctx); + EGLBoolean (*WaitNative)(_EGLDriver *drv, _EGLDisplay *dpy, + EGLint engine); + + /* this function may be called from multiple threads at the same time */ + _EGLProc (*GetProcAddress)(_EGLDriver *drv, const char *procname); + + _EGLSurface *(*CreatePbufferFromClientBuffer)(_EGLDriver *drv, + _EGLDisplay *dpy, + EGLenum buftype, + EGLClientBuffer buffer, + _EGLConfig *config, + const EGLint *attrib_list); + + _EGLImage *(*CreateImageKHR)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLContext *ctx, EGLenum target, + EGLClientBuffer buffer, + const EGLint *attr_list); + EGLBoolean (*DestroyImageKHR)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLImage *image); + + _EGLSync *(*CreateSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, EGLenum type, + const EGLint *attrib_list, + const EGLAttrib *attrib_list64); + EGLBoolean (*DestroySyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSync *sync); + EGLint (*ClientWaitSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSync *sync, EGLint flags, EGLTime timeout); + EGLint (*WaitSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync); + EGLBoolean (*SignalSyncKHR)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSync *sync, EGLenum mode); + EGLBoolean (*GetSyncAttrib)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSync *sync, EGLint attribute, + EGLAttrib *value); + + EGLBoolean (*SwapBuffersRegionNOK)(_EGLDriver *drv, _EGLDisplay *disp, + _EGLSurface *surf, EGLint numRects, + const EGLint *rects); + + _EGLImage *(*CreateDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp, + const EGLint *attr_list); + EGLBoolean (*ExportDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp, + _EGLImage *img, EGLint *name, + EGLint *handle, EGLint *stride); + + EGLBoolean (*BindWaylandDisplayWL)(_EGLDriver *drv, _EGLDisplay *disp, + struct wl_display *display); + EGLBoolean (*UnbindWaylandDisplayWL)(_EGLDriver *drv, _EGLDisplay *disp, + struct wl_display *display); + EGLBoolean (*QueryWaylandBufferWL)(_EGLDriver *drv, _EGLDisplay *displ, + struct wl_resource *buffer, + EGLint attribute, EGLint *value); + + struct wl_buffer *(*CreateWaylandBufferFromImageWL)(_EGLDriver *drv, + _EGLDisplay *disp, + _EGLImage *img); + + EGLBoolean (*SwapBuffersWithDamageEXT)(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surface, + const EGLint *rects, EGLint n_rects); + + EGLBoolean (*PostSubBufferNV)(_EGLDriver *drv, _EGLDisplay *disp, + _EGLSurface *surface, EGLint x, EGLint y, + EGLint width, EGLint height); + + EGLint (*QueryBufferAge)(_EGLDriver *drv, + _EGLDisplay *dpy, _EGLSurface *surface); + EGLBoolean (*GetSyncValuesCHROMIUM)(_EGLDisplay *dpy, _EGLSurface *surface, + EGLuint64KHR *ust, EGLuint64KHR *msc, + EGLuint64KHR *sbc); + + EGLBoolean (*ExportDMABUFImageQueryMESA)(_EGLDriver *drv, _EGLDisplay *disp, + _EGLImage *img, EGLint *fourcc, + EGLint *nplanes, + EGLuint64KHR *modifiers); + EGLBoolean (*ExportDMABUFImageMESA)(_EGLDriver *drv, _EGLDisplay *disp, + _EGLImage *img, EGLint *fds, + EGLint *strides, EGLint *offsets); }; diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index 6c64980cf20..cec6d59e6a4 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -112,11 +112,9 @@ struct _egl_extensions EGLBoolean KHR_image_pixmap; EGLBoolean KHR_reusable_sync; EGLBoolean KHR_surfaceless_context; - EGLBoolean KHR_vg_parent_image; EGLBoolean KHR_wait_sync; EGLBoolean MESA_configless_context; - EGLBoolean MESA_drm_display; EGLBoolean MESA_drm_image; EGLBoolean MESA_image_dma_buf_export; diff --git a/src/egl/main/eglfallbacks.c b/src/egl/main/eglfallbacks.c index 65daf8fd0f5..d0fce8c20de 100644 --- a/src/egl/main/eglfallbacks.c +++ b/src/egl/main/eglfallbacks.c @@ -59,29 +59,29 @@ _eglInitDriverFallbacks(_EGLDriver *drv) drv->API.ChooseConfig = _eglChooseConfig; drv->API.GetConfigAttrib = _eglGetConfigAttrib; - drv->API.CreateContext = (CreateContext_t) _eglReturnFalse; - drv->API.DestroyContext = (DestroyContext_t) _eglReturnFalse; - drv->API.MakeCurrent = (MakeCurrent_t) _eglReturnFalse; + drv->API.CreateContext = (void*) _eglReturnFalse; + drv->API.DestroyContext = (void*) _eglReturnFalse; + drv->API.MakeCurrent = (void*) _eglReturnFalse; drv->API.QueryContext = _eglQueryContext; - drv->API.CreateWindowSurface = (CreateWindowSurface_t) _eglReturnFalse; - drv->API.CreatePixmapSurface = (CreatePixmapSurface_t) _eglReturnFalse; - drv->API.CreatePbufferSurface = (CreatePbufferSurface_t) _eglReturnFalse; + drv->API.CreateWindowSurface = (void*) _eglReturnFalse; + drv->API.CreatePixmapSurface = (void*) _eglReturnFalse; + drv->API.CreatePbufferSurface = (void*) _eglReturnFalse; drv->API.CreatePbufferFromClientBuffer = - (CreatePbufferFromClientBuffer_t) _eglReturnFalse; - drv->API.DestroySurface = (DestroySurface_t) _eglReturnFalse; + (void*) _eglReturnFalse; + drv->API.DestroySurface = (void*) _eglReturnFalse; drv->API.QuerySurface = _eglQuerySurface; drv->API.SurfaceAttrib = _eglSurfaceAttrib; - drv->API.BindTexImage = (BindTexImage_t) _eglReturnFalse; - drv->API.ReleaseTexImage = (ReleaseTexImage_t) _eglReturnFalse; - drv->API.CopyBuffers = (CopyBuffers_t) _eglReturnFalse; - drv->API.SwapBuffers = (SwapBuffers_t) _eglReturnFalse; + drv->API.BindTexImage = (void*) _eglReturnFalse; + drv->API.ReleaseTexImage = (void*) _eglReturnFalse; + drv->API.CopyBuffers = (void*) _eglReturnFalse; + drv->API.SwapBuffers = (void*) _eglReturnFalse; drv->API.SwapInterval = _eglSwapInterval; - drv->API.WaitClient = (WaitClient_t) _eglReturnFalse; - drv->API.WaitNative = (WaitNative_t) _eglReturnFalse; - drv->API.GetProcAddress = (GetProcAddress_t) _eglReturnFalse; + drv->API.WaitClient = (void*) _eglReturnFalse; + drv->API.WaitNative = (void*) _eglReturnFalse; + drv->API.GetProcAddress = (void*) _eglReturnFalse; drv->API.CreateImageKHR = NULL; drv->API.DestroyImageKHR = NULL; diff --git a/src/egl/wayland/wayland-egl/wayland-egl-priv.h b/src/egl/wayland/wayland-egl/wayland-egl-priv.h index 74a155202be..f1e3ba28309 100644 --- a/src/egl/wayland/wayland-egl/wayland-egl-priv.h +++ b/src/egl/wayland/wayland-egl/wayland-egl-priv.h @@ -1,10 +1,6 @@ #ifndef _WAYLAND_EGL_PRIV_H #define _WAYLAND_EGL_PRIV_H -#ifdef __cplusplus -extern "C" { -#endif - /* GCC visibility */ #if defined(__GNUC__) #define WL_EGL_EXPORT __attribute__ ((visibility("default"))) @@ -14,6 +10,10 @@ extern "C" { #include <wayland-client.h> +#ifdef __cplusplus +extern "C" { +#endif + struct wl_egl_window { struct wl_surface *surface; |