| 1632 | } |
| 1633 | |
| 1634 | void 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 | |
| 1651 | void 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, |
nothing calls this directly
no test coverage detected