Copy commands are special transfer commands that transfer data contents from one memory region to another. These regions could be between buffers objects, image objects, and buffer-to-image and vice versa.
Depending upon the application need, you may need to copy data between buffers and images in various situations. There are four types of copy commands available to accomplish this job:
vkCmdCopyBuffer: Data contents are copied from the source buffer to the destination buffer object's device memory
vkCmdCopyImage: A specific portion of the source image object is copied to the destination image region
vkCmdCopyBufferToImage: Buffer object data contents are copied to the image objects