Base class for a backend layer. More...
#include <kanzi/gfx/backend_layer.hpp>
Protected Member Functions | |
| AbstractBackend * | getNext () const |
| Accesses the next backend in the chain. | |
Base class for a backend layer.
The Kanzi graphics library calls the layers in sequence, so that common features, such as logging or validation, are added to all backends.
|
default |
Constructor.
|
inlineprotected |
Accesses the next backend in the chain.
|
inline |
Sets the next backend object in the execution chain.
This operation is part of initialization, and therefore not thread-safe with the next operation or other operations on the interface.
| next | The next backend in the chain. This can be a real backend or another layer. |
|
inlineoverridevirtual |
Initializes the backend.
Must be called before any other call to the backend.
| info | The graphics common initialization information. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
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.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Shuts down the backend and frees any resources.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::cleanupThread() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getBackendInformation() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::isShaderFormatSupported() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::isNativeTextureHandleTypeSupported() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getDeviceProperty() implementation.
Implements kanzi::gfx::AbstractBackend.
AbstractBackend::isFeatureEnabled() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getFormatFeatures() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Gets the AttachmentDescriptionSet for the requested FrameBuffer.
| handle | The FrameBuffer handle. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Updates the Surface dimensions.
Notifies the backend that a resize has occurred.
| handle | the FrameBuffer handle. |
| dimensions | The dimensions. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Waits for a GPU fence to be signaled.
| handle | The GPU fence handle. |
| timeout | The time in nanoseconds to wait before timing out. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Resets the signal state of a GPU fence.
| handle | The GPU fence handle. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Maps a buffer into CPU-accessible memory.
A buffer can have only one mapping at a time.
| handle | The buffer handle. |
| offset | An offset to the subregion to map. |
| size | The size of the subregion to map. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Unmaps a previously mapped buffer.
| handle | The buffer handle. |
| updatedRanges | The ranges of the buffer that were updated. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Gets the device address of a buffer for use with shader buffer device address.
Returns 0 if unsupported.
| handle | The buffer handle. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Allocates memory from the end of a command buffer.
| buffer | The command buffer handle. |
| size | The size in bytes to allocate. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
Reads query results from a pool.
External synchronization is required to ensure results are ready.
| handle | Query pool handle. |
| first | First query to read. |
| results | Reserved space for read data. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
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.
| commands | The command buffer handle. |
| callback | The backend calls this callback when command processing is complete. The callback must be callable from any thread. |
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::peekCommandBufferMemory() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getStatus() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getStatus() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::getHandleObject() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::create() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.
|
inlineoverridevirtual |
AbstractBackend::destroy() implementation.
Implements kanzi::gfx::AbstractBackend.