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 size_t index(
size_t relativeFrameIndex = 0)
const;
52 void assign(
const BufferInfoList& bufferInfoList);
53 void assign(
const ImageInfoList& imageInfoList);
59 using OffsetBufferInfoMap = std::map<VkDeviceSize, ref_ptr<BufferInfo>>;
60 using BufferMap = std::map<ref_ptr<Buffer>, OffsetBufferInfoMap>;
62 VkDeviceSize _dynamicDataTotalRegions = 0;
63 VkDeviceSize _dynamicDataTotalSize = 0;
64 VkDeviceSize _dynamicImageTotalSize = 0;
65 BufferMap _dynamicDataMap;
66 std::set<ref_ptr<ImageInfo>> _dynamicImageInfoSet;
68 size_t _currentFrameIndex;
69 std::vector<size_t> _indices;
77 void* buffer_data =
nullptr;
78 std::vector<VkBufferCopy> copyRegions;
81 std::vector<Frame> _frames;
83 void _transferBufferInfos(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset);
85 void _transferImageInfos(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset);
86 void _transferImageInfo(VkCommandBuffer vk_commandBuffer,
Frame& frame, VkDeviceSize& offset,
ImageInfo& imageInfo);
Device encapsulate vkDeivce, a logical handle to the PhysicalDevice with capabilities specified durin...
Definition: Device.h:37
ImageInfo class provides the VkDescriptorImageInfo settings used when setting up vsg::/vkDescriptorIm...
Definition: ImageInfo.h:23
Definition: TransferTask.h:29
size_t index(size_t relativeFrameIndex=0) const
return the fence index value for relativeFrameIndex where 0 is current frame, 1 is previous frame etc...
Fence * fence(size_t relativeFrameIndex=0)
fence() and fence(0) return the Fence for the frame currently being rendered, fence(1) return the pre...
virtual VkResult transferDynamicData()
transfer any vsg::Data entries, that have been updated, to have the associated GPU memory.
void advance()
advance the currentFrameIndex
Definition: ResourceRequirements.h:55
Definition: TransferTask.h:72