static boolean drm_surface_copy_swap(struct native_surface *nsurf) { struct drm_surface *drmsurf = drm_surface(nsurf); struct drm_display *drmdpy = drmsurf->drmdpy; (void) resource_surface_throttle(drmsurf->rsurf); if (!resource_surface_copy_swap(drmsurf->rsurf, &drmdpy->base)) return FALSE; (void) resource_surface_flush(drmsurf->rsurf, &drmdpy->base); if (!drm_surface_flush_frontbuffer(nsurf)) return FALSE; drmsurf->sequence_number++; return TRUE; }
void resource_surface_wait(struct resource_surface *rsurf) { while (resource_surface_throttle(rsurf)); }