vk/meta: Partially implement vkCmdCopy*, vkCmdBlit* for 3D images
authorChad Versace <chad.versace@intel.com>
Mon, 14 Sep 2015 18:45:35 +0000 (11:45 -0700)
committerChad Versace <chad.versace@intel.com>
Mon, 14 Sep 2015 21:27:34 +0000 (14:27 -0700)
commit6221593ff81a19129eee53a1cbded0d009425a38
tree83913ccc6e72689ad37951b184d1b628cb0daf2c
parent0ecafe028533ceb48619a453bc3c592363231a0a
vk/meta: Partially implement vkCmdCopy*, vkCmdBlit* for 3D images

Partially implement the below functions for 3D images:
    vkCmdCopyBufferToImage
    vkCmdCopyImageToBuffer
    vkCmdCopyImage
    vkCmdBlitImage

Not all features work, and there is much for performance improvement.
Beware that vkCmdCopyImage and vkCmdBlitImage are untested.  Crucible
proves that vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer works,
though.

Supported:
    - copy regions with z offset

Unsupported:
    - copy regions with extent.depth > 1

Crucible test results on master@d452d2b are:
    pass: func.miptree.r8g8b8a8-unorm.*.view-3d.*
    pass: func.miptree.d32-sfloat.*.view-3d.*
    fail: func.miptree.s8-uint.*.view-3d.*
src/vulkan/anv_meta.c
src/vulkan/anv_private.h
src/vulkan/gen8_state.c