| 2275 | } |
| 2276 | |
| 2277 | void CommandBuffer::ImageBarrier(const vkt::Image& image, VkImageLayout current_layout) { |
| 2278 | const VkImageSubresourceRange subresource_range = image.SubresourceRange(image.AspectMask(image.Format())); |
| 2279 | VkImageMemoryBarrier barrier = vku::InitStructHelper(); |
| 2280 | barrier.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; |
| 2281 | barrier.dstAccessMask = VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT; |
| 2282 | barrier.oldLayout = current_layout; |
| 2283 | barrier.newLayout = current_layout; |
| 2284 | barrier.image = image; |
| 2285 | barrier.subresourceRange = subresource_range; |
| 2286 | vk::CmdPipelineBarrier(handle(), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, |
| 2287 | VK_DEPENDENCY_BY_REGION_BIT, 0, nullptr, 0, nullptr, 1, &barrier); |
| 2288 | } |
| 2289 | |
| 2290 | void CommandBuffer::TransitionLayout(const vkt::Image& image, VkImageLayout old_layout, VkImageLayout new_layout) { |
| 2291 | const VkImageSubresourceRange subresource_range = image.SubresourceRange(image.AspectMask(image.Format())); |
no test coverage detected