|
CeresEngine 0.2.0
A game development framework
|
The Vulkan implementation of TimerQuery.
More...
#include <CeresEngine/RenderAPI/Vulkan/VKTimerQuery.hpp>
Public Types | |
| using | Allocator = VKObjectAllocator |
An allocator type used to allocate new VKTimerQuery instances from a memory pool. | |
Public Types inherited from CeresEngine::TDeviceObject< GPUTimerQueryDescriptor > | |
| using | Descriptor = GPUTimerQueryDescriptor |
| An type-alias to the descriptor struct type. | |
Static Public Member Functions | |
| static Allocator & | getAllocator () noexcept |
Returns the allocator for VKTimerQuery. | |
| static void * | operator new (size_t size) noexcept |
Allocates memory for a new instance of VKTimerQuery. | |
| static void | operator delete (void *p, std::size_t sz) noexcept |
Deletes memory for an instance of VKTimerQuery. | |
Static Public Member Functions inherited from CeresEngine::VKObject< ChildTypeName, ParentType > | |
| static RC< ChildTypeName > | cast (const RC< ParentType > &ptr) |
Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName. | |
| static ChildTypeName & | cast (ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName & | cast (const ParentType &object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static ChildTypeName * | cast (ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
| static const ChildTypeName * | cast (const ParentType *object) |
Casts a object of type ParentType to a object of type ChildTypeName. | |
Static Public Member Functions inherited from CeresEngine::VKObjectBase | |
| static void * | operator new (size_t size) noexcept |
| static void | operator delete (void *p, std::size_t sz) noexcept |
Private Attributes | |
| const GPUTimerQueryDescriptor | descriptorVK |
| A structure that describes the timerQuery and it's properties. | |
| VkQueryPool | mQueryPool = VK_NULL_HANDLE |
| The Vulkan query pool object. | |
| UInt32 | mQueryCount = 0 |
| The number of queries in the pool. | |
| UInt32 | mQueueFamily |
| The queue getFamilyIndex the timer query was executed on. | |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::GPUTimerQuery | |
| Event< void(GPUTimerQueryResult)> | didComplete |
| An event triggered whenever the query result becomes available. | |
Public Attributes inherited from CeresEngine::TDeviceObject< GPUTimerQueryDescriptor > | |
| const Descriptor & | descriptor |
| A structure that describes the object and it's properties. | |
Public Attributes inherited from CeresEngine::GPUDeviceObject | |
| GPUDevice & | device |
| The owning device this object was created from. | |
Public Attributes inherited from CeresEngine::VKDeviceObjectBase | |
| VKDevice & | deviceVK |
The owning VKDevice instance. | |
Protected Member Functions inherited from CeresEngine::GPUObject | |
| virtual void | destroy () noexcept |
| A internal method called by the system when the object reference count reaches zero. | |
Protected Member Functions inherited from CeresEngine::VKDeviceObject< VKTimerQuery, GPUTimerQuery > | |
| VKDeviceObject (VKDevice &device) noexcept | |
Creates a new VKDeviceObject from the given device. | |
The Vulkan implementation of TimerQuery.
An allocator type used to allocate new VKTimerQuery instances from a memory pool.
|
explicit |
Creates a new VKTimerQuery object.
| device | The owning device |
| descriptor | The descriptor object that describes the object |
|
final |
Destroys the VKTimerQuery object.
|
finalvirtual |
Implements CeresEngine::GPUTimerQuery.
|
finalvirtual |
Implements CeresEngine::GPUTimerQuery.
Returns the allocator for VKTimerQuery.
|
finalvirtual |
Implements CeresEngine::GPUTimerQuery.
Implements CeresEngine::GPUTimerQuery.
Deletes memory for an instance of VKTimerQuery.
Allocates memory for a new instance of VKTimerQuery.
|
inlinenoexcept |
The Vulkan query pool object.
|
finalvirtual |
Implements CeresEngine::GPUTimerQuery.
| bool CeresEngine::VKTimerQuery::tryFinish | ( | ) |
Try finish the execution of the query.
If the query is not ready, false is returned.
Implements CeresEngine::GPUTimerQuery.
|
private |
A structure that describes the timerQuery and it's properties.
|
private |
The number of queries in the pool.
|
private |
The Vulkan query pool object.
|
private |
The queue getFamilyIndex the timer query was executed on.