| 320 | } |
| 321 | |
| 322 | void VKDevice::CopyImageToBuffer( |
| 323 | VkCommandBuffer commandBuffer, |
| 324 | VkImage srcImage, |
| 325 | VkBuffer dstBuffer, |
| 326 | const VkOffset3D& offset, |
| 327 | const VkExtent3D& extent, |
| 328 | const TextureSubresource& subresource) |
| 329 | { |
| 330 | VkBufferImageCopy region; |
| 331 | { |
| 332 | region.bufferOffset = 0; |
| 333 | region.bufferRowLength = 0; |
| 334 | region.bufferImageHeight = 0; |
| 335 | region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; |
| 336 | region.imageSubresource.mipLevel = subresource.baseMipLevel; |
| 337 | region.imageSubresource.baseArrayLayer = subresource.baseArrayLayer; |
| 338 | region.imageSubresource.layerCount = subresource.numArrayLayers; |
| 339 | region.imageOffset = offset; |
| 340 | region.imageExtent = extent; |
| 341 | } |
| 342 | vkCmdCopyImageToBuffer(commandBuffer, srcImage, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, dstBuffer, 1, ®ion); |
| 343 | } |
| 344 | |
| 345 | void VKDevice::CopyImageToBuffer( |
| 346 | VkCommandBuffer commandBuffer, |
no test coverage detected