public class VkRayTracingPipelineCreateInfoNV
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.
flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a ray tracing VkPipelineflags 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, and basePipelineIndex is not -1, basePipelineHandle must be NULL_HANDLEflags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not NULL_HANDLE, basePipelineIndex must be -1stage member of one element of pStages must be SHADER_STAGE_RAYGEN_BIT_NVpStages, and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapterlayout must be consistent with all shaders specified in pStageslayout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResourcesmaxRecursionDepth must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepthsType must be STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NVpNext must be NULL or a pointer to a valid instance of VkPipelineCreationFeedbackCreateInfoEXTflags 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
sType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.flags – a bitmask of VkPipelineCreateFlagBits specifying how the pipeline will be generated.stageCount – the number of entries in the pStages array.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.groupCount – the number of entries in the pGroups array.pGroups – a pointer to an array of groupCount VkRayTracingShaderGroupCreateInfoNV structures describing the set of the shader stages to be included in each shader group in the ray tracing pipeline.maxRecursionDepth – the maximum recursion that will be called from this pipeline.layout – the description of binding locations used by both the pipeline and descriptor sets used with the pipeline.basePipelineHandle – a pipeline to derive from.basePipelineIndex – an index into the pCreateInfos parameter to use as a pipeline to derive from.
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 |
|---|---|
static class |
VkRayTracingPipelineCreateInfoNV.Buffer
An array of
VkRayTracingPipelineCreateInfoNV structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
BASEPIPELINEHANDLE
The struct member offsets.
|
static int |
BASEPIPELINEINDEX
The struct member offsets.
|
static int |
FLAGS
The struct member offsets.
|
static int |
GROUPCOUNT
The struct member offsets.
|
static int |
LAYOUT
The struct member offsets.
|
static int |
MAXRECURSIONDEPTH
The struct member offsets.
|
static int |
PGROUPS
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
PSTAGES
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STAGECOUNT
The struct member offsets.
|
static int |
STYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkRayTracingPipelineCreateInfoNV(java.nio.ByteBuffer container)
Creates a
VkRayTracingPipelineCreateInfoNV instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
long |
basePipelineHandle()
Returns the value of the
basePipelineHandle field. |
VkRayTracingPipelineCreateInfoNV |
basePipelineHandle(long value)
Sets the specified value to the
basePipelineHandle field. |
int |
basePipelineIndex()
Returns the value of the
basePipelineIndex field. |
VkRayTracingPipelineCreateInfoNV |
basePipelineIndex(int value)
Sets the specified value to the
basePipelineIndex field. |
static VkRayTracingPipelineCreateInfoNV |
calloc()
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated with memCalloc. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
calloc(int capacity)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with memCalloc. |
static VkRayTracingPipelineCreateInfoNV |
callocStack()
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
callocStack(int capacity)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkRayTracingPipelineCreateInfoNV |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkRayTracingPipelineCreateInfoNV |
create()
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated with BufferUtils. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
create(int capacity)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with BufferUtils. |
static VkRayTracingPipelineCreateInfoNV |
create(long address)
Returns a new
VkRayTracingPipelineCreateInfoNV instance for the specified memory address. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
create(long address,
int capacity)
Create a
VkRayTracingPipelineCreateInfoNV.Buffer instance at the specified memory. |
static VkRayTracingPipelineCreateInfoNV |
createSafe(long address)
|
static VkRayTracingPipelineCreateInfoNV.Buffer |
createSafe(long address,
int capacity)
|
int |
flags()
Returns the value of the
flags field. |
VkRayTracingPipelineCreateInfoNV |
flags(int value)
Sets the specified value to the
flags field. |
int |
groupCount()
Returns the value of the
groupCount field. |
long |
layout()
Returns the value of the
layout field. |
VkRayTracingPipelineCreateInfoNV |
layout(long value)
Sets the specified value to the
layout field. |
static VkRayTracingPipelineCreateInfoNV |
malloc()
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated with memAlloc. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
malloc(int capacity)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with memAlloc. |
static VkRayTracingPipelineCreateInfoNV |
mallocStack()
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated on the thread-local MemoryStack. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
mallocStack(int capacity)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack. |
static VkRayTracingPipelineCreateInfoNV.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the specified MemoryStack. |
static VkRayTracingPipelineCreateInfoNV |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkRayTracingPipelineCreateInfoNV instance allocated on the specified MemoryStack. |
int |
maxRecursionDepth()
Returns the value of the
maxRecursionDepth field. |
VkRayTracingPipelineCreateInfoNV |
maxRecursionDepth(int value)
Sets the specified value to the
maxRecursionDepth field. |
static long |
nbasePipelineHandle(long struct)
Unsafe version of
basePipelineHandle(). |
static void |
nbasePipelineHandle(long struct,
long value)
Unsafe version of
basePipelineHandle. |
static int |
nbasePipelineIndex(long struct)
Unsafe version of
basePipelineIndex(). |
static void |
nbasePipelineIndex(long struct,
int value)
Unsafe version of
basePipelineIndex. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static int |
ngroupCount(long struct)
Unsafe version of
groupCount(). |
static void |
ngroupCount(long struct,
int value)
Sets the specified value to the
groupCount field of the specified struct. |
static long |
nlayout(long struct)
Unsafe version of
layout(). |
static void |
nlayout(long struct,
long value)
Unsafe version of
layout. |
static int |
nmaxRecursionDepth(long struct)
Unsafe version of
maxRecursionDepth(). |
static void |
nmaxRecursionDepth(long struct,
int value)
Unsafe version of
maxRecursionDepth. |
static VkRayTracingShaderGroupCreateInfoNV.Buffer |
npGroups(long struct)
Unsafe version of
pGroups(). |
static void |
npGroups(long struct,
VkRayTracingShaderGroupCreateInfoNV.Buffer value)
Unsafe version of
pGroups. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static VkPipelineShaderStageCreateInfo.Buffer |
npStages(long struct)
Unsafe version of
pStages(). |
static void |
npStages(long struct,
VkPipelineShaderStageCreateInfo.Buffer value)
Unsafe version of
pStages. |
static int |
nstageCount(long struct)
Unsafe version of
stageCount(). |
static void |
nstageCount(long struct,
int value)
Sets the specified value to the
stageCount field of the specified struct. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
VkRayTracingShaderGroupCreateInfoNV.Buffer |
pGroups()
Returns a
VkRayTracingShaderGroupCreateInfoNV.Buffer view of the struct array pointed to by the pGroups field. |
VkRayTracingPipelineCreateInfoNV |
pGroups(VkRayTracingShaderGroupCreateInfoNV.Buffer value)
Sets the address of the specified
VkRayTracingShaderGroupCreateInfoNV.Buffer to the pGroups field. |
long |
pNext()
Returns the value of the
pNext field. |
VkRayTracingPipelineCreateInfoNV |
pNext(long value)
Sets the specified value to the
pNext field. |
VkPipelineShaderStageCreateInfo.Buffer |
pStages()
Returns a
VkPipelineShaderStageCreateInfo.Buffer view of the struct array pointed to by the pStages field. |
VkRayTracingPipelineCreateInfoNV |
pStages(VkPipelineShaderStageCreateInfo.Buffer value)
Sets the address of the specified
VkPipelineShaderStageCreateInfo.Buffer to the pStages field. |
VkRayTracingPipelineCreateInfoNV |
set(int sType,
long pNext,
int flags,
VkPipelineShaderStageCreateInfo.Buffer pStages,
VkRayTracingShaderGroupCreateInfoNV.Buffer pGroups,
int maxRecursionDepth,
long layout,
long basePipelineHandle,
int basePipelineIndex)
Initializes this struct with the specified values.
|
VkRayTracingPipelineCreateInfoNV |
set(VkRayTracingPipelineCreateInfoNV src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
stageCount()
Returns the value of the
stageCount field. |
int |
sType()
Returns the value of the
sType field. |
VkRayTracingPipelineCreateInfoNV |
sType(int value)
Sets the specified value to the
sType field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int FLAGS
public static final int STAGECOUNT
public static final int PSTAGES
public static final int GROUPCOUNT
public static final int PGROUPS
public static final int MAXRECURSIONDEPTH
public static final int LAYOUT
public static final int BASEPIPELINEHANDLE
public static final int BASEPIPELINEINDEX
public VkRayTracingPipelineCreateInfoNV(java.nio.ByteBuffer container)
VkRayTracingPipelineCreateInfoNV instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be
visible to the struct instance and vice versa.
The created instance holds a strong reference to the container object.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int flags()
flags field.public int stageCount()
stageCount field.public VkPipelineShaderStageCreateInfo.Buffer pStages()
VkPipelineShaderStageCreateInfo.Buffer view of the struct array pointed to by the pStages field.public int groupCount()
groupCount field.public VkRayTracingShaderGroupCreateInfoNV.Buffer pGroups()
VkRayTracingShaderGroupCreateInfoNV.Buffer view of the struct array pointed to by the pGroups field.public int maxRecursionDepth()
maxRecursionDepth field.public long layout()
layout field.public long basePipelineHandle()
basePipelineHandle field.public int basePipelineIndex()
basePipelineIndex field.public VkRayTracingPipelineCreateInfoNV sType(int value)
sType field.public VkRayTracingPipelineCreateInfoNV pNext(long value)
pNext field.public VkRayTracingPipelineCreateInfoNV flags(int value)
flags field.public VkRayTracingPipelineCreateInfoNV pStages(VkPipelineShaderStageCreateInfo.Buffer value)
VkPipelineShaderStageCreateInfo.Buffer to the pStages field.public VkRayTracingPipelineCreateInfoNV pGroups(VkRayTracingShaderGroupCreateInfoNV.Buffer value)
VkRayTracingShaderGroupCreateInfoNV.Buffer to the pGroups field.public VkRayTracingPipelineCreateInfoNV maxRecursionDepth(int value)
maxRecursionDepth field.public VkRayTracingPipelineCreateInfoNV layout(long value)
layout field.public VkRayTracingPipelineCreateInfoNV basePipelineHandle(long value)
basePipelineHandle field.public VkRayTracingPipelineCreateInfoNV basePipelineIndex(int value)
basePipelineIndex field.public VkRayTracingPipelineCreateInfoNV set(int sType, long pNext, int flags, VkPipelineShaderStageCreateInfo.Buffer pStages, VkRayTracingShaderGroupCreateInfoNV.Buffer pGroups, int maxRecursionDepth, long layout, long basePipelineHandle, int basePipelineIndex)
public VkRayTracingPipelineCreateInfoNV set(VkRayTracingPipelineCreateInfoNV src)
src - the source structpublic static VkRayTracingPipelineCreateInfoNV malloc()
VkRayTracingPipelineCreateInfoNV instance allocated with memAlloc. The instance must be explicitly freed.public static VkRayTracingPipelineCreateInfoNV calloc()
VkRayTracingPipelineCreateInfoNV instance allocated with memCalloc. The instance must be explicitly freed.public static VkRayTracingPipelineCreateInfoNV create()
VkRayTracingPipelineCreateInfoNV instance allocated with BufferUtils.public static VkRayTracingPipelineCreateInfoNV create(long address)
VkRayTracingPipelineCreateInfoNV instance for the specified memory address.@Nullable public static VkRayTracingPipelineCreateInfoNV createSafe(long address)
public static VkRayTracingPipelineCreateInfoNV.Buffer malloc(int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer calloc(int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer create(int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer create(long address, int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkRayTracingPipelineCreateInfoNV.Buffer createSafe(long address, int capacity)
public static VkRayTracingPipelineCreateInfoNV mallocStack()
VkRayTracingPipelineCreateInfoNV instance allocated on the thread-local MemoryStack.public static VkRayTracingPipelineCreateInfoNV callocStack()
VkRayTracingPipelineCreateInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkRayTracingPipelineCreateInfoNV mallocStack(org.lwjgl.system.MemoryStack stack)
VkRayTracingPipelineCreateInfoNV instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkRayTracingPipelineCreateInfoNV callocStack(org.lwjgl.system.MemoryStack stack)
VkRayTracingPipelineCreateInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkRayTracingPipelineCreateInfoNV.Buffer mallocStack(int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer callocStack(int capacity)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkRayTracingPipelineCreateInfoNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkRayTracingPipelineCreateInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int nflags(long struct)
flags().public static int nstageCount(long struct)
stageCount().public static VkPipelineShaderStageCreateInfo.Buffer npStages(long struct)
pStages().public static int ngroupCount(long struct)
groupCount().public static VkRayTracingShaderGroupCreateInfoNV.Buffer npGroups(long struct)
pGroups().public static int nmaxRecursionDepth(long struct)
maxRecursionDepth().public static long nlayout(long struct)
layout().public static long nbasePipelineHandle(long struct)
basePipelineHandle().public static int nbasePipelineIndex(long struct)
basePipelineIndex().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nflags(long struct,
int value)
flags.public static void nstageCount(long struct,
int value)
stageCount field of the specified struct.public static void npStages(long struct,
VkPipelineShaderStageCreateInfo.Buffer value)
pStages.public static void ngroupCount(long struct,
int value)
groupCount field of the specified struct.public static void npGroups(long struct,
VkRayTracingShaderGroupCreateInfoNV.Buffer value)
pGroups.public static void nmaxRecursionDepth(long struct,
int value)
maxRecursionDepth.public static void nlayout(long struct,
long value)
layout.public static void nbasePipelineHandle(long struct,
long value)
basePipelineHandle.public static void nbasePipelineIndex(long struct,
int value)
basePipelineIndex.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.