15 #include <vsg/app/CommandGraph.h>
16 #include <vsg/app/Window.h>
17 #include <vsg/io/DatabasePager.h>
18 #include <vsg/nodes/Group.h>
19 #include <vsg/vk/CommandBuffer.h>
36 virtual bool containsDataToTransfer()
const;
39 Semaphores waitSemaphores;
40 Semaphores signalSemaphores;
46 void assign(
const BufferInfoList& bufferInfoList);
47 void assign(
const ImageInfoList& imageInfoList);
53 using OffsetBufferInfoMap = std::map<VkDeviceSize, ref_ptr<BufferInfo>>;
54 using BufferMap = std::map<ref_ptr<Buffer>, OffsetBufferInfoMap>;
56 size_t index(
size_t relativeFrameIndex = 0)
const;
58 VkDeviceSize _dynamicDataTotalRegions = 0;
59 VkDeviceSize _dynamicDataTotalSize = 0;
60 VkDeviceSize _dynamicImageTotalSize = 0;
61 BufferMap _dynamicDataMap;
62 std::set<ref_ptr<ImageInfo>> _dynamicImageInfoSet;
64 size_t _currentFrameIndex;
65 std::vector<size_t> _indices;
72 void* buffer_data =
nullptr;
73 std::vector<VkBufferCopy> copyRegions;
76 std::vector<Frame> _frames;
78 void _transferBufferInfos(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset);
80 void _transferImageInfos(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset);
81 void _transferImageInfo(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset,
ImageInfo& imageInfo);
Device encapsulates VkDevice, a logical handle to the PhysicalDevice with capabilities specified duri...
Definition: Device.h:37
ImageInfo class provides the VkDescriptorImageInfo settings used when setting up vsg::/vkDescriptorIm...
Definition: ImageInfo.h:23
Definition: TransferTask.h:29
virtual VkResult transferDynamicData()
transfer any vsg::Data entries that have been updated to the associated GPU memory.
void advance()
advance the currentFrameIndex
Definition: ResourceRequirements.h:56
Definition: TransferTask.h:68