Lines Matching refs:dirty

986  * @dirty: The closure structure.
991 static void vmw_sou_surface_fifo_commit(struct vmw_kms_dirty *dirty)
994 container_of(dirty, typeof(*sdirty), base);
995 struct vmw_kms_sou_dirty_cmd *cmd = dirty->cmd;
996 s32 trans_x = dirty->unit->crtc.x - sdirty->dst_x;
997 s32 trans_y = dirty->unit->crtc.y - sdirty->dst_y;
998 size_t region_size = dirty->num_hits * sizeof(SVGASignedRect);
1002 if (!dirty->num_hits) {
1003 vmw_cmd_commit(dirty->dev_priv, 0);
1025 cmd->body.destScreenId = dirty->unit->unit;
1028 for (i = 0; i < dirty->num_hits; ++i, ++blit) {
1035 vmw_cmd_commit(dirty->dev_priv, region_size + sizeof(*cmd));
1044 * @dirty: The closure structure
1049 static void vmw_sou_surface_clip(struct vmw_kms_dirty *dirty)
1052 container_of(dirty, typeof(*sdirty), base);
1053 struct vmw_kms_sou_dirty_cmd *cmd = dirty->cmd;
1057 blit += dirty->num_hits;
1058 blit->left = dirty->unit_x1;
1059 blit->top = dirty->unit_y1;
1060 blit->right = dirty->unit_x2;
1061 blit->bottom = dirty->unit_y2;
1064 sdirty->left = min_t(s32, sdirty->left, dirty->unit_x1);
1065 sdirty->top = min_t(s32, sdirty->top, dirty->unit_y1);
1066 sdirty->right = max_t(s32, sdirty->right, dirty->unit_x2);
1067 sdirty->bottom = max_t(s32, sdirty->bottom, dirty->unit_y2);
1069 dirty->num_hits++;
1089 * @crtc: If crtc is passed, perform surface dirty on that crtc only.
1152 * @dirty: The closure structure.
1156 static void vmw_sou_bo_fifo_commit(struct vmw_kms_dirty *dirty)
1158 if (!dirty->num_hits) {
1159 vmw_cmd_commit(dirty->dev_priv, 0);
1163 vmw_cmd_commit(dirty->dev_priv,
1165 dirty->num_hits);
1171 * @dirty: The closure structure
1175 static void vmw_sou_bo_clip(struct vmw_kms_dirty *dirty)
1177 struct vmw_kms_sou_bo_blit *blit = dirty->cmd;
1179 blit += dirty->num_hits;
1181 blit->body.destScreenId = dirty->unit->unit;
1182 blit->body.srcOrigin.x = dirty->fb_x;
1183 blit->body.srcOrigin.y = dirty->fb_y;
1184 blit->body.destRect.left = dirty->unit_x1;
1185 blit->body.destRect.top = dirty->unit_y1;
1186 blit->body.destRect.right = dirty->unit_x2;
1187 blit->body.destRect.bottom = dirty->unit_y2;
1188 dirty->num_hits++;
1205 * @crtc: If crtc is passed, perform bo dirty on that crtc only.
1222 struct vmw_kms_dirty dirty;
1240 dirty.crtc = crtc;
1241 dirty.fifo_commit = vmw_sou_bo_fifo_commit;
1242 dirty.clip = vmw_sou_bo_clip;
1243 dirty.fifo_reserve_size = sizeof(struct vmw_kms_sou_bo_blit) *
1246 0, 0, num_clips, increment, &dirty);
1264 * @dirty: The closure structure.
1268 static void vmw_sou_readback_fifo_commit(struct vmw_kms_dirty *dirty)
1270 if (!dirty->num_hits) {
1271 vmw_cmd_commit(dirty->dev_priv, 0);
1275 vmw_cmd_commit(dirty->dev_priv,
1277 dirty->num_hits);
1283 * @dirty: The closure structure
1287 static void vmw_sou_readback_clip(struct vmw_kms_dirty *dirty)
1289 struct vmw_kms_sou_readback_blit *blit = dirty->cmd;
1291 blit += dirty->num_hits;
1293 blit->body.srcScreenId = dirty->unit->unit;
1294 blit->body.destOrigin.x = dirty->fb_x;
1295 blit->body.destOrigin.y = dirty->fb_y;
1296 blit->body.srcRect.left = dirty->unit_x1;
1297 blit->body.srcRect.top = dirty->unit_y1;
1298 blit->body.srcRect.right = dirty->unit_x2;
1299 blit->body.srcRect.bottom = dirty->unit_y2;
1300 dirty->num_hits++;
1330 struct vmw_kms_dirty dirty;
1348 dirty.crtc = crtc;
1349 dirty.fifo_commit = vmw_sou_readback_fifo_commit;
1350 dirty.clip = vmw_sou_readback_clip;
1351 dirty.fifo_reserve_size = sizeof(struct vmw_kms_sou_readback_blit) *
1354 0, 0, num_clips, 1, &dirty);