15#include <vsg/core/Object.h>
16#include <vsg/vk/Context.h>
17#include <vsg/vk/Device.h>
34 VkQueryPoolCreateFlags flags = 0;
35 VkQueryType queryType = VK_QUERY_TYPE_TIMESTAMP;
36 uint32_t queryCount = 1;
37 VkQueryPipelineStatisticFlags pipelineStatistics = 0;
39 void read(Input& input)
override;
40 void write(Output& output)
const override;
44 VkResult getResults(std::vector<uint32_t>& results, uint32_t firstQuery = 0, VkQueryResultFlags resultsFlags = VK_QUERY_RESULT_WAIT_BIT)
const;
45 VkResult getResults(std::vector<uint64_t>& results, uint32_t firstQuery = 0, VkQueryResultFlags resultsFlags = VK_QUERY_RESULT_WAIT_BIT | VK_QUERY_RESULT_64_BIT)
const;
Device encapsulates VkDevice, a logical handle to the PhysicalDevice with capabilities specified duri...
Definition Device.h:37
QueryPool encapsulates the VkQueryPool and the VkQueryPoolCreateInfo settings used to set it up.
Definition QueryPool.h:23
void compile(Context &context)
call compile(context.deivce)
QueryPool()
construct QueuePool and defer creation kQueuePool to compile().
QueryPool(Device *device, VkQueryPoolCreateFlags in_flags, VkQueryType in_queryType, uint32_t in_queryCount, VkQueryPipelineStatisticFlags in_pipelineStatistics)
construct QueryPool and create a vkQueuePool for it
void compile(Device *device)
create the Querypool
std container adapter for allocating with MEMORY_AFFINITY_NODES
Definition Allocator.h:138