2
3
4
5
9#include "Render/Vulkan/VulkanRenderBackend.h"
18 m_QueryPool = std::make_unique<VulkanQueryPool>(state, VK_QUERY_TYPE_TIMESTAMP, 2);
19 m_Result = std::make_shared<Result>();
26 m_QueryPool->Reset(commandBuffer);
27 m_QueryPool->WriteTimeStamp(commandBuffer, 0);
34 m_QueryPool->WriteTimeStamp(commandBuffer, 1);
41 Result* result =
static_cast<Result*>(m_Result.get());
43 uint64_t poolResult[3] = {};
44 m_QueryPool->QueryResults(poolResult);
51 const float msPerTick = 1e-6f * VulkanDevice::GetDeviceProperties().limits.timestampPeriod;
52 result
->timeStamp = msPerTick * (poolResult[1] - poolResult[0]);
#define SPICES_PROFILE_ZONE
Querier(StatisticsBits type)
Constructor Function.
StatisticsBits
Statistics types.
Basic interface of Queries.
virtual void StorePoolResult() override
Store QueryPool Result.
virtual void EndQuery(VkCommandBuffer commandBuffer) override
End QueryPool.
virtual void BeginQuery(VkCommandBuffer commandBuffer) override
Begin QueryPool.
TimestampQuerier(VulkanState &state)
Constructor Function.
Querier of GPU Timestamp.
bool valid
True if result is valid.
This struct contains all Vulkan object in used global.