| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core10.PipelineLayout
- 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
Constructors
| VkPipelineLayoutCreateFlags VkFlags |
Instances
type VkDescriptorSetLayout = Ptr VkDescriptorSetLayout_T Source #
VkDescriptorSetLayout - Opaque handle to a descriptor set layout object
Description
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
deviceis the logical device that creates the pipeline layout.
pCreateInfois a pointer to an instance of theVkPipelineLayoutCreateInfostructure specifying the state of the pipeline layout object.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pPipelineLayoutpoints to aVkPipelineLayouthandle in which the resulting pipeline layout object is returned.
Description
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pCreateInfomust be a valid pointer to a validVkPipelineLayoutCreateInfostructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pPipelineLayoutmust be a valid pointer to aVkPipelineLayouthandle
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_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
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.
Description
Valid Usage
- If
VkAllocationCallbackswere provided whenpipelineLayoutwas created, a compatible set of callbacks must be provided here
- If no
VkAllocationCallbackswere provided whenpipelineLayoutwas created,pAllocatormust beNULL
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
- If
pipelineLayoutis notVK_NULL_HANDLE,pipelineLayoutmust be a validVkPipelineLayouthandle - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure - 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 VkPushConstantRange Source #
VkPushConstantRange - Structure specifying a push constant range
Description
Valid Usage
offsetmust be less thanVkPhysicalDeviceLimits::maxPushConstantsSize
offsetmust be a multiple of4sizemust be greater than0sizemust be a multiple of4sizemust be less than or equal toVkPhysicalDeviceLimits::maxPushConstantsSizeminusoffset
Valid Usage (Implicit)
stageFlagsmust be a valid combination ofVkShaderStageFlagBitsvalues
stageFlagsmust not be0
See Also
Constructors
| VkPushConstantRange | |
Fields
| |
data VkPipelineLayoutCreateInfo Source #
VkPipelineLayoutCreateInfo - Structure specifying the parameters of a newly created pipeline layout object
Members
sTypeis the type of this structure.
pNextisNULLor a pointer to an extension-specific structure.flagsis reserved for future use.setLayoutCountis the number of descriptor sets included in the pipeline layout.pSetLayoutsis a pointer to an array ofVkDescriptorSetLayoutobjects.pushConstantRangeCountis the number of push constant ranges included in the pipeline layout.pPushConstantRangesis a pointer to an array ofVkPushConstantRangestructures 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.
Description
Valid Usage
setLayoutCountmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_SAMPLERandVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFERandVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_BUFFERandVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxPerStageDescriptorInputAttachments - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_SAMPLERandVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxPerStageDescriptorUpdateAfterBindSamplers - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFERandVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxPerStageDescriptorUpdateAfterBindUniformBuffers - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_BUFFERandVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxPerStageDescriptorUpdateAfterBindStorageBuffers - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxPerStageDescriptorUpdateAfterBindSampledImages - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxPerStageDescriptorUpdateAfterBindStorageImages - The total number of descriptors with a
descriptorTypeofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible to any given shader stage across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_SAMPLERandVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFERaccessible across all shader stagess and and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, andVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE, andVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_EXTbit set with adescriptorTypeofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetInputAttachments - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_SAMPLERandVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindSamplers - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFERaccessible across all shader stagess and and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindUniformBuffers - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindStorageBuffers - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust 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_BUFFERaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindStorageImages - The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENTaccessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingPropertiesEXT::maxDescriptorSetUpdateAfterBindInputAttachments - Any two elements of
pPushConstantRangesmust not include the same stage instageFlags pSetLayoutsmust not contain more than one descriptor set layout that was created withVK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHRset
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
pNextmust beNULLflagsmust be0- If
setLayoutCountis not0,pSetLayoutsmust be a valid pointer to an array ofsetLayoutCountvalidVkDescriptorSetLayouthandles - If
pushConstantRangeCountis not0,pPushConstantRangesmust be a valid pointer to an array ofpushConstantRangeCountvalidVkPushConstantRangestructures
See Also
VkDescriptorSetLayout, VkPipelineLayoutCreateFlags,
VkPushConstantRange, VkStructureType,
vkCreatePipelineLayout
Constructors
| VkPipelineLayoutCreateInfo | |
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