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

An interface for kernel compiler that is used for compiling compute shader source into backend's native code. More...

#include <IKernelCompiler.h>

Inheritance diagram for UN::IKernelCompiler:
UN::IObject UN::Object< IKernelCompiler > UN::KernelCompiler

Public Types

using DescriptorType = KernelCompilerDesc
 

Public Member Functions

virtual const DescriptorTypeGetDesc () const =0
 
virtual ResultCode Init (const DescriptorType &desc)=0
 Creates and initializes a kernel compiler. More...
 
virtual ResultCode Compile (const KernelCompilerArgs &args, HeapArray< Byte > *pResult)=0
 Compile a compute kernel into target language. More...
 
- 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

An interface for kernel compiler that is used for compiling compute shader source into backend's native code.

Member Function Documentation

◆ Compile()

virtual ResultCode UN::IKernelCompiler::Compile ( const KernelCompilerArgs args,
HeapArray< Byte > *  pResult 
)
pure virtual

Compile a compute kernel into target language.

Parameters
args- Compiler arguments.
pResult- A pointer to an array where the compiled bytecode will be written.
Returns
ResultCode::Success or an error code.

◆ Init()

virtual ResultCode UN::IKernelCompiler::Init ( const DescriptorType desc)
pure virtual

Creates and initializes a kernel compiler.

Parameters
desc- Kernel compiler descriptor.
Returns
ResultCode::Success or an error code.

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