SpiecsEngine
 
Loading...
Searching...
No Matches
TimestampQuerier.h
Go to the documentation of this file.
1/**
2* @file TimestampQuerier.h
3* @brief The TimestampQuerier Class Definitions.
4* @author Spices.
5*/
6
7#pragma once
8#include "Core/Core.h"
9#include "Querier.h"
10
11namespace Spices {
12
13 /**
14 * @brief Querier of GPU Timestamp.
15 */
17 {
18 public:
19
20 /**
21 * @brief Stored TimeStamp Result.
22 */
23 struct Result : public Querier::Result
24 {
25 float timeStamp; /* @brief TimeStamp in renderPass. */
26
27 /**
28 * @brief Combine result with another Result.
29 * @param[in] result another Result.
30 */
31 virtual void Combine(Querier::Result* result) override
32 {
33 auto r = static_cast<TimestampQuerier::Result*>(result);
34
35 if (!r->valid) return;
36
38 }
39 };
40
41 public:
42
43 /**
44 * @brief Constructor Function.
45 * @param[in] state VulkanState.
46 */
47 explicit TimestampQuerier(VulkanState& state);
48
49 /**
50 * @brief Destructor Function.
51 */
52 virtual ~TimestampQuerier() override = default;
53
54 /**
55 * @brief Begin QueryPool.
56 * @param[in] commandBuffer VkCommandBuffer.
57 */
58 virtual void BeginQuery(VkCommandBuffer commandBuffer) override;
59
60 /**
61 * @brief End QueryPool.
62 * @param[in] commandBuffer VkCommandBuffer.
63 */
64 virtual void EndQuery(VkCommandBuffer commandBuffer) override;
65
66 /**
67 * @brief Store QueryPool Result.
68 */
69 virtual void StorePoolResult() override;
70 };
71}
#define SPICES_PROFILE_ZONE
uint32_t StatisticsFlags
Definition Querier.h:32
Basic interface of Queries.
Definition Querier.h:17
void BeginStatistics(VkCommandBuffer commandBuffer, Querier::StatisticsFlags flags) const
Begin Statistics.
void StoreStatistics() const
Store statistics result.
RenderPassStatistics(VulkanState &state, Querier::StatisticsFlags flags)
Constructor Function.
void EndStatistics(VkCommandBuffer commandBuffer, Querier::StatisticsFlags flags) const
End Statistics.
Statistics of RenderPass(Renderer).
virtual ~TimestampQuerier() override=default
Destructor Function.
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.
Definition Querier.h:54
Basic definition of result.
Definition Querier.h:40
virtual void Combine(Querier::Result *result) override
Combine result with another Result.
This struct contains all Vulkan object in used global.
Definition VulkanUtils.h:74