CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKTimerQuery.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "VKCommon.hpp"
11
14
16
18
19namespace CeresEngine {
20
85
86} // namespace CeresEngine
#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
Definition GPUCommandBuffer.hpp:77
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
A GPU query that allows measuring the time a GPU device takes execute a set of commands on a command ...
Definition GPUQuery.hpp:44
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition VKDevice.hpp:79
Definition VKCommon.hpp:143
The Vulkan implementation of TimerQuery.
Definition VKTimerQuery.hpp:22
bool tryFinish()
Try finish the execution of the query.
VkQueryPool mQueryPool
The Vulkan query pool object.
Definition VKTimerQuery.hpp:28
UInt32 mQueryCount
The number of queries in the pool.
Definition VKTimerQuery.hpp:31
UInt32 mQueueFamily
The queue getFamilyIndex the timer query was executed on.
Definition VKTimerQuery.hpp:34
static Allocator & getAllocator() noexcept
Returns the allocator for VKTimerQuery.
void begin(GPUCommandBuffer &commandBuffer, UInt32 timerIndex=0) final
bool isComplete(UInt32 timerIndex=0) const final
VKTimerQuery(VKDevice &device, const GPUTimerQueryDescriptor &descriptor)
Creates a new VKTimerQuery object.
~VKTimerQuery() final
Destroys the VKTimerQuery object.
VKObjectAllocator Allocator
An allocator type used to allocate new VKTimerQuery instances from a memory pool.
Definition VKTimerQuery.hpp:47
const GPUTimerQueryDescriptor descriptorVK
A structure that describes the timerQuery and it's properties.
Definition VKTimerQuery.hpp:25
void end(GPUCommandBuffer &commandBuffer, UInt32 timerIndex=0) final
GPUTimerQueryResult getValue(UInt32 timerIndex=0) const final
Definition Application.hpp:19
auto wait()
Awaits (and blocks) until the continuation has finished running.
Definition Async.hpp:226
TimeInterval GPUTimerQueryResult
The type returned by a TimerQuery.
Definition GPUQuery.hpp:26
ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > > VKObjectAllocator
A pool allocator to be used for individual object pools.
Definition VKCommon.hpp:59
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition Span.hpp:668
A descriptor structure for TimerQuery.
Definition GPUQuery.hpp:29