util: add a simple memcpy path for copying buffers in util_resource_copy_region

Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
This commit is contained in:
Marek Olšák 2011-04-21 12:50:00 +02:00
parent 08ba9778db
commit 64f55216e4
1 changed files with 13 additions and 9 deletions

View File

@ -188,15 +188,19 @@ util_resource_copy_region(struct pipe_context *pipe,
assert(dst_map);
if (src_map && dst_map) {
util_copy_rect(dst_map,
dst_format,
dst_trans->stride,
0, 0,
w, h,
src_map,
src_trans->stride,
0,
0);
if (dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) {
memcpy(dst_map, src_map, w);
} else {
util_copy_rect(dst_map,
dst_format,
dst_trans->stride,
0, 0,
w, h,
src_map,
src_trans->stride,
0,
0);
}
}
pipe->transfer_unmap(pipe, src_trans);