Home | History | Annotate | Download | only in vmwgfx

Lines Matching refs:dirty

454  * @dirty: The closure structure.
459 static void vmw_stdu_bo_clip(struct vmw_kms_dirty *dirty)
462 container_of(dirty, struct vmw_stdu_dirty, base);
463 struct vmw_stdu_dma *cmd = dirty->cmd;
466 blit += dirty->num_hits;
467 blit->srcx = dirty->fb_x;
468 blit->srcy = dirty->fb_y;
469 blit->x = dirty->unit_x1;
470 blit->y = dirty->unit_y1;
472 blit->w = dirty->unit_x2 - dirty->unit_x1;
473 blit->h = dirty->unit_y2 - dirty->unit_y1;
474 dirty->num_hits++;
480 ddirty->left = min_t(s32, ddirty->left, dirty->unit_x1);
481 ddirty->top = min_t(s32, ddirty->top, dirty->unit_y1);
482 ddirty->right = max_t(s32, ddirty->right, dirty->unit_x2);
483 ddirty->bottom = max_t(s32, ddirty->bottom, dirty->unit_y2);
489 * @dirty: The closure structure.
494 static void vmw_stdu_bo_fifo_commit(struct vmw_kms_dirty *dirty)
497 container_of(dirty, struct vmw_stdu_dirty, base);
499 container_of(dirty->unit, typeof(*stdu), base);
500 struct vmw_stdu_dma *cmd = dirty->cmd;
503 (SVGA3dCmdSurfaceDMASuffix *) &blit[dirty->num_hits];
504 size_t blit_size = sizeof(*blit) * dirty->num_hits + sizeof(*suffix);
506 if (!dirty->num_hits) {
507 vmw_fifo_commit(dirty->dev_priv, 0);
530 vmw_fifo_commit(dirty->dev_priv, sizeof(*cmd) + blit_size);
541 * @dirty: The closure structure.
545 static void vmw_stdu_bo_cpu_clip(struct vmw_kms_dirty *dirty)
548 container_of(dirty, struct vmw_stdu_dirty, base);
550 dirty->num_hits = 1;
553 ddirty->left = min_t(s32, ddirty->left, dirty->unit_x1);
554 ddirty->top = min_t(s32, ddirty->top, dirty->unit_y1);
555 ddirty->right = max_t(s32, ddirty->right, dirty->unit_x2);
556 ddirty->bottom = max_t(s32, ddirty->bottom, dirty->unit_y2);
563 ddirty->fb_left = min_t(s32, ddirty->fb_left, dirty->fb_x);
564 ddirty->fb_top = min_t(s32, ddirty->fb_top, dirty->fb_y);
571 * @dirty: The closure structure.
576 static void vmw_stdu_bo_cpu_commit(struct vmw_kms_dirty *dirty)
579 container_of(dirty, struct vmw_stdu_dirty, base);
581 container_of(dirty->unit, typeof(*stdu), base);
588 if (!dirty->num_hits)
747 * @dirty: The closure structure.
752 static void vmw_kms_stdu_surface_clip(struct vmw_kms_dirty *dirty)
755 container_of(dirty, struct vmw_stdu_dirty, base);
756 struct vmw_stdu_surface_copy *cmd = dirty->cmd;
758 container_of(dirty->unit, typeof(*stdu), base);
763 blit += dirty->num_hits;
764 blit->srcx = dirty->fb_x;
765 blit->srcy = dirty->fb_y;
766 blit->x = dirty->unit_x1;
767 blit->y = dirty->unit_y1;
769 blit->w = dirty->unit_x2 - dirty->unit_x1;
770 blit->h = dirty->unit_y2 - dirty->unit_y1;
773 dirty->num_hits++;
776 sdirty->left = min_t(s32, sdirty->left, dirty->unit_x1);
777 sdirty->top = min_t(s32, sdirty->top, dirty->unit_y1);
778 sdirty->right = max_t(s32, sdirty->right, dirty->unit_x2);
779 sdirty->bottom = max_t(s32, sdirty->bottom, dirty->unit_y2);
786 * @dirty: The closure structure.
791 static void vmw_kms_stdu_surface_fifo_commit(struct vmw_kms_dirty *dirty)
794 container_of(dirty, struct vmw_stdu_dirty, base);
796 container_of(dirty->unit, typeof(*stdu), base);
797 struct vmw_stdu_surface_copy *cmd = dirty->cmd;
799 size_t blit_size = sizeof(SVGA3dCopyBox) * dirty->num_hits;
802 if (!dirty->num_hits) {
803 vmw_fifo_commit(dirty->dev_priv, 0);
814 update = (struct vmw_stdu_update *) &blit[dirty->num_hits];
818 update = dirty->cmd;
825 vmw_fifo_commit(dirty->dev_priv, commit_size);
832 * vmw_kms_stdu_surface_dirty - Dirty part of a surface backed framebuffer
848 * @crtc: If crtc is passed, perform surface dirty on that crtc only.