|
UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
|
Interface for all backend-specific compute devices. More...
#include <IComputeDevice.h>
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 ReferenceCounter * | GetRefCounter ()=0 |
| Get reference counter that belongs to this object. More... | |
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.
|
pure virtual |
Initializes the compute device with the provided descriptor.
| desc | - A compute device descriptor. |
Implemented in UN::VulkanComputeDevice.
|
pure virtual |
Reset the object to uninitialized state.
Implemented in UN::VulkanComputeDevice.