29 QueryPool(
Device* device, VkQueryPoolCreateFlags in_flags, VkQueryType in_queryType, uint32_t in_queryCount, VkQueryPipelineStatisticFlags in_pipelineStatistics);
31 operator VkQueryPool()
const {
return _queryPool; }
32 VkQueryPool vk()
const {
return _queryPool; }
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;
56 VkQueryPool _queryPool{};
QueryPool(Device *device, VkQueryPoolCreateFlags in_flags, VkQueryType in_queryType, uint32_t in_queryCount, VkQueryPipelineStatisticFlags in_pipelineStatistics)
construct QueryPool and create a vkQueuePool for it