29 VKCopyBufferToImageCreateInfo,
30 VKCopyBufferToImageData,
31 VK_PIPELINE_STAGE_TRANSFER_BIT,
32 VKResourceType::IMAGE | VKResourceType::BUFFER> {
41 template<
typename Node,
typename Storage>
44 node.storage_index = storage.copy_buffer_to_image.append_and_get_index(create_info.
node_data);
58 {src_resource, VK_ACCESS_TRANSFER_READ_BIT, VK_IMAGE_LAYOUT_UNDEFINED});
59 node_links.
outputs.append({dst_resource,
60 VK_ACCESS_TRANSFER_WRITE_BIT,
61 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
73 data.src_buffer,
data.dst_image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &
data.region);
BMesh const char void * data
virtual void copy_buffer_to_image(VkBuffer src_buffer, VkImage dst_image, VkImageLayout dst_image_layout, uint32_t region_count, const VkBufferImageCopy *p_regions)=0
void build_links(VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links, const CreateInfo &create_info) override
void build_commands(VKCommandBufferInterface &command_buffer, Data &data, VKBoundPipelines &) override
static void set_node_data(Node &node, Storage &storage, const CreateInfo &create_info)
VKCopyBufferToImageCreateInfo CreateInfo
VKCopyBufferToImageData Data
ResourceWithStamp get_image_and_increase_stamp(VkImage vk_image)
ResourceWithStamp get_buffer(VkBuffer vk_buffer) const
VKCopyBufferToImageData node_data
VkImageAspectFlags vk_image_aspects
Vector< VKRenderGraphLink > inputs
Vector< VKRenderGraphLink > outputs