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

Method RecordCopyImage

layers/sync/sync_command_buffer.cpp:1634–1649  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1632}
1633
1634void CommandBufferSubState::RecordCopyImage(vvl::Image& src_image_state, vvl::Image& dst_image_state,
1635 VkImageLayout src_image_layout, VkImageLayout dst_image_layout, uint32_t region_count,
1636 const VkImageCopy* regions, const Location& loc) {
1637 const auto tag = access_context.NextCommandTag(loc.function);
1638 AccessContext& context = access_context.GetCurrentAccessContext();
1639
1640 auto src_tag_ex = access_context.AddCommandHandle(tag, src_image_state.Handle());
1641 auto dst_tag_ex = access_context.AddCommandHandle(tag, dst_image_state.Handle());
1642
1643 for (const auto& copy_region : vvl::make_span(regions, region_count)) {
1644 UpdateImageAccessState(context, src_image_state, SYNC_COPY_TRANSFER_READ, RangeFromLayers(copy_region.srcSubresource),
1645 copy_region.srcOffset, copy_region.extent, src_tag_ex);
1646 UpdateImageAccessState(context, dst_image_state, SYNC_COPY_TRANSFER_WRITE, RangeFromLayers(copy_region.dstSubresource),
1647 copy_region.dstOffset, copy_region.extent, dst_tag_ex);
1648 }
1649}
1650
1651void CommandBufferSubState::RecordCopyImage2(vvl::Image& src_image_state, vvl::Image& dst_image_state,
1652 VkImageLayout src_image_layout, VkImageLayout dst_image_layout, uint32_t region_count,

Callers

nothing calls this directly

Calls 6

make_spanFunction · 0.85
UpdateImageAccessStateFunction · 0.85
RangeFromLayersFunction · 0.85
NextCommandTagMethod · 0.80
AddCommandHandleMethod · 0.80
HandleMethod · 0.45

Tested by

no test coverage detected