vkCreateDataGraphPipelinesARM
To create data graph pipelines, call:
VkResult vkCreateDataGraphPipelinesARM(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
VkPipelineCache pipelineCache,
uint32_t createInfoCount,
const VkDataGraphPipelineCreateInfoARM* pCreateInfos,
const VkAllocationCallbacks* pAllocator,
VkPipeline* pPipelines);
pub fn create_data_graph_pipelines_arm(
device: vk::Device,
deferred_operation: vk::DeferredOperationKHR,
pipeline_cache: vk::PipelineCache,
create_info_count: u32,
p_create_infos: *const vk::DataGraphPipelineCreateInfoARM,
p_allocator: *const vk::AllocationCallbacks,
p_pipelines: *mut vk::Pipeline,
) -> vk::Result;
deviceis the logical device that creates the data graph pipelines.deferredOperationis VK_NULL_HANDLE or the handle of a valid VkDeferredOperationKHR request deferral object for this command.pipelineCacheis either VK_NULL_HANDLE, indicating that pipeline caching is disabled; or the handle of a valid pipeline cache object, in which case use of that cache is enabled for the duration of the command.createInfoCountis the length of thepCreateInfosandpPipelinesarrays.pCreateInfosis a pointer to an array of VkDataGraphPipelineCreateInfoARM structures.pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.pPipelinesis a pointer to an array of VkPipeline handles in which the resulting data graph pipelines objects are returned.
The implementation will create a pipeline in each element of
pPipelines from the corresponding element of pCreateInfos.
If the creation of any pipeline fails, that pipeline will be set to
VK_NULL_HANDLE.
Valid Usage
VUID-vkCreateDataGraphPipelinesARM-dataGraph-09760
The dataGraph feature must be enabled
VUID-vkCreateDataGraphPipelinesARM-device-09927
device must support at least one queue family with the
VK_QUEUE_DATA_GRAPH_BIT_ARM capability
VUID-vkCreateDataGraphPipelinesARM-deferredOperation-09761
deferredOperation must be VK_NULL_HANDLE
VUID-vkCreateDataGraphPipelinesARM-deferredOperation-09916
If deferredOperation is not VK_NULL_HANDLE, the flags
member of elements of pCreateInfos must not include
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
VUID-vkCreateDataGraphPipelinesARM-pNext-09928
If at least one of the VkDataGraphPipelineCreateInfoARM includes a
VkDataGraphPipelineIdentifierCreateInfoARM structure in its
pNext chain then pipelineCache must not be
VK_NULL_HANDLE
VUID-vkCreateDataGraphPipelinesARM-pipelineCache-09762
If pipelineCache was created with
VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, host access
to pipelineCache must be
externally synchronized
Valid Usage (Implicit)
VUID-vkCreateDataGraphPipelinesARM-device-parameter
device must be a valid VkDevice handle
VUID-vkCreateDataGraphPipelinesARM-deferredOperation-parameter
If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle
VUID-vkCreateDataGraphPipelinesARM-pipelineCache-parameter
If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle
VUID-vkCreateDataGraphPipelinesARM-pCreateInfos-parameter
pCreateInfos must be a valid pointer to an array of createInfoCount valid VkDataGraphPipelineCreateInfoARM structures
VUID-vkCreateDataGraphPipelinesARM-pAllocator-parameter
If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateDataGraphPipelinesARM-pPipelines-parameter
pPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles
VUID-vkCreateDataGraphPipelinesARM-device-queuecount
The device must have been created with at least 1 queue
VUID-vkCreateDataGraphPipelinesARM-createInfoCount-arraylength
createInfoCount must be greater than 0
VUID-vkCreateDataGraphPipelinesARM-deferredOperation-parent
If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkCreateDataGraphPipelinesARM-pipelineCache-parent
If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device