};
static EGLBoolean
-dri3_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw)
+dri3_swap_buffers_with_damage(_EGLDisplay *disp, _EGLSurface *draw,
+ const EGLint *rects, EGLint n_rects)
{
struct dri3_egl_surface *dri3_surf = dri3_egl_surface(draw);
return loader_dri3_swap_buffers_msc(&dri3_surf->loader_drawable,
0, 0, 0, 0,
+ rects, n_rects,
draw->SwapBehavior == EGL_BUFFER_PRESERVED) != -1;
}
+static EGLBoolean
+dri3_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw)
+{
+ return dri3_swap_buffers_with_damage(disp, draw, NULL, 0);
+}
+
static EGLBoolean
dri3_copy_buffers(_EGLDisplay *disp, _EGLSurface *surf, void *native_pixmap_target)
{
.create_image = dri3_create_image_khr,
.swap_interval = dri3_set_swap_interval,
.swap_buffers = dri3_swap_buffers,
+ .swap_buffers_with_damage = dri3_swap_buffers_with_damage,
.copy_buffers = dri3_copy_buffers,
.query_buffer_age = dri3_query_buffer_age,
.query_surface = dri3_query_surface,