The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.
If a VkPipelineCreateFlags2CreateInfoKHR structure is present in the pNext chain, VkPipelineCreateFlags2CreateInfoKHR::flags from that structure is used instead of flags from this structure.
flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid compute VkPipeline handleflags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameterflags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be NULL_HANDLElayout must match both the shader stage and rangelayout must match the shader stageDESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor typelayout must match the descriptor countflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NVflags includes PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabledflags includes PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the pNext chain must include a pointer to a valid instance of VkComputePipelineIndirectBufferInfoNV specifying the address where the pipeline’s metadata will be savedpipelineCreationCacheControl feature is not enabled, flags must not include PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT or PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BITstage member of stage must be SHADER_STAGE_COMPUTE_BITstage and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapterlayout accessible to the compute shader stage must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResourcesshaderEnqueue is not enabled, flags must not include PIPELINE_CREATE_LIBRARY_BIT_KHRflags does not include PIPELINE_CREATE_LIBRARY_BIT_KHR, the shader specified by stage must not declare the ShaderEnqueueAMDX capabilityVkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCount is not 0, it must be 1flags must not include PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXTflags must not include PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NVsType must be STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineCompilerControlCreateInfoAMD, VkPipelineCreateFlags2CreateInfoKHR, VkPipelineCreationFeedbackCreateInfo, VkPipelineRobustnessCreateInfoEXT, or VkSubpassShadingPipelineCreateInfoHUAWEIsType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkPipelineCreateFlagBits valuesstage must be a valid VkPipelineShaderStageCreateInfo structurelayout must be a valid VkPipelineLayout handlebasePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDeviceVkPipelineShaderStageCreateInfo, CreateComputePipelines, GetPipelineIndirectMemoryRequirementsNV
struct VkComputePipelineCreateInfo {
VkStructureType sType;
void const * pNext;
VkPipelineCreateFlags flags;
VkPipelineShaderStageCreateInfo stage;
VkPipelineLayout layout;
VkPipeline basePipelineHandle;
int32_t basePipelineIndex;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkComputePipelineCreateInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BASEPIPELINEHANDLE
The struct member offsets. |
| public static final int | BASEPIPELINEINDEX
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | LAYOUT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STAGE
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkComputePipelineCreateInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public VkComputePipelineCreateInfo | |
| public int | |
| public VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkComputePipelineCreateInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkComputePipelineCreateInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo. | |
| public static VkComputePipelineCreateInfo. | |
| protected VkComputePipelineCreateInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo | create(long address)
Returns a new |
| public static VkComputePipelineCreateInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkComputePipelineCreateInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo. | |
| public int | |
| public VkComputePipelineCreateInfo | |
| public long | layout()
the description of binding locations used by both the pipeline and descriptor sets used with the pipeline. |
| public VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkComputePipelineCreateInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkComputePipelineCreateInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo | |
| public static VkComputePipelineCreateInfo. | |
| public static VkComputePipelineCreateInfo. | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static VkPipelineShaderStageCreateInfo | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkComputePipelineCreateInfo | |
| public VkComputePipelineCreateInfo | pNext(VkPipelineCompilerControlCreateInfoAMD value)
Prepends the specified |
| public VkComputePipelineCreateInfo | pNext(VkPipelineCreateFlags2CreateInfoKHR value)
Prepends the specified |
| public VkComputePipelineCreateInfo | pNext(VkPipelineCreationFeedbackCreateInfo value)
Prepends the specified |
| public VkComputePipelineCreateInfo | pNext(VkPipelineCreationFeedbackCreateInfoEXT value)
Prepends the specified |
| public VkComputePipelineCreateInfo | pNext(VkPipelineRobustnessCreateInfoEXT value)
Prepends the specified |
| public VkComputePipelineCreateInfo | pNext(VkSubpassShadingPipelineCreateInfoHUAWEI value)
Prepends the specified |
| public VkComputePipelineCreateInfo | set(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo stage, long layout, long basePipelineHandle, int basePipelineIndex)
Initializes this struct with the specified values. |
| public VkComputePipelineCreateInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public VkPipelineShaderStageCreateInfo | |
| public VkComputePipelineCreateInfo | stage(VkPipelineShaderStageCreateInfo value)
Copies the specified |
| public VkComputePipelineCreateInfo | stage(Consumer<VkPipelineShaderStageCreateInfo> consumer)
|
| public int | |
| public VkComputePipelineCreateInfo | |
| public VkComputePipelineCreateInfo | |
| public static void |