Lines Matching refs:dirty

985  * @dirty: The closure structure.
990 static void vmw_sou_surface_fifo_commit(struct vmw_kms_dirty *dirty)
993 container_of(dirty, typeof(*sdirty), base);
994 struct vmw_kms_sou_dirty_cmd *cmd = dirty->cmd;
995 s32 trans_x = dirty->unit->crtc.x - sdirty->dst_x;
996 s32 trans_y = dirty->unit->crtc.y - sdirty->dst_y;
997 size_t region_size = dirty->num_hits * sizeof(SVGASignedRect);
1001 if (!dirty->num_hits) {
1002 vmw_cmd_commit(dirty->dev_priv, 0);
1024 cmd->body.destScreenId = dirty->unit->unit;
1027 for (i = 0; i < dirty->num_hits; ++i, ++blit) {
1034 vmw_cmd_commit(dirty->dev_priv, region_size + sizeof(*cmd));
1043 * @dirty: The closure structure
1048 static void vmw_sou_surface_clip(struct vmw_kms_dirty *dirty)
1051 container_of(dirty, typeof(*sdirty), base);
1052 struct vmw_kms_sou_dirty_cmd *cmd = dirty->cmd;
1056 blit += dirty->num_hits;
1057 blit->left = dirty->unit_x1;
1058 blit->top = dirty->unit_y1;
1059 blit->right = dirty->unit_x2;
1060 blit->bottom = dirty->unit_y2;
1063 sdirty->left = min_t(s32, sdirty->left, dirty->unit_x1);
1064 sdirty->top = min_t(s32, sdirty->top, dirty->unit_y1);
1065 sdirty->right = max_t(s32, sdirty->right, dirty->unit_x2);
1066 sdirty->bottom = max_t(s32, sdirty->bottom, dirty->unit_y2);
1068 dirty->num_hits++;
1088 * @crtc: If crtc is passed, perform surface dirty on that crtc only.
1151 * @dirty: The closure structure.
1155 static void vmw_sou_bo_fifo_commit(struct vmw_kms_dirty *dirty)
1157 if (!dirty->num_hits) {
1158 vmw_cmd_commit(dirty->dev_priv, 0);
1162 vmw_cmd_commit(dirty->dev_priv,
1164 dirty->num_hits);
1170 * @dirty: The closure structure
1174 static void vmw_sou_bo_clip(struct vmw_kms_dirty *dirty)
1176 struct vmw_kms_sou_bo_blit *blit = dirty->cmd;
1178 blit += dirty->num_hits;
1180 blit->body.destScreenId = dirty->unit->unit;
1181 blit->body.srcOrigin.x = dirty->fb_x;
1182 blit->body.srcOrigin.y = dirty->fb_y;
1183 blit->body.destRect.left = dirty->unit_x1;
1184 blit->body.destRect.top = dirty->unit_y1;
1185 blit->body.destRect.right = dirty->unit_x2;
1186 blit->body.destRect.bottom = dirty->unit_y2;
1187 dirty->num_hits++;
1204 * @crtc: If crtc is passed, perform bo dirty on that crtc only.
1221 struct vmw_kms_dirty dirty;
1239 dirty.crtc = crtc;
1240 dirty.fifo_commit = vmw_sou_bo_fifo_commit;
1241 dirty.clip = vmw_sou_bo_clip;
1242 dirty.fifo_reserve_size = sizeof(struct vmw_kms_sou_bo_blit) *
1245 0, 0, num_clips, increment, &dirty);
1263 * @dirty: The closure structure.
1267 static void vmw_sou_readback_fifo_commit(struct vmw_kms_dirty *dirty)
1269 if (!dirty->num_hits) {
1270 vmw_cmd_commit(dirty->dev_priv, 0);
1274 vmw_cmd_commit(dirty->dev_priv,
1276 dirty->num_hits);
1282 * @dirty: The closure structure
1286 static void vmw_sou_readback_clip(struct vmw_kms_dirty *dirty)
1288 struct vmw_kms_sou_readback_blit *blit = dirty->cmd;
1290 blit += dirty->num_hits;
1292 blit->body.srcScreenId = dirty->unit->unit;
1293 blit->body.destOrigin.x = dirty->fb_x;
1294 blit->body.destOrigin.y = dirty->fb_y;
1295 blit->body.srcRect.left = dirty->unit_x1;
1296 blit->body.srcRect.top = dirty->unit_y1;
1297 blit->body.srcRect.right = dirty->unit_x2;
1298 blit->body.srcRect.bottom = dirty->unit_y2;
1299 dirty->num_hits++;
1329 struct vmw_kms_dirty dirty;
1347 dirty.crtc = crtc;
1348 dirty.fifo_commit = vmw_sou_readback_fifo_commit;
1349 dirty.clip = vmw_sou_readback_clip;
1350 dirty.fifo_reserve_size = sizeof(struct vmw_kms_sou_readback_blit) *
1353 0, 0, num_clips, 1, &dirty);