Kanzi 4.0.0-beta2
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 BlendStateHandleGuard create (const BlendStateCreateInfo &createInfo)=0
 Creates a blend state 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 ImageHandleGuard create (const ImageCreateInfo &createInfo)=0
 Creates an image 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 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 (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 (ImageHandle handle)=0
 Destroys a buffer 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 (VertexInputStateHandle handle)=0
 Destroys a buffer object.
 
virtual BackendInformation getBackendInformation () const =0
 Gets the current backend information.
 
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 (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 (ImageHandle handle)=0
 Gets an internal HandleObject from an image 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 (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 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.

◆ 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.

◆ shutdown()

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

Shuts down the backend and frees any resources.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ create() [1/16]

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.

◆ create() [2/16]

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.

◆ create() [3/16]

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.

◆ create() [4/16]

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.

◆ create() [5/16]

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.

◆ create() [6/16]

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.

◆ create() [7/16]

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.

◆ create() [8/16]

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.

◆ create() [9/16]

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.

◆ create() [10/16]

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.

◆ create() [11/16]

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.

◆ create() [12/16]

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.

◆ create() [13/16]

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.

◆ create() [14/16]

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.

◆ create() [15/16]

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.

◆ create() [16/16]

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.

◆ getHandleObject() [1/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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/16]

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.

◆ destroy() [1/16]

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

Destroys a buffer object.

Parameters
handleThe buffer handle.

◆ destroy() [2/16]

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

Destroys a buffer object.

Parameters
handleThe image handle.

◆ destroy() [3/16]

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

Destroys a buffer object.

Parameters
handleThe frame buffer handle.

◆ destroy() [4/16]

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

Destroys a buffer object.

Parameters
handleThe vertex input state handle.

◆ destroy() [5/16]

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

Destroys a buffer object.

Parameters
handleThe depth stencil state handle.

◆ destroy() [6/16]

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

Destroys a buffer object.

Parameters
handleThe blend state handle.

◆ destroy() [7/16]

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

Destroys a buffer object.

Parameters
handleThe raster state handle.

◆ destroy() [8/16]

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

Destroys a buffer object.

Parameters
handleThe render resource set handle.

◆ destroy() [9/16]

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

Destroys a buffer object.

Parameters
handleThe compute resource set handle.

◆ destroy() [10/16]

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

Destroys a buffer object.

Parameters
handleThe sampler handle.

◆ destroy() [11/16]

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

Destroys a buffer object.

Parameters
handleThe shader handle.

◆ destroy() [12/16]

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

Destroys a buffer object.

Parameters
handleThe compute pipeline handle.

◆ destroy() [13/16]

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

Destroys a buffer object.

Parameters
handleThe render pipeline handle.

◆ destroy() [14/16]

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

Destroys a buffer object.

Parameters
handleThe render pass handle.

◆ destroy() [15/16]

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

Destroys a buffer object.

Parameters
handleThe command buffer handle.

◆ destroy() [16/16]

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

Destroys a buffer object.

Parameters
handleThe GPU fence handle.

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