| 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
VK_VERSION_1_0,
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 last argument.
To just extract the pair pass (,) as the last 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 in descriptor set layouts created without the
DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set with adescriptorTypeofDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHRaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorAccelerationStructures - The total
number of bindings with a
descriptorTypeofDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHRaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorUpdateAfterBindAccelerationStructures - 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_ACCELERATION_STRUCTURE_KHRaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetAccelerationStructures - 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 toPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetUpdateAfterBindAccelerationStructures - The total
number of bindings with a
descriptorTypeofDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toPhysicalDeviceRayTracingPropertiesNV::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 - Any element of
pSetLayoutsmust not have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVEbit set
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
-
pNextmust beNULL -
flagsmust 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
VK_VERSION_1_0,
DescriptorSetLayout,
PipelineLayoutCreateFlags,
PushConstantRange, StructureType,
createPipelineLayout
Constructors
| PipelineLayoutCreateInfo | |
Fields
| |
Instances
| Show PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout Methods showsPrec :: Int -> PipelineLayoutCreateInfo -> ShowS # show :: PipelineLayoutCreateInfo -> String # showList :: [PipelineLayoutCreateInfo] -> ShowS # | |
| FromCStruct PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout Methods peekCStruct :: Ptr PipelineLayoutCreateInfo -> IO PipelineLayoutCreateInfo Source # | |
| ToCStruct PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout Methods withCStruct :: PipelineLayoutCreateInfo -> (Ptr PipelineLayoutCreateInfo -> IO b) -> IO b Source # pokeCStruct :: Ptr PipelineLayoutCreateInfo -> PipelineLayoutCreateInfo -> IO b -> IO b Source # withZeroCStruct :: (Ptr PipelineLayoutCreateInfo -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr PipelineLayoutCreateInfo -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout Methods | |
newtype PipelineLayout Source #
VkPipelineLayout - Opaque handle to a pipeline layout object
See Also
VK_VERSION_1_0,
ComputePipelineCreateInfo,
DescriptorUpdateTemplateCreateInfo,
GraphicsPipelineCreateInfo,
IndirectCommandsLayoutTokenNV,
RayTracingPipelineCreateInfoKHR,
RayTracingPipelineCreateInfoNV,
cmdBindDescriptorSets,
cmdPushConstants,
cmdPushDescriptorSetKHR,
cmdPushDescriptorSetWithTemplateKHR,
createPipelineLayout,
destroyPipelineLayout
Constructors
| PipelineLayout Word64 |