if (draw->Type == EGL_PIXMAP_BIT || draw->Type == EGL_PBUFFER_BIT)
return EGL_TRUE;
- if (dri2_dpy->flush)
- dri2_dpy->flush->flush(dri2_surf->dri_drawable);
+ dri2_dpy->flush->flush(dri2_surf->dri_drawable);
if (dri2_surf->have_fake_front)
render_attachment = XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT;
* happened. The driver should still be using the viewport hack to catch
* window resizes.
*/
- if (dri2_dpy->flush &&
- dri2_dpy->flush->base.version >= 3 && dri2_dpy->flush->invalidate)
+ if (dri2_dpy->flush->base.version >= 3 && dri2_dpy->flush->invalidate)
dri2_dpy->flush->invalidate(dri2_surf->dri_drawable);
return swap_count;
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
- if (dri2_dpy->dri2) {
- if (dri2_x11_swap_buffers_msc(drv, disp, draw, 0, 0, 0) != -1) {
- return EGL_TRUE;
- }
+ if (!dri2_dpy->flush) {
+ dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable);
+ return EGL_TRUE;
+ }
+
+ if (dri2_x11_swap_buffers_msc(drv, disp, draw, 0, 0, 0) == -1) {
/* Swap failed with a window drawable. */
_eglError(EGL_BAD_NATIVE_WINDOW, __func__);
return EGL_FALSE;
- } else {
- assert(dri2_dpy->swrast);
-
- dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable);
- return EGL_TRUE;
}
+ return EGL_TRUE;
}
static EGLBoolean
return EGL_TRUE;
}
-static struct dri2_egl_display_vtbl dri2_x11_swrast_display_vtbl = {
+static const struct dri2_egl_display_vtbl dri2_x11_swrast_display_vtbl = {
.authenticate = NULL,
.create_window_surface = dri2_x11_create_window_surface,
.create_pixmap_surface = dri2_x11_create_pixmap_surface,
.get_dri_drawable = dri2_surface_get_dri_drawable,
};
-static struct dri2_egl_display_vtbl dri2_x11_display_vtbl = {
+static const struct dri2_egl_display_vtbl dri2_x11_display_vtbl = {
.authenticate = dri2_x11_authenticate,
.create_window_surface = dri2_x11_create_window_surface,
.create_pixmap_surface = dri2_x11_create_pixmap_surface,