Robert Bragg <rob...@sixbynine.org> writes: > @@ -491,8 +495,13 @@ dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, > _EGLSurface *draw) > dri2_surf->dx = 0; > dri2_surf->dy = 0; > > - wl_surface_damage(dri2_surf->wl_win->surface, 0, 0, > - dri2_surf->base.Width, dri2_surf->base.Height); > + for (i = 0; i < n_rects; i++) { > + const int *rect = &rects[i * 4]; > + wl_surface_damage(dri2_surf->wl_win->surface, > + rect[0], > + dri2_surf->base.Height - rect[1] - rect[3], > + rect[2], rect[3]); > + }
It looks like this piece of the spec was missed: If <n_rects> is 0 then <rects> is ignored and the entire surface is implicitly damaged and the behaviour is equivalent to calling eglSwapBuffers. If an obvious i == 0 case is added (and the rect in original eglSwapBuffers() optionally dropped), this series is: Reviewed-by: Eric Anholt <e...@anholt.net>
pgp9amVr74SK7.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev