vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Core10.PipelineLayout

Synopsis

Documentation

createPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayoutCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineLayout Source #

vkCreatePipelineLayout - Creates a new pipeline layout object

Parameters

  • device is the logical device that creates the pipeline layout.
  • pCreateInfo is a pointer to a PipelineLayoutCreateInfo structure specifying the state of the pipeline layout object.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.
  • pPipelineLayout is a pointer to a PipelineLayout handle in which the resulting pipeline layout object is returned.

Valid Usage (Implicit)

  • device must be a valid Device handle

Return Codes

Success
Failure

See Also

AllocationCallbacks, Device, PipelineLayout, PipelineLayoutCreateInfo

withPipelineLayout :: forall r. Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> (PipelineLayout -> IO r) -> IO r Source #

A safe wrapper for createPipelineLayout and destroyPipelineLayout using bracket

The allocated value must not be returned from the provided computation

destroyPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #

vkDestroyPipelineLayout - Destroy a pipeline layout object

Parameters

  • device is the logical device that destroys the pipeline layout.
  • pipelineLayout is the pipeline layout to destroy.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.

Valid Usage

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

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

AllocationCallbacks, Device, PipelineLayout

data PushConstantRange Source #

VkPushConstantRange - Structure specifying a push constant range

Valid Usage (Implicit)

See Also

PipelineLayoutCreateInfo, ShaderStageFlags

Constructors

PushConstantRange 

Fields

Instances
Show PushConstantRange Source # 
Instance details

Defined in Graphics.Vulkan.Core10.PipelineLayout

Storable PushConstantRange Source # 
Instance details

Defined in Graphics.Vulkan.Core10.PipelineLayout

FromCStruct PushConstantRange Source # 
Instance details

Defined in Graphics.Vulkan.Core10.PipelineLayout

ToCStruct PushConstantRange Source # 
Instance details

Defined in Graphics.Vulkan.Core10.PipelineLayout

Zero PushConstantRange Source # 
Instance details

Defined in Graphics.Vulkan.Core10.PipelineLayout

data PipelineLayoutCreateInfo Source #

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

Valid Usage

Valid Usage (Implicit)

  • pNext must be NULL
  • flags must be 0
  • If setLayoutCount is not 0, pSetLayouts must be a valid pointer to an array of setLayoutCount valid DescriptorSetLayout handles
  • If pushConstantRangeCount is not 0, pPushConstantRanges must be a valid pointer to an array of pushConstantRangeCount valid PushConstantRange structures

See Also

DescriptorSetLayout, PipelineLayoutCreateFlags, PushConstantRange, StructureType, createPipelineLayout

Constructors

PipelineLayoutCreateInfo 

Fields