33 VKCopyImageCreateInfo,
35 VK_PIPELINE_STAGE_TRANSFER_BIT,
36 VKResourceType::IMAGE> {
45 template<
typename Node,
typename Storage>
48 node.storage_index = storage.copy_image.append_and_get_index(create_info.
node_data);
61 node_links.
inputs.append({src_resource,
62 VK_ACCESS_TRANSFER_READ_BIT,
63 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
65 node_links.
outputs.append({dst_resource,
66 VK_ACCESS_TRANSFER_WRITE_BIT,
67 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
79 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
81 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
BMesh const char void * data
virtual void copy_image(VkImage src_image, VkImageLayout src_image_layout, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkImageCopy *p_regions)=0
void build_links(VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links, const CreateInfo &create_info) override
static void set_node_data(Node &node, Storage &storage, const CreateInfo &create_info)
void build_commands(VKCommandBufferInterface &command_buffer, Data &data, VKBoundPipelines &) override
VKCopyImageCreateInfo CreateInfo
ResourceWithStamp get_image_and_increase_stamp(VkImage vk_image)
ResourceWithStamp get_image(VkImage vk_image) const
VKCopyImageData node_data
VkImageAspectFlags vk_image_aspect
Vector< VKRenderGraphLink > inputs
Vector< VKRenderGraphLink > outputs