UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::VulkanKernel Class Referencefinal
Inheritance diagram for UN::VulkanKernel:
UN::KernelBase UN::DeviceObjectBase< IKernel > UN::Object< IKernel > UN::IKernel UN::IDeviceObject UN::IObject

Public Member Functions

 VulkanKernel (IComputeDevice *pDevice)
 
void Reset () override
 Reset the object to uninitialized state. More...
 
VkPipeline GetNativePipeline () const
 
VulkanResourceBindingGetResourceBinding () const
 
- Public Member Functions inherited from UN::KernelBase
ResultCode Init (const DescriptorType &desc) override
 Creates and initializes a kernel object. More...
 
- Public Member Functions inherited from UN::DeviceObjectBase< IKernel >
const DescriptorTypeGetDesc () const override
 
std::string_view GetDebugName () const override
 
IComputeDeviceGetDevice () const override
 
UInt32 Release () override
 
- Public Member Functions inherited from UN::Object< IKernel >
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 const DescriptorTypeGetDesc () const =0
 
virtual ResultCode Init (const DescriptorType &desc)=0
 Creates and initializes a kernel object. More...
 
virtual std::string_view GetDebugName () const =0
 Get debug name of the object.
 
virtual void Reset ()=0
 Reset the object to uninitialized state. More...
 
virtual IComputeDeviceGetDevice () const =0
 Get the compute device this object was created on. More...
 
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 (IComputeDevice *pDevice, IKernel **ppKernel)
 

Protected Member Functions

ResultCode InitInternal (const DescriptorType &desc) override
 
- Protected Member Functions inherited from UN::KernelBase
virtual ResultCode InitInternal (const DescriptorType &desc)=0
 
 KernelBase (IComputeDevice *pDevice)
 
- Protected Member Functions inherited from UN::DeviceObjectBase< IKernel >
void Init (std::string_view name, const DescriptorType &desc)
 Common device object initializer. More...
 
 DeviceObjectBase (IComputeDevice *pDevice)
 
- Protected Member Functions inherited from UN::Object< IKernel >
UInt32 Release (F &&destroyCallback)
 

Additional Inherited Members

- Public Types inherited from UN::DeviceObjectBase< IKernel >
using DescriptorType = typename TInterface::DescriptorType
 
- Public Types inherited from UN::IKernel
using DescriptorType = KernelDesc
 
- Protected Attributes inherited from UN::DeviceObjectBase< IKernel >
Ptr< IComputeDevicem_pDevice
 
DescriptorType m_Desc
 
std::string m_Name
 

Member Function Documentation

◆ InitInternal()

ResultCode UN::VulkanKernel::InitInternal ( const DescriptorType desc)
overrideprotectedvirtual

Implements UN::KernelBase.

◆ Reset()

void UN::VulkanKernel::Reset ( )
overridevirtual

Reset the object to uninitialized state.

Implements UN::IDeviceObject.


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