Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkPipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags VkFlags
- type VkDescriptorSetLayout = Ptr VkDescriptorSetLayout_T
- vkCreatePipelineLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult
- vkDestroyPipelineLayout :: ("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()
- data VkPushConstantRange = VkPushConstantRange {}
- data VkPipelineLayoutCreateInfo = VkPipelineLayoutCreateInfo {}
- type VkShaderStageFlags = VkShaderStageFlagBits
Documentation
newtype VkPipelineLayoutCreateFlags Source #
VkPipelineLayoutCreateFlags - Reserved for future use
Description
VkPipelineLayoutCreateFlags
is a bitmask type for setting a mask, but
is currently reserved for future use.
See Also
Instances
type VkDescriptorSetLayout = Ptr VkDescriptorSetLayout_T Source #
VkDescriptorSetLayout - Opaque handle to a descriptor set layout object
See Also
VkDescriptorSetAllocateInfo
,
VkDescriptorUpdateTemplateCreateInfo
,
VkPipelineLayoutCreateInfo
,
vkCreateDescriptorSetLayout
,
vkDestroyDescriptorSetLayout
vkCreatePipelineLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult Source #
vkCreatePipelineLayout - Creates a new pipeline layout object
Parameters
device
is the logical device that creates the pipeline layout.
pCreateInfo
is a pointer to an instance of theVkPipelineLayoutCreateInfo
structure specifying the state of the pipeline layout object.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pPipelineLayout
points to aVkPipelineLayout
handle in which the resulting pipeline layout object is returned.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pCreateInfo
must be a valid pointer to a validVkPipelineLayoutCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pPipelineLayout
must be a valid pointer to aVkPipelineLayout
handle
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
VkAllocationCallbacks
,
VkDevice
,
VkPipelineLayout
,
VkPipelineLayoutCreateInfo
vkDestroyPipelineLayout :: ("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> 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
VkAllocationCallbacks
were provided whenpipelineLayout
was created, a compatible set of callbacks must be provided here
- If no
VkAllocationCallbacks
were provided whenpipelineLayout
was created,pAllocator
must beNULL
Valid Usage (Implicit)
device
must be a validVkDevice
handle
- If
pipelineLayout
is notVK_NULL_HANDLE
,pipelineLayout
must be a validVkPipelineLayout
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
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 VkPushConstantRange Source #
VkPushConstantRange - Structure specifying a push constant range
Valid Usage
offset
must be less thanVkPhysicalDeviceLimits
::maxPushConstantsSize
offset
must be a multiple of4
size
must be greater than0
size
must be a multiple of4
size
must be less than or equal toVkPhysicalDeviceLimits
::maxPushConstantsSize
minusoffset
Valid Usage (Implicit)
stageFlags
must be a valid combination ofVkShaderStageFlagBits
values
stageFlags
must not be0
See Also
VkPushConstantRange | |
|
Instances
Eq VkPushConstantRange Source # | |
(==) :: VkPushConstantRange -> VkPushConstantRange -> Bool # (/=) :: VkPushConstantRange -> VkPushConstantRange -> Bool # | |
Show VkPushConstantRange Source # | |
showsPrec :: Int -> VkPushConstantRange -> ShowS # show :: VkPushConstantRange -> String # showList :: [VkPushConstantRange] -> ShowS # | |
Storable VkPushConstantRange Source # | |
sizeOf :: VkPushConstantRange -> Int # alignment :: VkPushConstantRange -> Int # peekElemOff :: Ptr VkPushConstantRange -> Int -> IO VkPushConstantRange # pokeElemOff :: Ptr VkPushConstantRange -> Int -> VkPushConstantRange -> IO () # peekByteOff :: Ptr b -> Int -> IO VkPushConstantRange # pokeByteOff :: Ptr b -> Int -> VkPushConstantRange -> IO () # peek :: Ptr VkPushConstantRange -> IO VkPushConstantRange # poke :: Ptr VkPushConstantRange -> VkPushConstantRange -> IO () # |
data VkPipelineLayoutCreateInfo Source #
VkPipelineLayoutCreateInfo - Structure specifying the parameters of a newly created pipeline layout object
Members
sType
is the type of this structure.
pNext
isNULL
or a pointer to an extension-specific structure.flags
is reserved for future use.setLayoutCount
is the number of descriptor sets included in the pipeline layout.pSetLayouts
is a pointer to an array ofVkDescriptorSetLayout
objects.pushConstantRangeCount
is the number of push constant ranges included in the pipeline layout.pPushConstantRanges
is a pointer to an array ofVkPushConstantRange
structures defining a set of push constant ranges for use in a single pipeline layout. In addition to descriptor set layouts, a pipeline layout also describes how many push constants can be accessed by each stage of the pipeline.Note
Push constants represent a high speed path to modify constant data in pipelines that is expected to outperform memory-backed resource updates.
Valid Usage
setLayoutCount
must be less than or equal toVkPhysicalDeviceLimits
::maxBoundDescriptorSets
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_SAMPLER
andVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorSamplers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
andVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorUniformBuffers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
andVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorStorageBuffers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorSampledImages
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorStorageImages
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageDescriptorInputAttachments
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_SAMPLER
andVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindSamplers
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
andVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindUniformBuffers
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
andVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindStorageBuffers
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindSampledImages
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindStorageImages
- The total number of descriptors with a
descriptorType
ofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible to any given shader stage across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxPerStageDescriptorUpdateAfterBindInputAttachments
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_SAMPLER
andVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetSamplers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
accessible across all shader stagess and and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetUniformBuffers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetUniformBuffersDynamic
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetStorageBuffers
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetStorageBuffersDynamic
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetSampledImages
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetStorageImages
- The total number of descriptors in descriptor set layouts created
without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set with adescriptorType
ofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceLimits
::maxDescriptorSetInputAttachments
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_SAMPLER
andVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindSamplers
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
accessible across all shader stagess and and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindUniformBuffers
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindStorageBuffers
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindSampledImages
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindStorageImages
- The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible across all shader stages and across all elements ofpSetLayouts
must be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT
::maxDescriptorSetUpdateAfterBindInputAttachments
- 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 withVK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
set
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_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
validVkDescriptorSetLayout
handles - If
pushConstantRangeCount
is not0
,pPushConstantRanges
must be a valid pointer to an array ofpushConstantRangeCount
validVkPushConstantRange
structures
See Also
VkDescriptorSetLayout
, VkPipelineLayoutCreateFlags
,
VkPushConstantRange
, VkStructureType
,
vkCreatePipelineLayout
Instances
type VkShaderStageFlags = VkShaderStageFlagBits Source #
VkShaderStageFlags - Bitmask of VkShaderStageFlagBits
Description
VkShaderStageFlags
is a bitmask type for setting a mask of zero or
more VkShaderStageFlagBits
.
See Also
VkDescriptorSetLayoutBinding
,
VkObjectTablePushConstantEntryNVX
,
VkPhysicalDeviceSubgroupProperties
,
VkPushConstantRange
,
VkShaderStageFlagBits
,
VkShaderStatisticsInfoAMD
,
vkCmdPushConstants