| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Core10.PipelineLayout
Synopsis
- createPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayoutCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineLayout
- withPipelineLayout :: forall io r. MonadIO io => Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> (io PipelineLayout -> (PipelineLayout -> io ()) -> r) -> r
- destroyPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- data PushConstantRange = PushConstantRange {
- stageFlags :: ShaderStageFlags
- offset :: Word32
- size :: Word32
- data PipelineLayoutCreateInfo = PipelineLayoutCreateInfo {}
- newtype PipelineLayout = PipelineLayout Word64
Documentation
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> PipelineLayoutCreateInfo |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io PipelineLayout |
vkCreatePipelineLayout - Creates a new pipeline layout object
Valid Usage (Implicit)
devicemust be a validDevicehandle
pCreateInfomust be a valid pointer to a validPipelineLayoutCreateInfostructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure pPipelineLayoutmust be a valid pointer to aPipelineLayouthandle
Return Codes
See Also
AllocationCallbacks,
Device, PipelineLayout,
PipelineLayoutCreateInfo
withPipelineLayout :: forall io r. MonadIO io => Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> (io PipelineLayout -> (PipelineLayout -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createPipelineLayout and destroyPipelineLayout
To ensure that destroyPipelineLayout is always called: pass
bracket (or the allocate function from your
favourite resource management library) as the first argument.
To just extract the pair pass (,) as the first argument.
destroyPipelineLayout Source #
Arguments
| :: forall io. MonadIO io | |
| => Device |
|
| -> PipelineLayout |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io () |
vkDestroyPipelineLayout - Destroy a pipeline layout object
Valid Usage
- If
AllocationCallbackswere provided whenpipelineLayoutwas created, a compatible set of callbacks must be provided here
- If no
AllocationCallbackswere provided whenpipelineLayoutwas created,pAllocatormust beNULL pipelineLayoutmust not have been passed to anyvkCmd*command for any command buffers that are still in the recording state whendestroyPipelineLayoutis called
Valid Usage (Implicit)
devicemust be a validDevicehandle
- If
pipelineLayoutis notNULL_HANDLE,pipelineLayoutmust be a validPipelineLayouthandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure - If
pipelineLayoutis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
pipelineLayoutmust be externally synchronized
See Also
data PushConstantRange Source #
VkPushConstantRange - Structure specifying a push constant range
Valid Usage (Implicit)
See Also
Constructors
| PushConstantRange | |
Fields
| |
Instances
data PipelineLayoutCreateInfo Source #
VkPipelineLayoutCreateInfo - Structure specifying the parameters of a newly created pipeline layout object
Valid Usage
setLayoutCountmust be less than or equal toPhysicalDeviceLimits::maxBoundDescriptorSets
- The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_SAMPLERandDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorSamplers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_UNIFORM_BUFFERandDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorUniformBuffers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_STORAGE_BUFFERandDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorSampledImages - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_STORAGE_IMAGE, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorStorageImages - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxPerStageDescriptorInputAttachments - The total number of bindings in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT::maxPerStageDescriptorInlineUniformBlocks - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_SAMPLERandDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSamplers - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_UNIFORM_BUFFERandDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindUniformBuffers - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_STORAGE_BUFFERandDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageBuffers - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSampledImages - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_STORAGE_IMAGE, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageImages - The total number of descriptors with a
descriptorTypeofDESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindInputAttachments - The total number of bindings with a
descriptorTypeofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT::maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_SAMPLERandDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetSamplers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_UNIFORM_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetUniformBuffers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetUniformBuffersDynamic - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_STORAGE_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetStorageBuffers - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetStorageBuffersDynamic - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetSampledImages - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_STORAGE_IMAGE, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetStorageImages - The total number of descriptors in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceLimits::maxDescriptorSetInputAttachments - The total number of bindings in descriptor set layouts created
without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT::maxDescriptorSetInlineUniformBlocks - The total number of descriptors of the type
DESCRIPTOR_TYPE_SAMPLERandDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSamplers - The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffers - The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffers - The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - The total number of descriptors of the type
DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,DESCRIPTOR_TYPE_SAMPLED_IMAGE, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSampledImages - The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_IMAGE, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageImages - The total number of descriptors of the type
DESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindInputAttachments - The total number of bindings with a
descriptorTypeofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT::maxDescriptorSetUpdateAfterBindInlineUniformBlocks - Any two elements of
pPushConstantRangesmust not include the same stage instageFlags pSetLayoutsmust not contain more than one descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHRset- The total number of bindings with a
descriptorTypeofDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHRaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceRayTracingPropertiesKHR::maxDescriptorSetAccelerationStructures - The total number of
pImmutableSamplerscreated withflagscontainingSAMPLER_CREATE_SUBSAMPLED_BIT_EXTorSAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXTacross all shader stages and across all elements ofpSetLayoutsmust be less than or equal to ::maxDescriptorSetSubsampledSamplers
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
pNextmust beNULLflagsmust be0- If
setLayoutCountis not0,pSetLayoutsmust be a valid pointer to an array ofsetLayoutCountvalidDescriptorSetLayouthandles - If
pushConstantRangeCountis not0,pPushConstantRangesmust be a valid pointer to an array ofpushConstantRangeCountvalidPushConstantRangestructures
See Also
DescriptorSetLayout,
PipelineLayoutCreateFlags,
PushConstantRange, StructureType,
createPipelineLayout
Constructors
| PipelineLayoutCreateInfo | |
Fields
| |
Instances
newtype PipelineLayout Source #
VkPipelineLayout - Opaque handle to a pipeline layout object
See Also
ComputePipelineCreateInfo,
DescriptorUpdateTemplateCreateInfo,
GraphicsPipelineCreateInfo,
IndirectCommandsLayoutTokenNV,
RayTracingPipelineCreateInfoKHR,
RayTracingPipelineCreateInfoNV,
cmdBindDescriptorSets,
cmdPushConstants,
cmdPushDescriptorSetKHR,
cmdPushDescriptorSetWithTemplateKHR,
createPipelineLayout,
destroyPipelineLayout
Constructors
| PipelineLayout Word64 |