X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fegl%2Fdrivers%2Fdri2%2Fegl_dri2.h;h=f471561ed0ce113f1e72e67cbc540ba5731d9014;hb=2db95482964caf872f8f4b0ad6e0c34b3402c774;hp=4a5cf8e4ef167ba0be8f04e502d5571a91ae199a;hpb=b81cfc73408b3d55772a56fbfa0e505b4da281a8;p=mesa.git diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h index 4a5cf8e4ef1..f471561ed0c 100644 --- a/src/egl/drivers/dri2/egl_dri2.h +++ b/src/egl/drivers/dri2/egl_dri2.h @@ -45,6 +45,8 @@ #ifdef HAVE_WAYLAND_PLATFORM #include #include "wayland-egl-priv.h" +/* forward declarations of protocol elements */ +struct zwp_linux_dmabuf_v1; #endif #include @@ -73,6 +75,8 @@ #include "eglimage.h" #include "eglsync.h" +#include "util/u_vector.h" + struct wl_buffer; struct dri2_egl_driver @@ -150,6 +154,8 @@ struct dri2_egl_display_vtbl { EGLuint64KHR *sbc); __DRIdrawable *(*get_dri_drawable)(_EGLSurface *surf); + + void (*close_screen_notify)(_EGLDisplay *dpy); }; struct dri2_egl_display @@ -170,6 +176,7 @@ struct dri2_egl_display const __DRItexBufferExtension *tex_buffer; const __DRIimageExtension *image; const __DRIrobustnessExtension *robustness; + const __DRInoErrorExtension *no_error; const __DRI2configQueryExtension *config; const __DRI2fenceExtension *fence; const __DRI2rendererQueryExtension *rendererQuery; @@ -211,6 +218,12 @@ struct dri2_egl_display struct wl_drm *wl_drm; struct wl_shm *wl_shm; struct wl_event_queue *wl_queue; + struct zwp_linux_dmabuf_v1 *wl_dmabuf; + struct { + struct u_vector xrgb8888; + struct u_vector argb8888; + struct u_vector rgb565; + } wl_modifiers; bool authenticated; int formats; uint32_t capabilities; @@ -245,7 +258,6 @@ struct dri2_egl_surface _EGLSurface base; __DRIdrawable *dri_drawable; __DRIbuffer buffers[5]; - int buffer_count; bool have_fake_front; #ifdef HAVE_X11_PLATFORM @@ -360,6 +372,9 @@ dri2_load_driver(_EGLDisplay *disp); void dri2_setup_screen(_EGLDisplay *disp); +void +dri2_setup_swap_interval(_EGLDisplay *disp, int max_swap_interval); + EGLBoolean dri2_load_driver_swrast(_EGLDisplay *disp);