egl: deduplicate swap interval clamping logic
[mesa.git] / src / egl / drivers / dri2 / platform_wayland.c
index f4c09ac0bc10c6885f3d9447cb9352ab8725da54..02db473c8cac894a5443a0a291502b68035cafb2 100644 (file)
@@ -63,10 +63,6 @@ enum wl_drm_format_flags {
    HAS_RGB565 = 4,
 };
 
-static EGLBoolean
-dri2_wl_swap_interval(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf,
-                      EGLint interval);
-
 static int
 roundtrip(struct dri2_egl_display *dri2_dpy)
 {
@@ -230,8 +226,7 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
        goto cleanup_surf;
     }
 
-   dri2_wl_swap_interval(drv, disp, &dri2_surf->base,
-                         dri2_dpy->default_swap_interval);
+   dri2_surf->base.SwapInterval = dri2_dpy->default_swap_interval;
 
    return &dri2_surf->base;
 
@@ -1083,6 +1078,10 @@ dmabuf_handle_modifier(void *data, struct zwp_linux_dmabuf_v1 *dmabuf,
    struct dri2_egl_display *dri2_dpy = data;
    uint64_t *mod = NULL;
 
+   if (modifier_hi == (DRM_FORMAT_MOD_INVALID >> 32) &&
+       modifier_lo == (DRM_FORMAT_MOD_INVALID & 0xffffffff))
+      return;
+
    switch (format) {
    case WL_DRM_FORMAT_ARGB8888:
       mod = u_vector_add(&dri2_dpy->wl_modifiers.argb8888);
@@ -1146,13 +1145,6 @@ dri2_wl_swap_interval(_EGLDriver *drv,
                    _EGLSurface *surf,
                    EGLint interval)
 {
-   if (interval > surf->Config->MaxSwapInterval)
-      interval = surf->Config->MaxSwapInterval;
-   else if (interval < surf->Config->MinSwapInterval)
-      interval = surf->Config->MinSwapInterval;
-
-   surf->SwapInterval = interval;
-
    return EGL_TRUE;
 }