UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::VulkanComputeDevice Class Reference
Inheritance diagram for UN::VulkanComputeDevice:
UN::Object< IComputeDevice > UN::IComputeDevice UN::IObject

Public Types

using DescriptorType = ComputeDeviceDesc
 

Public Member Functions

 VulkanComputeDevice (VulkanDeviceFactory *pInstance)
 
ResultCode Init (const DescriptorType &desc) override
 Initializes the compute device with the provided descriptor. More...
 
void Reset () override
 Reset the object to uninitialized state. More...
 
VkCommandPool GetCommandPool (UInt32 queueFamilyIndex)
 
UInt32 GetQueueFamilyIndex (HardwareQueueKindFlags flags)
 
VkQueue GetDeviceQueue (UInt32 queueFamilyIndex, UInt32 queueIndex)
 
VkQueue GetDeviceQueue (HardwareQueueKindFlags flags)
 
VulkanDescriptorAllocatorGetDescriptorAllocator ()
 
ResultCode FindMemoryType (UInt32 typeBits, VkMemoryPropertyFlags properties, UInt32 &memoryType)
 
VkDevice GetNativeDevice () const
 
ResultCode CreateBuffer (IBuffer **ppBuffer) override
 
ResultCode CreateMemory (IDeviceMemory **ppMemory) override
 
ResultCode CreateFence (IFence **ppFence) override
 
ResultCode CreateCommandList (ICommandList **ppCommandList) override
 
ResultCode CreateResourceBinding (IResourceBinding **ppResourceBinding) override
 
ResultCode CreateKernel (IKernel **ppKernel) override
 
- Public Member Functions inherited from UN::Object< IComputeDevice >
UInt32 Release () override
 
 Object (const Object &)=delete
 
 Object (Object &&)=delete
 
UInt32 AddRef () override
 Add a strong reference to the object. More...
 
void AttachRefCounter (ReferenceCounter *pRefCounter) override
 Attach a reference counter to the object. More...
 
ReferenceCounterGetRefCounter () override
 Get reference counter attached to this object. More...
 
virtual ResultCode Init (const ComputeDeviceDesc &desc)=0
 Initializes the compute device with the provided descriptor. More...
 
virtual void Reset ()=0
 Reset the object to uninitialized state. More...
 
virtual ResultCode CreateBuffer (IBuffer **ppBuffer)=0
 
virtual ResultCode CreateMemory (IDeviceMemory **ppMemory)=0
 
virtual ResultCode CreateFence (IFence **ppFence)=0
 
virtual ResultCode CreateCommandList (ICommandList **ppCommandList)=0
 
virtual ResultCode CreateResourceBinding (IResourceBinding **ppResourceBinding)=0
 
virtual ResultCode CreateKernel (IKernel **ppKernel)=0
 
virtual UInt32 AddRef ()=0
 Add a strong reference to object's reference counter. More...
 
virtual UInt32 Release ()=0
 Remove a strong reference from object's reference counter. More...
 
virtual void AttachRefCounter (ReferenceCounter *counter)=0
 Attach a ReferenceCounter to this object. More...
 
virtual ReferenceCounterGetRefCounter ()=0
 Get reference counter that belongs to this object. More...
 

Static Public Member Functions

static ResultCode Create (VulkanDeviceFactory *pInstance, VulkanComputeDevice **ppDevice)
 

Additional Inherited Members

- Protected Member Functions inherited from UN::Object< IComputeDevice >
UInt32 Release (F &&destroyCallback)
 

Member Function Documentation

◆ CreateBuffer()

ResultCode UN::VulkanComputeDevice::CreateBuffer ( IBuffer **  ppBuffer)
overridevirtual

Implements UN::IComputeDevice.

◆ CreateCommandList()

ResultCode UN::VulkanComputeDevice::CreateCommandList ( ICommandList **  ppCommandList)
overridevirtual

Implements UN::IComputeDevice.

◆ CreateFence()

ResultCode UN::VulkanComputeDevice::CreateFence ( IFence **  ppFence)
overridevirtual

Implements UN::IComputeDevice.

◆ CreateKernel()

ResultCode UN::VulkanComputeDevice::CreateKernel ( IKernel **  ppKernel)
overridevirtual

Implements UN::IComputeDevice.

◆ CreateMemory()

ResultCode UN::VulkanComputeDevice::CreateMemory ( IDeviceMemory **  ppMemory)
overridevirtual

Implements UN::IComputeDevice.

◆ CreateResourceBinding()

ResultCode UN::VulkanComputeDevice::CreateResourceBinding ( IResourceBinding **  ppResourceBinding)
overridevirtual

Implements UN::IComputeDevice.

◆ Init()

ResultCode UN::VulkanComputeDevice::Init ( const DescriptorType desc)
overridevirtual

Initializes the compute device with the provided descriptor.

Parameters
desc- A compute device descriptor.

Implements UN::IComputeDevice.

◆ Reset()

void UN::VulkanComputeDevice::Reset ( )
overridevirtual

Reset the object to uninitialized state.

Implements UN::IComputeDevice.


The documentation for this class was generated from the following files: