Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkRayTracingPipelineCreateInfoKHR

extends Struct<VkRayTracingPipelineCreateInfoKHR>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure specifying parameters of a newly created ray tracing pipeline.
Description

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

When PIPELINE_CREATE_LIBRARY_BIT_KHR is specified, this pipeline defines a pipeline library which cannot be bound as a ray tracing pipeline directly. Instead, pipeline libraries define common shaders and shader groups which can be included in future pipeline creation.

If pipeline libraries are included in pLibraryInfo, shaders defined in those libraries are treated as if they were defined as additional entries in pStages, appended in the order they appear in the pLibraries array and in the pStages array when those libraries were defined.

When referencing shader groups in order to obtain a shader group handle, groups defined in those libraries are treated as if they were defined as additional entries in pGroups, appended in the order they appear in the pLibraries array and in the pGroups array when those libraries were defined. The shaders these groups reference are set when the pipeline library is created, referencing those specified in the pipeline library, not in the pipeline that includes it.

The default stack size for a pipeline if DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR is not provided is computed as described in Ray Tracing Pipeline Stack.

If a VkPipelineCreateFlags2CreateInfoKHR structure is present in the pNext chain, VkPipelineCreateFlags2CreateInfoKHR::flags from that structure is used instead of flags from this structure.

Valid Usage
Valid Usage (Implicit)
See Also

VkPipelineDynamicStateCreateInfo, VkPipelineLibraryCreateInfoKHR, VkPipelineShaderStageCreateInfo, VkRayTracingPipelineInterfaceCreateInfoKHR, VkRayTracingShaderGroupCreateInfoKHR, CreateRayTracingPipelinesKHR

Layout


struct VkRayTracingPipelineCreateInfoKHR {
    VkStructureType sType;
    void const * pNext;
    VkPipelineCreateFlags flags;
    uint32_t stageCount;
    VkPipelineShaderStageCreateInfo const * pStages;
    uint32_t groupCount;
    VkRayTracingShaderGroupCreateInfoKHR const * pGroups;
    uint32_t maxPipelineRayRecursionDepth;
    VkPipelineLibraryCreateInfoKHR const * pLibraryInfo;
    VkRayTracingPipelineInterfaceCreateInfoKHR const * pLibraryInterface;
    VkPipelineDynamicStateCreateInfo const * pDynamicState;
    VkPipelineLayout layout;
    VkPipeline basePipelineHandle;
    int32_t basePipelineIndex;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField 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
MAXPIPELINERAYRECURSIONDEPTH

The struct member offsets.

public static final int
PDYNAMICSTATE

The struct member offsets.

public static final int
PGROUPS

The struct member offsets.

public static final int
PLIBRARYINFO

The struct member offsets.

public static final int
PLIBRARYINTERFACE

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.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
public
VkRayTracingPipelineCreateInfoKHR(ByteBuffer container)

Creates a VkRayTracingPipelineCreateInfoKHR instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public long
basePipelineHandle()

a pipeline to derive from.

public VkRayTracingPipelineCreateInfoKHR
basePipelineHandle(long value)

Sets the specified value to the basePipelineHandle field.

public int
basePipelineIndex()

an index into the pCreateInfos parameter to use as a pipeline to derive from.

public VkRayTracingPipelineCreateInfoKHR
basePipelineIndex(int value)

Sets the specified value to the basePipelineIndex field.

public static VkRayTracingPipelineCreateInfoKHR
calloc()

Returns a new VkRayTracingPipelineCreateInfoKHR instance allocated with memCalloc.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkRayTracingPipelineCreateInfoKHR.Buffer instance allocated with memCalloc.

public static VkRayTracingPipelineCreateInfoKHR
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkRayTracingPipelineCreateInfoKHR instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkRayTracingPipelineCreateInfoKHR.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

protected VkRayTracingPipelineCreateInfoKHR
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkRayTracingPipelineCreateInfoKHR
create()

Returns a new VkRayTracingPipelineCreateInfoKHR instance allocated with BufferUtils.

public static VkRayTracingPipelineCreateInfoKHR
create(long address)

Returns a new VkRayTracingPipelineCreateInfoKHR instance for the specified memory address.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkRayTracingPipelineCreateInfoKHR.Buffer instance allocated with BufferUtils.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkRayTracingPipelineCreateInfoKHR.Buffer instance at the specified memory.

public static VkRayTracingPipelineCreateInfoKHR
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public int
flags()

a bitmask of VkPipelineCreateFlagBits specifying how the pipeline will be generated.

public VkRayTracingPipelineCreateInfoKHR
flags(int value)

Sets the specified value to the flags field.

public int
groupCount()

the number of entries in the pGroups array.

public long
layout()

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

public VkRayTracingPipelineCreateInfoKHR
layout(long value)

Sets the specified value to the layout field.

public static VkRayTracingPipelineCreateInfoKHR
malloc()

Returns a new VkRayTracingPipelineCreateInfoKHR instance allocated with memAlloc.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkRayTracingPipelineCreateInfoKHR.Buffer instance allocated with memAlloc.

public static VkRayTracingPipelineCreateInfoKHR
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkRayTracingPipelineCreateInfoKHR instance allocated on the specified MemoryStack.

public static VkRayTracingPipelineCreateInfoKHR.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkRayTracingPipelineCreateInfoKHR.Buffer instance allocated on the specified MemoryStack.

public int
maxPipelineRayRecursionDepth()

the maximum recursion depth of shaders executed by this pipeline.

public VkRayTracingPipelineCreateInfoKHR
maxPipelineRayRecursionDepth(int value)

Sets the specified value to the maxPipelineRayRecursionDepth field.

public static long
nbasePipelineHandle(long struct)

Unsafe version of basePipelineHandle.

public static void
nbasePipelineHandle(long struct, long value)

Unsafe version of basePipelineHandle.

public static int
nbasePipelineIndex(long struct)

Unsafe version of basePipelineIndex.

public static void
nbasePipelineIndex(long struct, int value)

Unsafe version of basePipelineIndex.

public static int
nflags(long struct)

Unsafe version of flags.

public static void
nflags(long struct, int value)

Unsafe version of flags.

public static int
ngroupCount(long struct)

Unsafe version of groupCount.

public static void
ngroupCount(long struct, int value)

Sets the specified value to the groupCount field of the specified struct.

public static long
nlayout(long struct)

Unsafe version of layout.

public static void
nlayout(long struct, long value)

Unsafe version of layout.

public static int
public static void
nmaxPipelineRayRecursionDepth(long struct, int value)

Unsafe version of maxPipelineRayRecursionDepth.

public static VkPipelineDynamicStateCreateInfo
npDynamicState(long struct)

Unsafe version of pDynamicState.

public static void
npDynamicState(long struct, VkPipelineDynamicStateCreateInfo value)

Unsafe version of pDynamicState.

public static VkRayTracingShaderGroupCreateInfoKHR.Buffer
npGroups(long struct)

Unsafe version of pGroups.

public static void
npGroups(long struct, VkRayTracingShaderGroupCreateInfoKHR.Buffer value)

Unsafe version of pGroups.

public static VkPipelineLibraryCreateInfoKHR
npLibraryInfo(long struct)

Unsafe version of pLibraryInfo.

public static void
npLibraryInfo(long struct, VkPipelineLibraryCreateInfoKHR value)

Unsafe version of pLibraryInfo.

public static VkRayTracingPipelineInterfaceCreateInfoKHR
npLibraryInterface(long struct)

Unsafe version of pLibraryInterface.

public static void
public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static VkPipelineShaderStageCreateInfo.Buffer
npStages(long struct)

Unsafe version of pStages.

public static void
npStages(long struct, VkPipelineShaderStageCreateInfo.Buffer value)

Unsafe version of pStages.

public static int
nstageCount(long struct)

Unsafe version of stageCount.

public static void
nstageCount(long struct, int value)

Sets the specified value to the stageCount field of the specified struct.

public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public VkPipelineDynamicStateCreateInfo
pDynamicState()

a pointer to a VkPipelineDynamicStateCreateInfo structure, and is used to indicate which properties of the pipeline state object are dynamic and can be changed independently of the pipeline state.

public VkRayTracingPipelineCreateInfoKHR
public VkRayTracingShaderGroupCreateInfoKHR.Buffer
pGroups()

a pointer to an array of groupCount VkRayTracingShaderGroupCreateInfoKHR structures describing the set of the shader stages to be included in each shader group in the ray tracing pipeline.

public VkRayTracingPipelineCreateInfoKHR
public VkPipelineLibraryCreateInfoKHR
pLibraryInfo()

a pointer to a VkPipelineLibraryCreateInfoKHR structure defining pipeline libraries to include.

public VkRayTracingPipelineCreateInfoKHR
pLibraryInfo(VkPipelineLibraryCreateInfoKHR value)

Sets the address of the specified VkPipelineLibraryCreateInfoKHR to the pLibraryInfo field.

public VkRayTracingPipelineInterfaceCreateInfoKHR
pLibraryInterface()

a pointer to a VkRayTracingPipelineInterfaceCreateInfoKHR structure defining additional information when using pipeline libraries.

public VkRayTracingPipelineCreateInfoKHR
public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkRayTracingPipelineCreateInfoKHR
pNext(long value)

Sets the specified value to the pNext field.

public VkRayTracingPipelineCreateInfoKHR
pNext(VkPipelineCreateFlags2CreateInfoKHR value)

Prepends the specified VkPipelineCreateFlags2CreateInfoKHR value to the pNext chain.

public VkRayTracingPipelineCreateInfoKHR
pNext(VkPipelineCreationFeedbackCreateInfo value)

Prepends the specified VkPipelineCreationFeedbackCreateInfo value to the pNext chain.

public VkRayTracingPipelineCreateInfoKHR
pNext(VkPipelineCreationFeedbackCreateInfoEXT value)

Prepends the specified VkPipelineCreationFeedbackCreateInfoEXT value to the pNext chain.

public VkRayTracingPipelineCreateInfoKHR
pNext(VkPipelineRobustnessCreateInfoEXT value)

Prepends the specified VkPipelineRobustnessCreateInfoEXT value to the pNext chain.

public VkPipelineShaderStageCreateInfo.Buffer
pStages()

a pointer to an array of stageCount VkPipelineShaderStageCreateInfo structures describing the set of the shader stages to be included in the ray tracing pipeline.

public VkRayTracingPipelineCreateInfoKHR
public VkRayTracingPipelineCreateInfoKHR
set(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo.Buffer pStages, VkRayTracingShaderGroupCreateInfoKHR.Buffer pGroups, int maxPipelineRayRecursionDepth, VkPipelineLibraryCreateInfoKHR pLibraryInfo, VkRayTracingPipelineInterfaceCreateInfoKHR pLibraryInterface, VkPipelineDynamicStateCreateInfo pDynamicState, long layout, long basePipelineHandle, int basePipelineIndex)

Initializes this struct with the specified values.

public VkRayTracingPipelineCreateInfoKHR

Returns:

this struct
set
(VkRayTracingPipelineCreateInfoKHR
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public int
stageCount()

the number of entries in the pStages array.

public int
sType()

a VkStructureType value identifying this structure.

public VkRayTracingPipelineCreateInfoKHR
sType(int value)

Sets the specified value to the sType field.

public VkRayTracingPipelineCreateInfoKHR
public static void
validate(long
the struct to validate
struct
)

Validates pointer members that should not be NULL.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate