VKCREATEGRAPHICSPIPE(3)

NAME
vkCreateGraphicsPipelines - Create graphics pipelines.

C SPECIFICATION

To create graphics pipelines, call:

    VkResult vkCreateGraphicsPipelines(
        VkDevice                                    device,
        VkPipelineCache                             pipelineCache,
        uint32_t                                    createInfoCount,
        const VkGraphicsPipelineCreateInfo*         pCreateInfos,
        const VkAllocationCallbacks*                pAllocator,
        VkPipeline*                                 pPipelines);

PARAMETERS

    • device is the logical device that creates the graphics pipelines.

    • pipelineCache is 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.

    • createInfoCount is the length of the pCreateInfos and pPipelines arrays.

    • pCreateInfos is an array of VkGraphicsPipelineCreateInfo structures.

    • pAllocator controls host memory allocation as described in the Memory Allocation chapter.

    • pPipelines is a pointer to an array in which the resulting graphics pipeline objects are returned.

DESCRIPTION

The VkGraphicsPipelineCreateInfo structure includes an array of shader create info structures containing all the desired active shader stages, as well as creation info to define all relevant fixed-function stages, and a pipeline layout.

VALID USAGE

    • device must be a valid VkDevice handle

    • If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle

    • pCreateInfos must be a pointer to an array of createInfoCount valid VkGraphicsPipelineCreateInfo structures

    • If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure

    • pPipelines must be a pointer to an array of createInfoCount VkPipeline handles

    • createInfoCount must be greater than 0

    • If pipelineCache is a valid handle, it must have been created, allocated or retrieved from device

    • Each of device and pipelineCache that are valid handles must have been created, allocated or retrieved from the same VkPhysicalDevice

    • If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element

RETURN CODES

On success, this command returns

        • VK_SUCCESS

On failure, this command returns

        • VK_ERROR_OUT_OF_HOST_MEMORY

        • VK_ERROR_OUT_OF_DEVICE_MEMORY

SEE ALSO

VkAllocationCallbacks, VkDevice, VkGraphicsPipelineCreateInfo, VkPipeline, VkPipelineCache

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkCreateGraphicsPipelines

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly.

COPYRIGHT

Copyright (c) 2014-2016 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.

AUTHOR

Khronos Group
    Author.