Vulkan pipeline systems

This section documents the pipeline systems found in Vulkan pipeline objects, and their associated functions.


Types

Objects

typedef struct TLVK_PipelineSystem_t TLVK_PipelineSystem_t

A pipeline system (AKA ‘pipeline state object system’) to hold Vulkan pipelining data.

This opaque struct represents per-pipeline data for Vulkan pipeline objects.


Functions

TLVK_PipelineSystem_t *TLVK_PipelineSystemCreate(const TLVK_RendererSystem_t *const renderer_system, const TL_PipelineDescriptor_t descriptor)

Create a heap-allocated Vulkan pipeline (PSO) system with either graphics, compute, or ray tracing capabilities.

This function creates a new heap-allocated Vulkan pipeline system, including its Vulkan pipeline state object, and returns a handle to it. NULL will be returned instead if there were any errors in pipeline creation.

Parameters:
  • renderer_system – A valid Thallium Vulkan renderer system object

  • descriptor – a Thallium pipeline descriptor

Returns:

The new Vulkan PSO system

void TLVK_PipelineSystemDestroy(TLVK_PipelineSystem_t *const pipeline_system)

Free the given Thallium Vulkan pipeline state system object.

This function frees the specified pipeline system object.

See also

TLVK_PipelineSystem_t

Parameters:
  • pipeline_system – Pointer to the Thallium Vulkan pipeline system to free.