VV::V3::Pipeline::Cache class

Pipeline cache objects allow the result of pipeline construction to be reused between pipelines and between runs of an application.

Reuse between pipelines is achieved by passing the same pipeline cache object when creating multiple related pipelines. Reuse across runs of an application is achieved by retrieving pipeline cache contents in one run of an application, saving the contents, and using them to preinitialize a pipeline cache on a subsequent run. The contents of the pipeline cache objects are managed by the implementation. Applications can manage the host memory consumed by a pipeline cache object and control the amount of data retrieved from a pipeline cache object.

Base classes

struct VV::V1::Pipeline::Cache
Pipeline cache objects allow the result of pipeline construction to be reused between pipelines and between runs of an application.

Public types

using Parent = V2::Pipeline::Cache

Constructors, destructors, conversion operators

Cache()
Default constructor.
Cache(const LogicalDevice& _device)
Logical device specified.
Cache(const LogicalDevice& _device, const Memory::AllocationCallbacks& _allocator)
Logical device and allocator specified.
Cache(Cache&& _other) noexcept
Performs a move operation to transfer ownership of the device object to this host object.
~Cache()
Destroys the cache if handle is 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

auto Create(const CreateInfo& _info) -> EResult
Create a cache.
auto Create(const LogicalDevice& _device, const CreateInfo& _info) -> EResult
Create a cache (logical device specified).
auto Create(const LogicalDevice& _device, CreateInfo& _info, const Memory::AllocationCallbacks& _allocator) -> EResult
Create a cache (logical device and allocator specified).
void Destroy()
Destroy a cache.
auto operator==(const Cache& _other) const -> bool
Checks to see if its the same object by checking to see if its the same handle.
auto operator=(Cache&& _other) -> Cache& noexcept
Performs a move assignment operation to transfer ownership of the device object to this host object.

Protected variables

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