Magnum::Vk::ComputePipelineCreateInfo class new in Git master

Compute pipeline creation info.

Wraps a VkComputePipelineCreateInfo. See Compute pipeline creation for usage information.

Public types

enum class Flag: UnsignedInt { DisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, AllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, Derivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT }
Compute pipeline creation flag.
using Flags = Containers::EnumSet<Flag>
Compite pipeline creation flags.

Constructors, destructors, conversion operators

ComputePipelineCreateInfo(const ShaderSet& shaderSet, VkPipelineLayout pipelineLayout, Flags flags = {}) explicit
Constructor.
ComputePipelineCreateInfo(NoInitT) explicit noexcept
Construct without initializing the contents.
ComputePipelineCreateInfo(const VkComputePipelineCreateInfo& info) explicit
Construct from existing data.
operator const VkComputePipelineCreateInfo*() const

Public functions

auto operator*() -> VkComputePipelineCreateInfo&
Underlying VkGraphicsPipelineCreateInfo structure.
auto operator*() const -> const VkComputePipelineCreateInfo&
auto operator->() -> VkComputePipelineCreateInfo*
auto operator->() const -> const VkComputePipelineCreateInfo*

Enum documentation

enum class Magnum::Vk::ComputePipelineCreateInfo::Flag: UnsignedInt

Compute pipeline creation flag.

Wraps the compute-related subset of VkPipelineCreateFlagBits.

Enumerators
DisableOptimization

Create the pipeline without optimization.

AllowDerivatives

Allow derivatives to be subsequently created from this pipeline.

Derivative

Derivative of a pipeline created earlier.

Typedef documentation

typedef Containers::EnumSet<Flag> Magnum::Vk::ComputePipelineCreateInfo::Flags

Compite pipeline creation flags.

Type-safe wrapper for the compute-related subset of VkPipelineCreateFlags.

Function documentation

Magnum::Vk::ComputePipelineCreateInfo::ComputePipelineCreateInfo(const ShaderSet& shaderSet, VkPipelineLayout pipelineLayout, Flags flags = {}) explicit

Constructor.

Parameters
shaderSet Shader to use for this pipeline. Expected to have just one entry.
pipelineLayout A PipelineLayout or a raw Vulkan pipeline layout handle
flags Compute pipeline creation flags

Note that the shaderSet structure internals are referenced, not copied, and thus have to stay in scope until the Pipeline object is created.

The following VkComputePipelineCreateInfo fields are pre-filled in addition to sType, everything else is zero-filled:

  • flags
  • stage to shaderSet
  • layout to pipelineLayout

Magnum::Vk::ComputePipelineCreateInfo::ComputePipelineCreateInfo(NoInitT) explicit noexcept

Construct without initializing the contents.

Note that not even the sType field nor the nested structure pointers are set — the structure has to be fully initialized afterwards in order to be usable.

Magnum::Vk::ComputePipelineCreateInfo::ComputePipelineCreateInfo(const VkComputePipelineCreateInfo& info) explicit

Construct from existing data.

Copies the existing values verbatim, pointers are kept unchanged without taking over the ownership. Modifying the newly created instance will not modify the original data nor the pointed-to data.

Magnum::Vk::ComputePipelineCreateInfo::operator const VkComputePipelineCreateInfo*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkComputePipelineCreateInfo& Magnum::Vk::ComputePipelineCreateInfo::operator*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

VkComputePipelineCreateInfo* Magnum::Vk::ComputePipelineCreateInfo::operator->()

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkComputePipelineCreateInfo* Magnum::Vk::ComputePipelineCreateInfo::operator->() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.