Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
:: forall io. MonadIO io | |
=> Device |
|
-> PipelineLayoutCreateInfo |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io PipelineLayout |
vkCreatePipelineLayout - Creates a new pipeline layout object
Valid Usage (Implicit)
device
must be a validDevice
handle
pCreateInfo
must be a valid pointer to a validPipelineLayoutCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure pPipelineLayout
must be a valid pointer to aPipelineLayout
handle
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 #
:: forall io. MonadIO io | |
=> Device |
|
-> PipelineLayout |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io () |
vkDestroyPipelineLayout - Destroy a pipeline layout object
Valid Usage
- If
AllocationCallbacks
were provided whenpipelineLayout
was created, a compatible set of callbacks must be provided here
- If no
AllocationCallbacks
were provided whenpipelineLayout
was created,pAllocator
must beNULL
pipelineLayout
must not have been passed to anyvkCmd*
command for any command buffers that are still in the recording state whendestroyPipelineLayout
is called
Valid Usage (Implicit)
device
must be a validDevice
handle
- If
pipelineLayout
is notNULL_HANDLE
,pipelineLayout
must be a validPipelineLayout
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure - If
pipelineLayout
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
pipelineLayout
must be externally synchronized
See Also
data PushConstantRange Source #
VkPushConstantRange - Structure specifying a push constant range
Valid Usage (Implicit)
See Also
PushConstantRange | |
|
Instances
data PipelineLayoutCreateInfo Source #
VkPipelineLayoutCreateInfo - Structure specifying the parameters of a newly created pipeline layout object
Valid Usage
setLayoutCount
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_SAMPLER
andDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_UNIFORM_BUFFER
andDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_STORAGE_BUFFER
andDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_STORAGE_IMAGE
, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT
::maxPerStageDescriptorInlineUniformBlocks
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_SAMPLER
andDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindSamplers
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_UNIFORM_BUFFER
andDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindUniformBuffers
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_STORAGE_BUFFER
andDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindStorageBuffers
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindSampledImages
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_STORAGE_IMAGE
, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindStorageImages
- The total number of descriptors with a
descriptorType
ofDESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxPerStageDescriptorUpdateAfterBindInputAttachments
- The total number of bindings with a
descriptorType
ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
accessible to any given shader stage across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_SAMPLER
andDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_UNIFORM_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_STORAGE_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_STORAGE_IMAGE
, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BIT
bit set with adescriptorType
ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT
::maxDescriptorSetInlineUniformBlocks
- The total number of descriptors of the type
DESCRIPTOR_TYPE_SAMPLER
andDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindSamplers
- The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindUniformBuffers
- The total number of descriptors of the type
DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
- The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindStorageBuffers
- The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must 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_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindSampledImages
- The total number of descriptors of the type
DESCRIPTOR_TYPE_STORAGE_IMAGE
, andDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindStorageImages
- The total number of descriptors of the type
DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceDescriptorIndexingProperties
::maxDescriptorSetUpdateAfterBindInputAttachments
- The total number of bindings with a
descriptorType
ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceInlineUniformBlockPropertiesEXT
::maxDescriptorSetUpdateAfterBindInlineUniformBlocks
- Any two elements of
pPushConstantRanges
must not include the same stage instageFlags
pSetLayouts
must not contain more than one descriptor set layout that was created withDESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
set- The total number of bindings with a
descriptorType
ofDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toPhysicalDeviceRayTracingPropertiesKHR
::maxDescriptorSetAccelerationStructures
- The total number of
pImmutableSamplers
created withflags
containingSAMPLER_CREATE_SUBSAMPLED_BIT_EXT
orSAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
across all shader stages and across all elements ofpSetLayouts
must be less than or equal to ::maxDescriptorSetSubsampledSamplers
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
pNext
must beNULL
flags
must be0
- If
setLayoutCount
is not0
,pSetLayouts
must be a valid pointer to an array ofsetLayoutCount
validDescriptorSetLayout
handles - If
pushConstantRangeCount
is not0
,pPushConstantRanges
must be a valid pointer to an array ofpushConstantRangeCount
validPushConstantRange
structures
See Also
DescriptorSetLayout
,
PipelineLayoutCreateFlags
,
PushConstantRange
, StructureType
,
createPipelineLayout
PipelineLayoutCreateInfo | |
|
Instances
Show PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout showsPrec :: Int -> PipelineLayoutCreateInfo -> ShowS # show :: PipelineLayoutCreateInfo -> String # showList :: [PipelineLayoutCreateInfo] -> ShowS # | |
FromCStruct PipelineLayoutCreateInfo Source # | |
ToCStruct PipelineLayoutCreateInfo Source # | |
Defined in Vulkan.Core10.PipelineLayout 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 |
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