|
UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
|
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) |
| VulkanDescriptorAllocator * | GetDescriptorAllocator () |
| 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... | |
| ReferenceCounter * | GetRefCounter () 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 ReferenceCounter * | GetRefCounter ()=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) |
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Implements UN::IComputeDevice.
|
overridevirtual |
Initializes the compute device with the provided descriptor.
| desc | - A compute device descriptor. |
Implements UN::IComputeDevice.
|
overridevirtual |
Reset the object to uninitialized state.
Implements UN::IComputeDevice.