diff options
Diffstat (limited to 'gralloc_drm_kms.c')
-rw-r--r-- | gralloc_drm_kms.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gralloc_drm_kms.c b/gralloc_drm_kms.c index 91e7e63..7c7a903 100644 --- a/gralloc_drm_kms.c +++ b/gralloc_drm_kms.c @@ -309,7 +309,10 @@ int gralloc_drm_bo_post(struct gralloc_drm_bo_t *bo) dst = (drm->next_front) ? drm->next_front : drm->current_front; - drm->drv->copy(drm->drv, dst, bo, 0, 0, + drm->drv->blit(drm->drv, dst, bo, 0, 0, + bo->handle->width, + bo->handle->height, + 0, 0, bo->handle->width, bo->handle->height); bo = dst; @@ -349,9 +352,12 @@ int gralloc_drm_bo_post(struct gralloc_drm_bo_t *bo) break; case DRM_SWAP_COPY: drm_kms_wait_for_post(drm, 0); - drm->drv->copy(drm->drv, drm->current_front, + drm->drv->blit(drm->drv, drm->current_front, bo, 0, 0, bo->handle->width, + bo->handle->height, + 0, 0, + bo->handle->width, bo->handle->height); if (drm->mode_quirk_vmwgfx) ret = drmModeDirtyFB(drm->fd, drm->current_front->fb_id, &drm->clip, 1); |