Go to the documentation of this file.
37 template <
typename VulkanObjectWrapperType>
46 VulkanObjectWrapperType&& ObjectWrapper,
47 bool bIsDeviceInternal =
false) :
49 m_VkObject{std::move(ObjectWrapper)}
59 VulkanObjectWrapperType&& ObjectWrapper,
66 pObj->QueryInterface(IID_DeviceObject,
reinterpret_cast<IObject**
>(ppManagedObject));
69 typename VulkanObjectWrapperType::VkObjectType
Get()
const
75 VulkanObjectWrapperType m_VkObject;
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
Render device implementation in Vulkan backend.
Definition: RenderDeviceVkImpl.hpp:58
RenderDeviceVkImpl *const m_pDevice
Pointer to the device.
Definition: DeviceObjectBase.hpp:179
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
Definition: ManagedVulkanObject.hpp:38
~ManagedVulkanObject()
Definition: ManagedVulkanObject.hpp:53
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
IMemoryAllocator & GetRawAllocator()
Returns raw memory allocator.
Definition: EngineMemory.cpp:51
void SafeReleaseDeviceObject(ObjectType &&Object, Uint64 QueueMask)
Definition: RenderDeviceNextGenBase.hpp:98
VulkanObjectWrapperType::VkObjectType Get() const
Definition: ManagedVulkanObject.hpp:69
ManagedVulkanObject(IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pDevice, const DeviceObjectAttribs &ObjDesc, VulkanObjectWrapperType &&ObjectWrapper, bool bIsDeviceInternal=false)
Definition: ManagedVulkanObject.hpp:43
static void Create(RenderDeviceVkImpl *pDevice, VulkanObjectWrapperType &&ObjectWrapper, const char *Name, ManagedVulkanObject **ppManagedObject)
Definition: ManagedVulkanObject.hpp:58
#define NEW_RC_OBJ(Allocator, Desc, Type,...)
Definition: RefCountedObjectImpl.hpp:698
const Char * Name
Object name.
Definition: GraphicsTypes.h:1199
Template class implementing base functionality of the device object.
Definition: DeviceObjectBase.hpp:45
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37