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 ray tracing 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 countpStages, 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 each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResourcesflags must not include PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NVpipelineCreationCacheControl 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 at least one element of pStages must be SHADER_STAGE_RAYGEN_BIT_KHRflags must not include PIPELINE_CREATE_LIBRARY_BIT_KHRmaxRecursionDepth must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepthflags 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_AABBS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_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 must not include both PIPELINE_CREATE_DEFER_COMPILE_BIT_NV and PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT at the same timeVkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCount is not 0, it must be equal to stageCountstage value in all pStages elements must be one of SHADER_STAGE_RAYGEN_BIT_KHR, SHADER_STAGE_ANY_HIT_BIT_KHR, SHADER_STAGE_CLOSEST_HIT_BIT_KHR, SHADER_STAGE_MISS_BIT_KHR, SHADER_STAGE_INTERSECTION_BIT_KHR, or SHADER_STAGE_CALLABLE_BIT_KHRflags 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_RAY_TRACING_PIPELINE_CREATE_INFO_NVpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineCreateFlags2CreateInfoKHR or VkPipelineCreationFeedbackCreateInfosType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkPipelineCreateFlagBits valuespStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structurespGroups must be a valid pointer to an array of groupCount valid VkRayTracingShaderGroupCreateInfoNV structureslayout must be a valid VkPipelineLayout handlestageCount must be greater than 0groupCount must be greater than 0basePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDeviceVkPipelineShaderStageCreateInfo, VkRayTracingShaderGroupCreateInfoNV, CreateRayTracingPipelinesNV
struct VkRayTracingPipelineCreateInfoNV {
VkStructureType sType;
void const * pNext;
VkPipelineCreateFlags flags;
uint32_t stageCount;
VkPipelineShaderStageCreateInfo const * pStages;
uint32_t groupCount;
VkRayTracingShaderGroupCreateInfoNV const * pGroups;
uint32_t maxRecursionDepth;
VkPipelineLayout layout;
VkPipeline basePipelineHandle;
int32_t basePipelineIndex;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkRayTracingPipelineCreateInfoNV.
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 | GROUPCOUNT
The struct member offsets. |
| public static final int | LAYOUT
The struct member offsets. |
| public static final int | MAXRECURSIONDEPTH
The struct member offsets. |
| public static final int | PGROUPS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PSTAGES
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STAGECOUNT
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkRayTracingPipelineCreateInfoNV(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public VkRayTracingPipelineCreateInfoNV | |
| public int | |
| public VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV. | |
| public static VkRayTracingPipelineCreateInfoNV. | |
| protected VkRayTracingPipelineCreateInfoNV | 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 VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV | create(long address)
Returns a new |
| public static VkRayTracingPipelineCreateInfoNV. | create(int
the buffer capacity capacity)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV. | |
| public int | |
| public VkRayTracingPipelineCreateInfoNV | |
| public int | |
| public long | layout()
the description of binding locations used by both the pipeline and descriptor sets used with the pipeline. |
| public VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV | |
| public static VkRayTracingPipelineCreateInfoNV. | |
| public static VkRayTracingPipelineCreateInfoNV. | |
| public int | |
| public VkRayTracingPipelineCreateInfoNV | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | ngroupCount(long struct, int value)
Sets the specified value to the |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static VkRayTracingShaderGroupCreateInfoNV. | |
| public static void | |
| public static long | |
| public static void | |
| public static VkPipelineShaderStageCreateInfo. | |
| public static void | |
| public static int | |
| public static void | nstageCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public VkRayTracingShaderGroupCreateInfoNV. | pGroups()
a pointer to an array of |
| public VkRayTracingPipelineCreateInfoNV | pGroups(VkRayTracingShaderGroupCreateInfoNV.
Sets the address of the specified |
| public long | |
| public VkRayTracingPipelineCreateInfoNV | |
| public VkRayTracingPipelineCreateInfoNV | pNext(VkPipelineCreateFlags2CreateInfoKHR value)
Prepends the specified |
| public VkRayTracingPipelineCreateInfoNV | pNext(VkPipelineCreationFeedbackCreateInfo value)
Prepends the specified |
| public VkRayTracingPipelineCreateInfoNV | pNext(VkPipelineCreationFeedbackCreateInfoEXT value)
Prepends the specified |
| public VkPipelineShaderStageCreateInfo. | pStages()
a pointer to an array of |
| public VkRayTracingPipelineCreateInfoNV | pStages(VkPipelineShaderStageCreateInfo.
Sets the address of the specified |
| public VkRayTracingPipelineCreateInfoNV | set(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo.
Initializes this struct with the specified values. |
| public VkRayTracingPipelineCreateInfoNV | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public int | |
| public VkRayTracingPipelineCreateInfoNV | |
| public VkRayTracingPipelineCreateInfoNV | sType$Default()
Sets the |
| public static void |