2#include <UnCompute/Backend/BaseTypes.h>
3#include <UnCompute/Backend/IDeviceObject.h>
27 class IResourceBinding;
50 virtual ResultCode CreateBuffer(
IBuffer** ppBuffer) = 0;
52 virtual ResultCode CreateMemory(
IDeviceMemory** ppMemory) = 0;
54 virtual ResultCode CreateFence(
IFence** ppFence) = 0;
56 virtual ResultCode CreateCommandList(
ICommandList** ppCommandList) = 0;
58 virtual ResultCode CreateResourceBinding(
IResourceBinding** ppResourceBinding) = 0;
60 virtual ResultCode CreateKernel(
IKernel** ppKernel) = 0;
An interface for backend-specific buffers that store the data on the device.
Definition: IBuffer.h:26
An interface for command lists that record commands to be executed by the backend.
Definition: ICommandList.h:180
Interface for all backend-specific compute devices.
Definition: IComputeDevice.h:38
virtual ResultCode Init(const ComputeDeviceDesc &desc)=0
Initializes the compute device with the provided descriptor.
virtual void Reset()=0
Reset the object to uninitialized state.
This class holds a handle to backend-specific memory.
Definition: IDeviceMemory.h:31
An interface for fences - synchronization primitives that can be either signaled or reset.
Definition: IFence.h:31
An interface for compute kernel - a program running on the device.
Definition: IKernel.h:29
Base interface for dynamic reference counted objects.
Definition: Object.h:8
Resource binding object used to bind resources to a compute kernel.
Definition: IResourceBinding.h:51
Compute device descriptor.
Definition: IComputeDevice.h:9
UInt32 AdapterId
ID of the adapter to create the device on.
Definition: IComputeDevice.h:10