UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
UN::IComputeDevice Class Referenceabstract

Interface for all backend-specific compute devices. More...

#include <IComputeDevice.h>

Inheritance diagram for UN::IComputeDevice:
UN::IObject UN::Object< IComputeDevice > UN::VulkanComputeDevice

Public Member Functions

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
 
- Public Member Functions inherited from UN::IObject
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...
 

Detailed Description

Interface for all backend-specific compute devices.

Compute device is an object that allows users to create data buffers, synchronization primitives and other objects using the target backend. It allows to run compute kernels using ICommandList interface.

Compute devices are a part of UraniumCompute low-level API and should not be used directly together with job graphs and other higher-level objects.

Member Function Documentation

◆ Init()

virtual ResultCode UN::IComputeDevice::Init ( const ComputeDeviceDesc desc)
pure virtual

Initializes the compute device with the provided descriptor.

Parameters
desc- A compute device descriptor.

Implemented in UN::VulkanComputeDevice.

◆ Reset()

virtual void UN::IComputeDevice::Reset ( )
pure virtual

Reset the object to uninitialized state.

Implemented in UN::VulkanComputeDevice.


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