Class VkRayTracingPipelineCreateInfoNV

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkRayTracingPipelineCreateInfoNV>
org.lwjgl.vulkan.VkRayTracingPipelineCreateInfoNV
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkRayTracingPipelineCreateInfoNV extends org.lwjgl.system.Struct<VkRayTracingPipelineCreateInfoNV> implements org.lwjgl.system.NativeResource
Structure specifying parameters of a newly created ray tracing pipeline.
Description

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

If the pNext chain includes a VkPipelineCreateFlags2CreateInfo structure, VkPipelineCreateFlags2CreateInfo::flags from that structure is used instead of flags from this structure.

Valid Usage
  • If the pNext chain does not include a VkPipelineCreateFlags2CreateInfo structure, flags must be a valid combination of VkPipelineCreateFlagBits values
  • If flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid ray tracing VkPipeline handle
  • If flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameter
  • If flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be NULL_HANDLE
  • If a push constant block is declared in a shader, a push constant range in layout must match the shader stage
  • If a push constant block is declared in a shader, the block must be contained inside the push constant range in layout that matches the stage
  • If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage
  • If a resource variable is declared in a shader, and the descriptor type is not DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type
  • If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count
  • If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
Valid Usage (Implicit)
See Also

VkPipelineShaderStageCreateInfo, VkRayTracingShaderGroupCreateInfoNV, CreateRayTracingPipelinesNV

Layout


 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();
 }