Kanzi 4.1.0
kanzi::gfx::AbstractBackend Class Referenceabstract

Defines of a graphics library backend. More...

#include <kanzi/gfx/abstract_backend.hpp>

Inheritance diagram for kanzi::gfx::AbstractBackend:
[legend]

Public Member Functions

 AbstractBackend ()=default
 Constructor.
 
 AbstractBackend (AbstractBackend &&) noexcept=delete
 
 AbstractBackend (const AbstractBackend &)=delete
 
virtual span< byte > allocateCommandBufferMemory (const CommandBufferHandleGuard &buffer, uint32_t size)=0
 Allocates memory from the end of a command buffer.
 
virtual void cleanupThread ()=0
 Cleans up thread specific resources for threads that do not call shutdown().
 
virtual BlendStateHandleGuard create (const BlendStateCreateInfo &createInfo)=0
 Creates a blend state object.
 
virtual BottomLevelAccelerationStructureHandleGuard create (const BottomLevelAccelerationStructureCreateInfo &createInfo)=0
 Creates a bottom level acceleration structure object.
 
virtual BufferHandleGuard create (const BufferCreateInfo &createInfo)=0
 Creates a buffer object.
 
virtual CommandBufferHandleGuard create (const CommandBufferCreateInfo &createInfo)=0
 Creates a command buffer object.
 
virtual ComputePipelineHandleGuard create (const ComputePipelineCreateInfo &createInfo)=0
 Creates a compute pipeline object.
 
virtual ComputeResourceSetHandleGuard create (const ComputeResourceSetCreateInfo &createInfo)=0
 Creates a compute resource set object.
 
virtual DepthStencilStateHandleGuard create (const DepthStencilStateCreateInfo &createInfo)=0
 Creates a depth stencil state object.
 
virtual FrameBufferHandleGuard create (const FrameBufferCreateInfo &createInfo)=0
 Creates a frame buffer object.
 
virtual GpuFenceHandleGuard create (const GpuFenceCreateInfo &createInfo)=0
 Creates a GPU fence object.
 
virtual GPUSceneHandleGuard create (const GPUSceneCreateInfo &createInfo)=0
 Creates a gpu scene object.
 
virtual ImageHandleGuard create (const ImageCreateInfo &createInfo)=0
 Creates an image object.
 
virtual QueryPoolHandleGuard create (const QueryPoolCreateInfo &createInfo)=0
 Creates a GPU query pool object.
 
virtual RasterStateHandleGuard create (const RasterStateCreateInfo &createInfo)=0
 Creates a raster state object.
 
virtual RenderPassHandleGuard create (const RenderPassCreateInfo &createInfo)=0
 Creates a render pass object.
 
virtual RenderPipelineHandleGuard create (const RenderPipelineCreateInfo &createInfo)=0
 Creates a render pipeline object.
 
virtual RenderResourceSetHandleGuard create (const RenderResourceSetCreateInfo &createInfo)=0
 Creates a render resource set object.
 
virtual SamplerHandleGuard create (const SamplerCreateInfo &createInfo)=0
 Creates a sampler object.
 
virtual ShaderHandleGuard create (const ShaderCreateInfo &createInfo)=0
 Creates a shader object.
 
virtual TopLevelAccelerationStructureHandleGuard create (const TopLevelAccelerationStructureCreateInfo &createInfo)=0
 Creates a top level acceleration structure object.
 
virtual VertexInputStateHandleGuard create (const VertexInputStateCreateInfo &createInfo)=0
 Creates a vertex input state object.
 
virtual void destroy (BlendStateHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (BottomLevelAccelerationStructureHandle handle)=0
 Destroys a bottom level acceleration structure object.
 
virtual void destroy (BufferHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (CommandBufferHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (ComputePipelineHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (ComputeResourceSetHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (DepthStencilStateHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (FrameBufferHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (GpuFenceHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (GPUSceneHandle handle)=0
 Destroys a gpu scene object.
 
virtual void destroy (ImageHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (QueryPoolHandle handle)=0
 Destroys a query pool object.
 
virtual void destroy (RasterStateHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (RenderPassHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (RenderPipelineHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (RenderResourceSetHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (SamplerHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (ShaderHandle handle)=0
 Destroys a buffer object.
 
virtual void destroy (TopLevelAccelerationStructureHandle handle)=0
 Destroys a top level acceleration structure object.
 
virtual void destroy (VertexInputStateHandle handle)=0
 Destroys a buffer object.
 
virtual BackendInformation getBackendInformation () const =0
 Gets the current backend information.
 
virtual uint64_t getDeviceAddress (const BufferHandleGuard &handle) const =0
 Gets the device address of a buffer for use with shader buffer device address.
 
virtual uint32_t getDeviceProperty (DevicePropertyId property) const =0
 Gets a device property value.
 
virtual FormatFeatureFlag getFormatFeatures (Format format) const =0
 Gets device feature flags for a format.
 
virtual AttachmentDescriptionSet getFrameBufferAttachmentDescriptionSet (const FrameBufferHandleGuard &handle)=0
 Gets the AttachmentDescriptionSet for the requested FrameBuffer.
 
virtual HandleObjectgetHandleObject (BlendStateHandle handle)=0
 Gets an internal HandleObject from a blend state handle.
 
virtual HandleObjectgetHandleObject (BottomLevelAccelerationStructureHandle handle)=0
 Gets an internal HandleObject from a bottom level acceleration structure handle.
 
virtual HandleObjectgetHandleObject (BufferHandle handle)=0
 Gets an internal HandleObject from a buffer handle.
 
virtual HandleObjectgetHandleObject (CommandBufferHandle handle)=0
 Gets an internal HandleObject from a command buffer handle.
 
virtual HandleObjectgetHandleObject (ComputePipelineHandle handle)=0
 Gets an internal HandleObject from a compute pipeline handle.
 
virtual HandleObjectgetHandleObject (ComputeResourceSetHandle handle)=0
 Gets an internal HandleObject from a compute resource set handle.
 
virtual HandleObjectgetHandleObject (DepthStencilStateHandle handle)=0
 Gets an internal HandleObject from a depth stencil state handle.
 
virtual HandleObjectgetHandleObject (FrameBufferHandle handle)=0
 Gets an internal HandleObject from a frame buffer handle.
 
virtual HandleObjectgetHandleObject (GpuFenceHandle handle)=0
 Gets an internal HandleObject from a GPU fence handle.
 
virtual HandleObjectgetHandleObject (GPUSceneHandle handle)=0
 Gets an internal HandleObject from a gpu scene handle.
 
virtual HandleObjectgetHandleObject (ImageHandle handle)=0
 Gets an internal HandleObject from an image handle.
 
virtual HandleObjectgetHandleObject (QueryPoolHandle handle)=0
 Gets an internal HandleObject from a GPU query pool handle.
 
virtual HandleObjectgetHandleObject (RasterStateHandle handle)=0
 Gets an internal HandleObject from a raster state handle.
 
virtual HandleObjectgetHandleObject (RenderPassHandle handle)=0
 Gets an internal HandleObject from a render pass handle.
 
virtual HandleObjectgetHandleObject (RenderPipelineHandle handle)=0
 Gets an internal HandleObject from a render pipeline handle.
 
virtual HandleObjectgetHandleObject (RenderResourceSetHandle handle)=0
 Gets an internal HandleObject from a render resource set handle.
 
virtual HandleObjectgetHandleObject (SamplerHandle handle)=0
 Gets an internal HandleObject from a sampler handle.
 
virtual HandleObjectgetHandleObject (ShaderHandle handle)=0
 Gets an internal HandleObject from a shader handle.
 
virtual HandleObjectgetHandleObject (TopLevelAccelerationStructureHandle handle)=0
 Gets an internal HandleObject from a top level acceleration structure handle.
 
virtual HandleObjectgetHandleObject (VertexInputStateHandle handle)=0
 Gets an internal HandleObject from a vertex input state handle.
 
virtual ObjectStatus getStatus (const RenderPipelineHandleGuard &handle) const =0
 Gets the status of a render pipeline object.
 
virtual ObjectStatus getStatus (const ShaderHandleGuard &handle) const =0
 Gets the status of a shader object.
 
virtual bool initialize (const InitializationInfo &info)=0
 Initializes the backend.
 
virtual bool isFeatureEnabled (FeatureId feature) const =0
 Returns whether a graphics feature is enabled on the current device.
 
virtual bool isNativeTextureHandleTypeSupported (const gfx::NativeTextureHandle &handle) const =0
 Returns whether a native handle type for texture is supported by the current backend.
 
virtual bool isShaderFormatSupported (ShaderFormat format) const =0
 Returns whether a shader format is supported by the current backend and device.
 
virtual span< byte > mapBuffer (const BufferHandleGuard &handle, uint32_t offset, uint32_t size)=0
 Maps a buffer into CPU-accessible memory.
 
AbstractBackendoperator= (AbstractBackend &&) noexcept=delete
 
AbstractBackendoperator= (const AbstractBackend &)=delete
 
virtual span< const byte > peekCommandBufferMemory (const CommandBufferHandleGuard &handle) const =0
 Peeks at the currently allocated memory inside a command buffer.
 
virtual void prepareForShutdown ()=0
 Prepares for backend shutdown.
 
virtual void processCommands (CommandBufferHandleGuard commands, TaskFn callback)=0
 Processes the commands in the command buffer.
 
virtual bool readQueryResults (QueryPoolHandleGuard handle, uint32_t first, span< uint64_t > results)=0
 Reads query results from a pool.
 
virtual void resetGpuFence (const GpuFenceHandleGuard &handle)=0
 Resets the signal state of a GPU fence.
 
virtual void shutdown ()=0
 Shuts down the backend and frees any resources.
 
virtual void unmapBuffer (const BufferHandleGuard &handle, span< ByteRange > updatedRanges)=0
 Unmaps a previously mapped buffer.
 
virtual void updateSurfaceDimensions (const FrameBufferHandleGuard &handle, v2u32 dimensions)=0
 Updates the Surface dimensions.
 
virtual WaitResult waitForGpuFence (const GpuFenceHandleGuard &handle, chrono::nanoseconds timeout)=0
 Waits for a GPU fence to be signaled.
 
virtual ~AbstractBackend ()=default
 Destructor.
 

Detailed Description

Defines of a graphics library backend.

Implement this interface to create a custom graphics backend. All methods on this interface, except for initialization and shutdown, must be thread-safe with other methods.

Since
Kanzi 4.0.0

Constructor & Destructor Documentation

◆ AbstractBackend() [1/3]

kanzi::gfx::AbstractBackend::AbstractBackend ( )
default

Constructor.

◆ ~AbstractBackend()

virtual kanzi::gfx::AbstractBackend::~AbstractBackend ( )
virtualdefault

Destructor.

◆ AbstractBackend() [2/3]

kanzi::gfx::AbstractBackend::AbstractBackend ( const AbstractBackend & )
delete

◆ AbstractBackend() [3/3]

kanzi::gfx::AbstractBackend::AbstractBackend ( AbstractBackend && )
deletenoexcept

Member Function Documentation

◆ operator=() [1/2]

AbstractBackend & kanzi::gfx::AbstractBackend::operator= ( const AbstractBackend & )
delete

◆ operator=() [2/2]

AbstractBackend & kanzi::gfx::AbstractBackend::operator= ( AbstractBackend && )
deletenoexcept

◆ initialize()

virtual bool kanzi::gfx::AbstractBackend::initialize ( const InitializationInfo & info)
pure virtual

Initializes the backend.

Must be called before any other call to the backend.

Parameters
infoThe graphics common initialization information.
Returns
If initialization was successful, true, otherwise false.

Implemented in kanzi::gfx::BackendLayer.

◆ prepareForShutdown()

virtual void kanzi::gfx::AbstractBackend::prepareForShutdown ( )
pure virtual

Prepares for backend shutdown.

Kanzi calls prepareForShutdown() at the beginning of gfx::shutdown() to give an opportunity to prepare the backend for the shutdown operation. For example, ensuring that any resources used by the backend are not in current use.

Implemented in kanzi::gfx::BackendLayer.

◆ shutdown()

virtual void kanzi::gfx::AbstractBackend::shutdown ( )
pure virtual

Shuts down the backend and frees any resources.

Implemented in kanzi::gfx::BackendLayer.

◆ cleanupThread()

virtual void kanzi::gfx::AbstractBackend::cleanupThread ( )
pure virtual

Cleans up thread specific resources for threads that do not call shutdown().

Implemented in kanzi::gfx::BackendLayer.

◆ getBackendInformation()

virtual BackendInformation kanzi::gfx::AbstractBackend::getBackendInformation ( ) const
pure virtual

Gets the current backend information.

Returns
The current information about the current backend.

Implemented in kanzi::gfx::BackendLayer.

◆ isShaderFormatSupported()

virtual bool kanzi::gfx::AbstractBackend::isShaderFormatSupported ( ShaderFormat format) const
pure virtual

Returns whether a shader format is supported by the current backend and device.

Parameters
formatThe shader format.
Returns
If the current backend and device support the shader format, true, otherwise false.

Implemented in kanzi::gfx::BackendLayer.

◆ isNativeTextureHandleTypeSupported()

virtual bool kanzi::gfx::AbstractBackend::isNativeTextureHandleTypeSupported ( const gfx::NativeTextureHandle & handle) const
pure virtual

Returns whether a native handle type for texture is supported by the current backend.

Parameters
handleThe native texture handle.
Returns
If the current backend support the native handle format, true, otherwise false.

Implemented in kanzi::gfx::BackendLayer.

◆ getFrameBufferAttachmentDescriptionSet()

virtual AttachmentDescriptionSet kanzi::gfx::AbstractBackend::getFrameBufferAttachmentDescriptionSet ( const FrameBufferHandleGuard & handle)
pure virtual

Gets the AttachmentDescriptionSet for the requested FrameBuffer.

Parameters
handleThe FrameBuffer handle.
Returns
The AttachmentDescriptionSet for the FrameBuffer.

Implemented in kanzi::gfx::BackendLayer.

◆ updateSurfaceDimensions()

virtual void kanzi::gfx::AbstractBackend::updateSurfaceDimensions ( const FrameBufferHandleGuard & handle,
v2u32 dimensions )
pure virtual

Updates the Surface dimensions.

Notifies the backend that a resize has occurred.

Parameters
handlethe FrameBuffer handle.
dimensionsThe dimensions.

Implemented in kanzi::gfx::BackendLayer.

◆ waitForGpuFence()

virtual WaitResult kanzi::gfx::AbstractBackend::waitForGpuFence ( const GpuFenceHandleGuard & handle,
chrono::nanoseconds timeout )
pure virtual

Waits for a GPU fence to be signaled.

Parameters
handleThe GPU fence handle.
timeoutThe time in nanoseconds to wait before timing out.
Returns
The result of the wait operation.

Implemented in kanzi::gfx::BackendLayer.

◆ resetGpuFence()

virtual void kanzi::gfx::AbstractBackend::resetGpuFence ( const GpuFenceHandleGuard & handle)
pure virtual

Resets the signal state of a GPU fence.

Parameters
handleThe GPU fence handle.

Implemented in kanzi::gfx::BackendLayer.

◆ mapBuffer()

virtual span< byte > kanzi::gfx::AbstractBackend::mapBuffer ( const BufferHandleGuard & handle,
uint32_t offset,
uint32_t size )
pure virtual

Maps a buffer into CPU-accessible memory.

A buffer can have only one mapping at a time.

Parameters
handleThe buffer handle.
offsetAn offset to the subregion to map.
sizeThe size of the subregion to map.
Returns
A span of bytes mapped to the buffer contents.

Implemented in kanzi::gfx::BackendLayer.

◆ unmapBuffer()

virtual void kanzi::gfx::AbstractBackend::unmapBuffer ( const BufferHandleGuard & handle,
span< ByteRange > updatedRanges )
pure virtual

Unmaps a previously mapped buffer.

Parameters
handleThe buffer handle.
updatedRangesThe ranges of the buffer that were updated.

Implemented in kanzi::gfx::BackendLayer.

◆ getDeviceAddress()

virtual uint64_t kanzi::gfx::AbstractBackend::getDeviceAddress ( const BufferHandleGuard & handle) const
pure virtual

Gets the device address of a buffer for use with shader buffer device address.

Returns 0 if unsupported.

Parameters
handleThe buffer handle.
Returns
The 64-bit GPU virtual address of the buffer, or 0 if the feature is not supported.
Since
Kanzi 4.1.0

Implemented in kanzi::gfx::BackendLayer.

◆ getDeviceProperty()

virtual uint32_t kanzi::gfx::AbstractBackend::getDeviceProperty ( DevicePropertyId property) const
pure virtual

Gets a device property value.

Parameters
propertyThe DevicePropertyId to query.
Returns
The value of the property for the current device.

Implemented in kanzi::gfx::BackendLayer.

◆ isFeatureEnabled()

virtual bool kanzi::gfx::AbstractBackend::isFeatureEnabled ( FeatureId feature) const
pure virtual

Returns whether a graphics feature is enabled on the current device.

Parameters
featureThe FeatureId to query.
Returns
If the feature is enabled on the current device, true, otherwise false.

Implemented in kanzi::gfx::BackendLayer.

◆ getFormatFeatures()

virtual FormatFeatureFlag kanzi::gfx::AbstractBackend::getFormatFeatures ( Format format) const
pure virtual

Gets device feature flags for a format.

Parameters
formatThe image format.
Returns
Feature flags for the image format.

Implemented in kanzi::gfx::BackendLayer.

◆ allocateCommandBufferMemory()

virtual span< byte > kanzi::gfx::AbstractBackend::allocateCommandBufferMemory ( const CommandBufferHandleGuard & buffer,
uint32_t size )
pure virtual

Allocates memory from the end of a command buffer.

Parameters
bufferThe command buffer handle.
sizeThe size in bytes to allocate.
Returns
A span of memory that was allocated in the command buffer.

Implemented in kanzi::gfx::BackendLayer.

◆ peekCommandBufferMemory()

virtual span< const byte > kanzi::gfx::AbstractBackend::peekCommandBufferMemory ( const CommandBufferHandleGuard & handle) const
pure virtual

Peeks at the currently allocated memory inside a command buffer.

Parameters
handleThe command buffer handle.
Returns
A span of bytes that have previously been allocated for the command buffer.

Implemented in kanzi::gfx::BackendLayer.

◆ processCommands()

virtual void kanzi::gfx::AbstractBackend::processCommands ( CommandBufferHandleGuard commands,
TaskFn callback )
pure virtual

Processes the commands in the command buffer.

When the processing completes, calls the callback function. This is an asynchronous operation and can be incomplete when this function returns.

Parameters
commandsThe command buffer handle.
callbackThe backend calls this callback when command processing is complete. The callback must be callable from any thread.

Implemented in kanzi::gfx::BackendLayer.

◆ getStatus() [1/2]

virtual ObjectStatus kanzi::gfx::AbstractBackend::getStatus ( const ShaderHandleGuard & handle) const
pure virtual

Gets the status of a shader object.

Parameters
handleThe shader handle.
Returns
An object status for the shader.

Implemented in kanzi::gfx::BackendLayer.

◆ getStatus() [2/2]

virtual ObjectStatus kanzi::gfx::AbstractBackend::getStatus ( const RenderPipelineHandleGuard & handle) const
pure virtual

Gets the status of a render pipeline object.

Parameters
handleThe render pipeline handle.
Returns
An object status for the render pipeline.

Implemented in kanzi::gfx::BackendLayer.

◆ readQueryResults()

virtual bool kanzi::gfx::AbstractBackend::readQueryResults ( QueryPoolHandleGuard handle,
uint32_t first,
span< uint64_t > results )
pure virtual

Reads query results from a pool.

External synchronization is required to ensure results are ready.

Parameters
handleQuery pool handle.
firstFirst query to read.
resultsReserved space for read data.
Returns
If the read was successful, true, otherwise false.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [1/20]

virtual BufferHandleGuard kanzi::gfx::AbstractBackend::create ( const BufferCreateInfo & createInfo)
pure virtual

Creates a buffer object.

Parameters
createInfoCreation parameters for the buffer object.
Returns
A handle to the created buffer object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [2/20]

virtual ImageHandleGuard kanzi::gfx::AbstractBackend::create ( const ImageCreateInfo & createInfo)
pure virtual

Creates an image object.

Parameters
createInfoCreation parameters for the image object.
Returns
A handle to the created image object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [3/20]

virtual FrameBufferHandleGuard kanzi::gfx::AbstractBackend::create ( const FrameBufferCreateInfo & createInfo)
pure virtual

Creates a frame buffer object.

Parameters
createInfoCreation parameters for the frame buffer object.
Returns
A handle to the created frame buffer object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [4/20]

virtual VertexInputStateHandleGuard kanzi::gfx::AbstractBackend::create ( const VertexInputStateCreateInfo & createInfo)
pure virtual

Creates a vertex input state object.

Parameters
createInfoCreation parameters for the vertex input state object.
Returns
A handle to the created vertex input state object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [5/20]

virtual DepthStencilStateHandleGuard kanzi::gfx::AbstractBackend::create ( const DepthStencilStateCreateInfo & createInfo)
pure virtual

Creates a depth stencil state object.

Parameters
createInfoCreation parameters for the depth stencil state object.
Returns
A handle to the created depth stencil state object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [6/20]

virtual BlendStateHandleGuard kanzi::gfx::AbstractBackend::create ( const BlendStateCreateInfo & createInfo)
pure virtual

Creates a blend state object.

Parameters
createInfoCreation parameters for the blend state object.
Returns
A handle to the created blend state object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [7/20]

virtual RasterStateHandleGuard kanzi::gfx::AbstractBackend::create ( const RasterStateCreateInfo & createInfo)
pure virtual

Creates a raster state object.

Parameters
createInfoCreation parameters for the raster state object.
Returns
A handle to the created raster state object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [8/20]

virtual RenderResourceSetHandleGuard kanzi::gfx::AbstractBackend::create ( const RenderResourceSetCreateInfo & createInfo)
pure virtual

Creates a render resource set object.

Parameters
createInfoCreation parameters for the render resource set object.
Returns
A handle to the created render resource set object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [9/20]

virtual ComputeResourceSetHandleGuard kanzi::gfx::AbstractBackend::create ( const ComputeResourceSetCreateInfo & createInfo)
pure virtual

Creates a compute resource set object.

Parameters
createInfoCreation parameters for the compute resource set object.
Returns
A handle to the created compute resource set object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [10/20]

virtual SamplerHandleGuard kanzi::gfx::AbstractBackend::create ( const SamplerCreateInfo & createInfo)
pure virtual

Creates a sampler object.

Parameters
createInfoCreation parameters for the sampler object.
Returns
A handle to the created sampler object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [11/20]

virtual ShaderHandleGuard kanzi::gfx::AbstractBackend::create ( const ShaderCreateInfo & createInfo)
pure virtual

Creates a shader object.

Parameters
createInfoCreation parameters for the shader object.
Returns
A handle to the created shader object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [12/20]

virtual ComputePipelineHandleGuard kanzi::gfx::AbstractBackend::create ( const ComputePipelineCreateInfo & createInfo)
pure virtual

Creates a compute pipeline object.

Parameters
createInfoCreation parameters for the compute pipeline object.
Returns
A handle to the created compute pipeline object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [13/20]

virtual RenderPipelineHandleGuard kanzi::gfx::AbstractBackend::create ( const RenderPipelineCreateInfo & createInfo)
pure virtual

Creates a render pipeline object.

Parameters
createInfoCreation parameters for the render pipeline object.
Returns
A handle to the created render pipeline object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [14/20]

virtual RenderPassHandleGuard kanzi::gfx::AbstractBackend::create ( const RenderPassCreateInfo & createInfo)
pure virtual

Creates a render pass object.

Parameters
createInfoCreation parameters for the render pass object.
Returns
A handle to the created render pass object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [15/20]

virtual CommandBufferHandleGuard kanzi::gfx::AbstractBackend::create ( const CommandBufferCreateInfo & createInfo)
pure virtual

Creates a command buffer object.

Parameters
createInfoCreation parameters for the command buffer object.
Returns
A handle to the created command buffer object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [16/20]

virtual GpuFenceHandleGuard kanzi::gfx::AbstractBackend::create ( const GpuFenceCreateInfo & createInfo)
pure virtual

Creates a GPU fence object.

Parameters
createInfoCreation parameters for the GPU fence object.
Returns
A handle to the created GPU fence object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [17/20]

virtual QueryPoolHandleGuard kanzi::gfx::AbstractBackend::create ( const QueryPoolCreateInfo & createInfo)
pure virtual

Creates a GPU query pool object.

Parameters
createInfoCreation parameters for the GPU query pool object.
Returns
A handle to the created GPU query pool object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [18/20]

virtual TopLevelAccelerationStructureHandleGuard kanzi::gfx::AbstractBackend::create ( const TopLevelAccelerationStructureCreateInfo & createInfo)
pure virtual

Creates a top level acceleration structure object.

Parameters
createInfoCreation parameters for the top level acceleration structure object.
Returns
A handle to the created acceleration structure object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [19/20]

virtual BottomLevelAccelerationStructureHandleGuard kanzi::gfx::AbstractBackend::create ( const BottomLevelAccelerationStructureCreateInfo & createInfo)
pure virtual

Creates a bottom level acceleration structure object.

Parameters
createInfoCreation parameters for the bottom level acceleration structure object.
Returns
A handle to the created acceleration structure object.

Implemented in kanzi::gfx::BackendLayer.

◆ create() [20/20]

virtual GPUSceneHandleGuard kanzi::gfx::AbstractBackend::create ( const GPUSceneCreateInfo & createInfo)
pure virtual

Creates a gpu scene object.

Parameters
createInfoCreation parameters for the gpu scene object.
Returns
A handle to the created gpu scene object.
Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [1/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( BufferHandle handle)
pure virtual

Gets an internal HandleObject from a buffer handle.

Parameters
handleThe buffer handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [2/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( ImageHandle handle)
pure virtual

Gets an internal HandleObject from an image handle.

Parameters
handleThe image handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [3/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( FrameBufferHandle handle)
pure virtual

Gets an internal HandleObject from a frame buffer handle.

Parameters
handleThe frame buffer handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [4/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( VertexInputStateHandle handle)
pure virtual

Gets an internal HandleObject from a vertex input state handle.

Parameters
handleThe vertex input state handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [5/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( DepthStencilStateHandle handle)
pure virtual

Gets an internal HandleObject from a depth stencil state handle.

Parameters
handleThe depth stencil state handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [6/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( BlendStateHandle handle)
pure virtual

Gets an internal HandleObject from a blend state handle.

Parameters
handleThe blend state handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [7/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( RasterStateHandle handle)
pure virtual

Gets an internal HandleObject from a raster state handle.

Parameters
handleThe raster state handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [8/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( RenderResourceSetHandle handle)
pure virtual

Gets an internal HandleObject from a render resource set handle.

Parameters
handleThe render resource set handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [9/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( ComputeResourceSetHandle handle)
pure virtual

Gets an internal HandleObject from a compute resource set handle.

Parameters
handleThe compute resource set handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [10/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( SamplerHandle handle)
pure virtual

Gets an internal HandleObject from a sampler handle.

Parameters
handleThe sampler handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [11/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( ShaderHandle handle)
pure virtual

Gets an internal HandleObject from a shader handle.

Parameters
handleThe shader handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [12/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( ComputePipelineHandle handle)
pure virtual

Gets an internal HandleObject from a compute pipeline handle.

Parameters
handleThe compile pipeline handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [13/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( RenderPipelineHandle handle)
pure virtual

Gets an internal HandleObject from a render pipeline handle.

Parameters
handleThe render pipeline handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [14/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( RenderPassHandle handle)
pure virtual

Gets an internal HandleObject from a render pass handle.

Parameters
handleThe render pass handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [15/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( CommandBufferHandle handle)
pure virtual

Gets an internal HandleObject from a command buffer handle.

Parameters
handleThe command buffer handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [16/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( GpuFenceHandle handle)
pure virtual

Gets an internal HandleObject from a GPU fence handle.

Parameters
handleThe GPU fence handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [17/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( QueryPoolHandle handle)
pure virtual

Gets an internal HandleObject from a GPU query pool handle.

Parameters
handleThe GPU query pool handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [18/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( TopLevelAccelerationStructureHandle handle)
pure virtual

Gets an internal HandleObject from a top level acceleration structure handle.

Parameters
handleThe top level acceleration structure handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [19/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( BottomLevelAccelerationStructureHandle handle)
pure virtual

Gets an internal HandleObject from a bottom level acceleration structure handle.

Parameters
handleThe bottom level acceleration structure handle.
Returns
A pointer to the internal HandleObject.

Implemented in kanzi::gfx::BackendLayer.

◆ getHandleObject() [20/20]

virtual HandleObject * kanzi::gfx::AbstractBackend::getHandleObject ( GPUSceneHandle handle)
pure virtual

Gets an internal HandleObject from a gpu scene handle.

Parameters
handleThe gpu scene handle.
Returns
A pointer to the internal HandleObject.
Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [1/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( BufferHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe buffer handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [2/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( ImageHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe image handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [3/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( FrameBufferHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe frame buffer handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [4/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( VertexInputStateHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe vertex input state handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [5/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( DepthStencilStateHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe depth stencil state handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [6/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( BlendStateHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe blend state handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [7/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( RasterStateHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe raster state handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [8/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( RenderResourceSetHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe render resource set handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [9/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( ComputeResourceSetHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe compute resource set handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [10/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( SamplerHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe sampler handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [11/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( ShaderHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe shader handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [12/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( ComputePipelineHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe compute pipeline handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [13/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( RenderPipelineHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe render pipeline handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [14/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( RenderPassHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe render pass handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [15/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( CommandBufferHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe command buffer handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [16/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( GpuFenceHandle handle)
pure virtual

Destroys a buffer object.

Parameters
handleThe GPU fence handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [17/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( QueryPoolHandle handle)
pure virtual

Destroys a query pool object.

Parameters
handleThe GPU query pool handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [18/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( TopLevelAccelerationStructureHandle handle)
pure virtual

Destroys a top level acceleration structure object.

Parameters
handleThe acceleration structure handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [19/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( BottomLevelAccelerationStructureHandle handle)
pure virtual

Destroys a bottom level acceleration structure object.

Parameters
handleThe acceleration structure handle.

Implemented in kanzi::gfx::BackendLayer.

◆ destroy() [20/20]

virtual void kanzi::gfx::AbstractBackend::destroy ( GPUSceneHandle handle)
pure virtual

Destroys a gpu scene object.

Parameters
handleThe gpu scene handle.
Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

Implemented in kanzi::gfx::BackendLayer.


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