VKCOMPUTEPIPELINECRE(3)

NAME
VkComputePipelineCreateInfo - Structure specifying parameters of a newly created compute pipeline

C SPECIFICATION

The VkComputePipelineCreateInfo structure is defined as:

    typedef struct VkComputePipelineCreateInfo {
        VkStructureType                    sType;
        const void*                        pNext;
        VkPipelineCreateFlags              flags;
        VkPipelineShaderStageCreateInfo    stage;
        VkPipelineLayout                   layout;
        VkPipeline                         basePipelineHandle;
        int32_t                            basePipelineIndex;
    } VkComputePipelineCreateInfo;

MEMBERS

    • sType is the type of this structure.

    • pNext is NULL or a pointer to an extension-specific structure.

    • flags provides options for pipeline creation, and is of type VkPipelineCreateFlagBits.

    • stage is a VkPipelineShaderStageCreateInfo describing the compute shader.

    • layout is the description of binding locations used by both the pipeline and descriptor sets used with the pipeline.

    • basePipelineHandle is a pipeline to derive from

    • basePipelineIndex is an index into the pCreateInfos parameter to use as a pipeline to derive from

DESCRIPTION

The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.

stage points to a structure of type VkPipelineShaderStageCreateInfo. Valid Usage

    • If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE

    • If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, it must be a valid index into the calling command’s pCreateInfos parameter

    • If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1

    • If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineHandle must be a valid VkPipeline handle

    • If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, it must be a valid handle to a compute VkPipeline

    • The stage member of stage must be VK_SHADER_STAGE_COMPUTE_BIT

    • The shader code for the entry point identified by stage and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter

    • layout must be consistent with the layout of the compute shader specified in stage</usage>
Valid Usage (Implicit)

    • sType must be VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO

    • pNext must be NULL

    • flags must be a valid combination of VkPipelineCreateFlagBits values

    • stage must be a valid VkPipelineShaderStageCreateInfo structure

    • layout must be a valid VkPipelineLayout handle

    • Both of basePipelineHandle, and layout that are valid handles must have been created, allocated, or retrieved from the same VkDevice

SEE ALSO

VkPipeline, VkPipelineCreateFlags, VkPipelineLayout, VkPipelineShaderStageCreateInfo, VkStructureType, vkCreateComputePipelines

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

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

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.