Lines Matching refs:dirty

449  * @dirty: The closure structure.
454 static void vmw_stdu_bo_clip(struct vmw_kms_dirty *dirty)
457 container_of(dirty, struct vmw_stdu_dirty, base);
458 struct vmw_stdu_dma *cmd = dirty->cmd;
461 blit += dirty->num_hits;
462 blit->srcx = dirty->fb_x;
463 blit->srcy = dirty->fb_y;
464 blit->x = dirty->unit_x1;
465 blit->y = dirty->unit_y1;
467 blit->w = dirty->unit_x2 - dirty->unit_x1;
468 blit->h = dirty->unit_y2 - dirty->unit_y1;
469 dirty->num_hits++;
475 ddirty->left = min_t(s32, ddirty->left, dirty->unit_x1);
476 ddirty->top = min_t(s32, ddirty->top, dirty->unit_y1);
477 ddirty->right = max_t(s32, ddirty->right, dirty->unit_x2);
478 ddirty->bottom = max_t(s32, ddirty->bottom, dirty->unit_y2);
484 * @dirty: The closure structure.
489 static void vmw_stdu_bo_fifo_commit(struct vmw_kms_dirty *dirty)
492 container_of(dirty, struct vmw_stdu_dirty, base);
494 container_of(dirty->unit, typeof(*stdu), base);
495 struct vmw_stdu_dma *cmd = dirty->cmd;
498 (SVGA3dCmdSurfaceDMASuffix *) &blit[dirty->num_hits];
499 size_t blit_size = sizeof(*blit) * dirty->num_hits + sizeof(*suffix);
501 if (!dirty->num_hits) {
502 vmw_fifo_commit(dirty->dev_priv, 0);
525 vmw_fifo_commit(dirty->dev_priv, sizeof(*cmd) + blit_size);
536 * @dirty: The closure structure.
540 static void vmw_stdu_bo_cpu_clip(struct vmw_kms_dirty *dirty)
543 container_of(dirty, struct vmw_stdu_dirty, base);
545 dirty->num_hits = 1;
548 ddirty->left = min_t(s32, ddirty->left, dirty->unit_x1);
549 ddirty->top = min_t(s32, ddirty->top, dirty->unit_y1);
550 ddirty->right = max_t(s32, ddirty->right, dirty->unit_x2);
551 ddirty->bottom = max_t(s32, ddirty->bottom, dirty->unit_y2);
558 ddirty->fb_left = min_t(s32, ddirty->fb_left, dirty->fb_x);
559 ddirty->fb_top = min_t(s32, ddirty->fb_top, dirty->fb_y);
566 * @dirty: The closure structure.
571 static void vmw_stdu_bo_cpu_commit(struct vmw_kms_dirty *dirty)
574 container_of(dirty, struct vmw_stdu_dirty, base);
576 container_of(dirty->unit, typeof(*stdu), base);
583 if (!dirty->num_hits)
742 * @dirty: The closure structure.
747 static void vmw_kms_stdu_surface_clip(struct vmw_kms_dirty *dirty)
750 container_of(dirty, struct vmw_stdu_dirty, base);
751 struct vmw_stdu_surface_copy *cmd = dirty->cmd;
753 container_of(dirty->unit, typeof(*stdu), base);
758 blit += dirty->num_hits;
759 blit->srcx = dirty->fb_x;
760 blit->srcy = dirty->fb_y;
761 blit->x = dirty->unit_x1;
762 blit->y = dirty->unit_y1;
764 blit->w = dirty->unit_x2 - dirty->unit_x1;
765 blit->h = dirty->unit_y2 - dirty->unit_y1;
768 dirty->num_hits++;
771 sdirty->left = min_t(s32, sdirty->left, dirty->unit_x1);
772 sdirty->top = min_t(s32, sdirty->top, dirty->unit_y1);
773 sdirty->right = max_t(s32, sdirty->right, dirty->unit_x2);
774 sdirty->bottom = max_t(s32, sdirty->bottom, dirty->unit_y2);
781 * @dirty: The closure structure.
786 static void vmw_kms_stdu_surface_fifo_commit(struct vmw_kms_dirty *dirty)
789 container_of(dirty, struct vmw_stdu_dirty, base);
791 container_of(dirty->unit, typeof(*stdu), base);
792 struct vmw_stdu_surface_copy *cmd = dirty->cmd;
794 size_t blit_size = sizeof(SVGA3dCopyBox) * dirty->num_hits;
797 if (!dirty->num_hits) {
798 vmw_fifo_commit(dirty->dev_priv, 0);
809 update = (struct vmw_stdu_update *) &blit[dirty->num_hits];
813 update = dirty->cmd;
820 vmw_fifo_commit(dirty->dev_priv, commit_size);
843 * @crtc: If crtc is passed, perform surface dirty on that crtc only.