VV::V3::Pipeline class

A monolithic object describing the entire graphics, raytracing, or compute pipeline.

Base classes

struct VV::V2::Pipeline
A monolithic object describing the entire graphics, raytracing, or compute pipeline.

Derived classes

class ComputePipeline
The compute pipeline represents a compute shader.
class GraphicsPipeline
Graphics pipelines consist of multiple shader stages, multiple fixed-function pipeline stages, and a pipeline layout.

Public types

class Cache
Pipeline cache objects allow the result of pipeline construction to be reused between pipelines and between runs of an application.
class Layout
Access to descriptor sets from a pipeline is accomplished through a pipeline layout.
using Parent = V2::Pipeline

Constructors, destructors, conversion operators

Pipeline()
Default constructor.
Pipeline(const LogicalDevice& _device)
Specify logical device.
Pipeline(const LogicalDevice& _device, const Cache& _cache)
Specify logical device and cache.
Pipeline(const LogicalDevice& _device, const Memory::AllocationCallbacks& _allocator)
Specify logical device and allocator.
Pipeline(const LogicalDevice& _device, const Cache& _cache, const Memory::AllocationCallbacks& _allocator)
Specify the logical device, cache, and allocator.
Pipeline(Pipeline&& _other) noexcept
Performs a move operation to transfer ownership of the device object to this host object.
~Pipeline()
Destroy the pipeline if the handle is not null.
operator Handle&()
Implicit conversion to give a reference to its handle.
operator const Handle&() const
Implicit conversion to give a readonly reference to its handle.
operator const Handle*() const
Implicit conversion to give a pointer to its handle.

Public functions

void Destroy()
Destroy the pipeline.
auto operator==(const Pipeline& _other) const -> bool
Checks to see if its the same object by checking to see if its the same handle.
auto operator=(Pipeline&& _other) -> Pipeline& noexcept
Performs a move assignment operation to transfer ownership of the device object to this host object.

Protected variables

Handle handle
const Cache* cache
const Memory::AllocationCallbacks* allocator
const LogicalDevice* device