| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core10.PipelineLayout
Synopsis
- createPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayoutCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineLayout
- withPipelineLayout :: forall io r. MonadIO io => (io PipelineLayout -> (PipelineLayout -> io ()) -> r) -> Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> r
- destroyPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- data PushConstantRange = PushConstantRange {
- stageFlags :: ShaderStageFlags
- offset :: Word32
- size :: Word32
- data PipelineLayoutCreateInfo = PipelineLayoutCreateInfo {}
Documentation
createPipelineLayout :: forall io. MonadIO io => Device -> PipelineLayoutCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io PipelineLayout Source #
vkCreatePipelineLayout - Creates a new pipeline layout object
Parameters
deviceis the logical device that creates the pipeline layout.
pCreateInfois a pointer to aPipelineLayoutCreateInfostructure specifying the state of the pipeline layout object.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pPipelineLayoutis a pointer to aPipelineLayouthandle in which the resulting pipeline layout object is returned.
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 => (io PipelineLayout -> (PipelineLayout -> io ()) -> r) -> Device -> PipelineLayoutCreateInfo -> Maybe AllocationCallbacks -> 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 :: forall io. MonadIO io => Device -> PipelineLayout -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyPipelineLayout - Destroy a pipeline layout object
Parameters
deviceis the logical device that destroys the pipeline layout.
pipelineLayoutis the pipeline layout to destroy.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
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
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
| Show PipelineLayoutCreateInfo Source # | |
Defined in Graphics.Vulkan.Core10.PipelineLayout Methods showsPrec :: Int -> PipelineLayoutCreateInfo -> ShowS # show :: PipelineLayoutCreateInfo -> String # showList :: [PipelineLayoutCreateInfo] -> ShowS # | |
| FromCStruct PipelineLayoutCreateInfo Source # | |
Defined in Graphics.Vulkan.Core10.PipelineLayout Methods peekCStruct :: Ptr PipelineLayoutCreateInfo -> IO PipelineLayoutCreateInfo Source # | |
| ToCStruct PipelineLayoutCreateInfo Source # | |
Defined in Graphics.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 Graphics.Vulkan.Core10.PipelineLayout Methods | |