15 virtual void Begin()
override;
16 virtual void End()
override;
17 virtual void Submit()
override;
19 virtual float GetExecutionGpuTime(
const uint32_t FrameIndex,
const uint32_t QueryIndex = 0)
const override
21 if ((QueryIndex == UINT32_MAX) || ((QueryIndex / 2) >= TimestampNextAvailableQuery / 2))
26 return ExecutionGpuTimes[FrameIndex][(QueryIndex / 2)];
29 virtual const FPipelineStatistics& GetPipelineStatistics(
const uint32_t FrameIndex)
const override;
31 virtual uint32_t BeginTimestampQuery()
override;
32 virtual void EndTimestampQuery(
const uint32_t QueryID)
override;
36 std::string DebugName{};
38 bool bOwnedBySwapChain =
false;
40 uint32_t TimestampQueryCount = 0;
41 uint32_t TimestampNextAvailableQuery = 2;
43 std::vector<std::vector<uint64_t>> TimestampQueryResults{};
44 std::vector<std::vector<float>> ExecutionGpuTimes{};
46 uint32_t PipelineQueryCount = 0;