egl/dri2: implement EGL_KHR_wait_sync
[mesa.git] / src / egl / main / egldisplay.h
index 9c3c8c7cf1662b92149f38c24909e8906be77f76..70381bcfe51b7ec30f64a00793c4621d7f9d6e93 100644 (file)
 #define EGLDISPLAY_INCLUDED
 
 #include "c99_compat.h"
+#include "c11/threads.h"
 
 #include "egltypedefs.h"
 #include "egldefines.h"
-#include "eglmutex.h"
 #include "eglarray.h"
 
 
@@ -44,7 +44,6 @@ enum _egl_platform_type {
    _EGL_PLATFORM_X11,
    _EGL_PLATFORM_WAYLAND,
    _EGL_PLATFORM_DRM,
-   _EGL_PLATFORM_FBDEV,
    _EGL_PLATFORM_NULL,
    _EGL_PLATFORM_ANDROID,
    _EGL_PLATFORM_HAIKU,
@@ -107,6 +106,7 @@ struct _egl_extensions
 
    EGLBoolean KHR_reusable_sync;
    EGLBoolean KHR_fence_sync;
+   EGLBoolean KHR_wait_sync;
 
    EGLBoolean KHR_surfaceless_context;
    EGLBoolean KHR_create_context;
@@ -124,6 +124,8 @@ struct _egl_extensions
    EGLBoolean EXT_buffer_age;
    EGLBoolean EXT_swap_buffers_with_damage;
    EGLBoolean EXT_image_dma_buf_import;
+
+   EGLBoolean MESA_image_dma_buf_export;
 };
 
 
@@ -132,7 +134,7 @@ struct _egl_display
    /* used to link displays */
    _EGLDisplay *Next;
 
-   _EGLMutex Mutex;
+   mtx_t Mutex;
 
    _EGLPlatformType Platform; /**< The type of the platform display */
    void *PlatformDisplay;     /**< A pointer to the platform display */
@@ -154,8 +156,8 @@ struct _egl_display
    _EGLExtensions Extensions; /**< Extensions supported */
 
    /* these fields are derived from above */
-   char VersionString[1000];                       /**< EGL_VERSION */
-   char ClientAPIsString[1000];                    /**< EGL_CLIENT_APIS */
+   char VersionString[100];                        /**< EGL_VERSION */
+   char ClientAPIsString[100];                     /**< EGL_CLIENT_APIS */
    char ExtensionsString[_EGL_MAX_EXTENSIONS_LEN]; /**< EGL_EXTENSIONS */
 
    _EGLArray *Screens;