Lines Matching refs:diff
248 void vmw_memcpy(struct vmw_diff_cpy *diff, u8 *dest, const u8 *src, size_t n) in vmw_memcpy() argument
261 static void vmw_adjust_rect(struct vmw_diff_cpy *diff, size_t diff_offs) in vmw_adjust_rect() argument
263 size_t offs = (diff_offs + diff->line_offset) / diff->cpp; in vmw_adjust_rect()
264 struct drm_rect *rect = &diff->rect; in vmw_adjust_rect()
268 rect->y1 = min_t(int, rect->y1, diff->line); in vmw_adjust_rect()
269 rect->y2 = max_t(int, rect->y2, diff->line + 1); in vmw_adjust_rect()
290 void vmw_diff_memcpy(struct vmw_diff_cpy *diff, u8 *dest, const u8 *src, in vmw_diff_memcpy() argument
295 if (WARN_ON_ONCE(round_down(n, diff->cpp) != n)) in vmw_diff_memcpy()
299 csize = vmw_find_first_diff(dest, src, n, diff->cpp); in vmw_diff_memcpy()
301 vmw_adjust_rect(diff, csize); in vmw_diff_memcpy()
302 byte_len = diff->cpp; in vmw_diff_memcpy()
308 diff->line_offset += csize; in vmw_diff_memcpy()
312 csize = vmw_find_last_diff(dest, src, n, diff->cpp); in vmw_diff_memcpy()
315 vmw_adjust_rect(diff, csize); in vmw_diff_memcpy()
319 diff->line_offset += n; in vmw_diff_memcpy()
348 struct vmw_diff_cpy *diff; member
364 struct vmw_diff_cpy *diff = d->diff; in vmw_bo_cpu_blit_line() local
414 diff->do_cpy(diff, d->dst_addr + dst_page_offset, in vmw_bo_cpu_blit_line()
460 struct vmw_diff_cpy *diff) in vmw_external_bo_copy() argument
504 diff->rect.x1 = x_in_bytes / diff->cpp; in vmw_external_bo_copy()
505 diff->rect.y1 = ((dst_offset - x_in_bytes) / dst_stride); in vmw_external_bo_copy()
506 diff->rect.x2 = diff->rect.x1 + width_in_bytes / diff->cpp; in vmw_external_bo_copy()
507 diff->rect.y2 = diff->rect.y1 + height; in vmw_external_bo_copy()
546 struct vmw_diff_cpy *diff) in vmw_bo_cpu_blit() argument
586 w, h, diff); in vmw_bo_cpu_blit()
621 d.diff = diff; in vmw_bo_cpu_blit()
624 diff->line = j + initial_line; in vmw_bo_cpu_blit()
625 diff->line_offset = dst_offset % dst_stride; in vmw_bo_cpu_blit()