MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / ImageBarrier

Method ImageBarrier

tests/framework/binding.cpp:2277–2288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2275}
2276
2277void 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
2290void CommandBuffer::TransitionLayout(const vkt::Image& image, VkImageLayout old_layout, VkImageLayout new_layout) {
2291 const VkImageSubresourceRange subresource_range = image.SubresourceRange(image.AspectMask(image.Format()));

Callers 3

TEST_FFunction · 0.45
TEST_FFunction · 0.45
TEST_FFunction · 0.45

Calls 4

CmdPipelineBarrierFunction · 0.85
SubresourceRangeMethod · 0.80
AspectMaskMethod · 0.45
FormatMethod · 0.45

Tested by

no test coverage detected