HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Core10.PipelineLayout

  • 3 types
  • 3 values
  • Packagevulkan-3.27
  • Exports6
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourcePipelineLayout.hs
valuecreatePipelineLayout
  1. :: MonadIO io
  2. => Device

    device is the logical device that creates the pipeline layout.

  3. -> PipelineLayoutCreateInfo

    pCreateInfo is a pointer to a PipelineLayoutCreateInfo structure specifying the state of the pipeline layout object.

  4. -> "allocator" ::: Maybe AllocationCallbacks

    pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  5. -> io PipelineLayout
#

vkCreatePipelineLayout - Creates a new pipeline layout object

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, PipelineLayout, PipelineLayoutCreateInfo

valuedestroyPipelineLayout
  1. :: MonadIO io
  2. => Device

    device is the logical device that destroys the pipeline layout.

  3. -> PipelineLayout

    pipelineLayout is the pipeline layout to destroy.

  4. -> "allocator" ::: Maybe AllocationCallbacks

    pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  5. -> io ()
#

vkDestroyPipelineLayout - Destroy a pipeline layout object

Valid Usage

  • If AllocationCallbacks were provided when pipelineLayout was created, a compatible set of callbacks must be provided here

  • If no AllocationCallbacks were provided when pipelineLayout was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle

  • If pipelineLayout is not NULL_HANDLE, pipelineLayout must be a valid PipelineLayout handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • If pipelineLayout is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to pipelineLayout must be externally synchronized

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, PipelineLayout

datadata PushConstantRange
#

VkPushConstantRange - Structure specifying a push constant range

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, IndirectCommandsPushConstantTokenEXT, IndirectExecutionSetShaderInfoEXT, PipelineLayoutCreateInfo, ShaderCreateInfoEXT, ShaderStageFlags

Constructors

  • PushConstantRange
    • stageFlags :: ShaderStageFlags

      stageFlags is a set of stage flags describing the shader stages that will access a range of push constants. If a particular stage is not included in the range, then accessing members of that range of push constants from the corresponding shader stage will return undefined values.

      stageFlags must be a valid combination of ShaderStageFlagBits values

      stageFlags must not be 0

    • offset :: Word32

      offset and size are the start offset and size, respectively, consumed by the range. Both offset and size are in units of bytes and must be a multiple of 4. The layout of the push constant variables is specified in the shader.

      offset must be less than PhysicalDeviceLimits::maxPushConstantsSize

      offset must be a multiple of 4

    • size :: Word32

      size must be greater than 0

      size must be a multiple of 4

      size must be less than or equal to PhysicalDeviceLimits::maxPushConstantsSize minus offset

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPipelineLayoutCreateInfo - Structure specifying the parameters of a newly created pipeline layout object

Valid Usage

Valid Usage (Implicit)

Structure Chaining

Extends the structures

See Also

VK_VERSION_1_0, DescriptorSetLayout, PipelineLayoutCreateFlags, PushConstantRange, StructureType, createPipelineLayout

Constructors

Instances4Show, FromCStruct, ToCStruct, Zero
newtypenewtype PipelineLayout
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …