egl/wayland: don't populate dri2_dpy->swrast_loader_extension
[mesa.git] / src / egl / drivers / dri2 / egl_dri2.h
index 317de069ecd3ba2e3f52951b5dc40ca2adde9bab..f51c3c6bbdf47d6f5fc2f19c204f420bc95aadb0 100644 (file)
@@ -143,6 +143,10 @@ struct dri2_egl_display_vtbl {
    EGLint (*query_buffer_age)(_EGLDriver *drv, _EGLDisplay *dpy,
                               _EGLSurface *surf);
 
+   EGLBoolean (*query_surface)(_EGLDriver *drv, _EGLDisplay *dpy,
+                               _EGLSurface *surf, EGLint attribute,
+                               EGLint *value);
+
    struct wl_buffer* (*create_wayland_buffer_from_image)(
                         _EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *img);
 
@@ -177,6 +181,10 @@ struct dri2_egl_display
    const __DRI2interopExtension *interop;
    int                       fd;
 
+   /* dri2_initialize/dri2_terminate increment/decrement this count, so does
+    * dri2_make_current (tracks if there are active contexts/surfaces). */
+   int                       ref_count;
+
    int                       own_device;
    int                       invalidate_available;
    int                       min_swap_interval;
@@ -186,7 +194,6 @@ struct dri2_egl_display
    struct gbm_dri_device    *gbm_dri;
 #endif
 
-   char                     *device_name;
    char                     *driver_name;
 
    __DRIdri2LoaderExtension    dri2_loader_extension;
@@ -213,6 +220,7 @@ struct dri2_egl_display
    int                      authenticated;
    int                      formats;
    uint32_t                  capabilities;
+   char                     *device_name;
 #endif
 
    int              is_render_node;
@@ -296,7 +304,6 @@ struct dri2_egl_surface
       __DRIimage           *front;
       unsigned int         visual;
 #endif
-
 };
 
 struct dri2_egl_config