Class VkRayTracingPipelineCreateInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
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 the pNext chain includes a VkPipelineCreateFlags2CreateInfo structure, VkPipelineCreateFlags2CreateInfo::flags from that structure is used instead of flags from this structure.
Valid Usage
- If the
pNextchain does not include aVkPipelineCreateFlags2CreateInfostructure,flagsmust be a valid combination ofVkPipelineCreateFlagBitsvalues - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineIndexis -1,basePipelineHandlemust be a valid ray tracingVkPipelinehandle - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleisNULL_HANDLE,basePipelineIndexmust be a valid index into the calling command’spCreateInfosparameter - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag,basePipelineIndexmust be -1 orbasePipelineHandlemust beNULL_HANDLE - If a push constant block is declared in a shader, a push constant range in
layoutmust 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
layoutthat matches the stage - If a resource variable is declared in a shader, the corresponding descriptor set in
layoutmust 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 inlayoutmust match the descriptor type - If a resource variable is declared in a shader as an array, the corresponding descriptor set in
layoutmust 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
- The shader code for the entry points identified by
pStages, and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter - The number of resources in
layoutaccessible to each shader stage that is used by the pipeline must be less than or equal toVkPhysicalDeviceLimits::maxPerStageResources flagsmust not includePIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV- If the
pipelineCreationCacheControlfeature is not enabled,flagsmust not includePIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BITorPIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT - If
flagsdoes not includePIPELINE_CREATE_LIBRARY_BIT_KHR, thestagemember of at least one element ofpStages, including those implicitly added bypLibraryInfo, must beSHADER_STAGE_RAYGEN_BIT_KHR maxPipelineRayRecursionDepthmust be less than or equal toVkPhysicalDeviceRayTracingPipelinePropertiesKHR::maxRayRecursionDepth- If
flagsincludesPIPELINE_CREATE_LIBRARY_BIT_KHR,pLibraryInterfacemust not beNULL - If
pLibraryInfois notNULLand itslibraryCountmember is greater than 0,pLibraryInterfacemust not beNULL - Each element of
pLibraryInfo→pLibrariesmust have been created with the value ofmaxPipelineRayRecursionDepthequal to that in this pipeline - If
pLibraryInfois notNULL, each element of itspLibrariesmember must have been created with alayoutthat is compatible with thelayoutin this pipeline - If
pLibraryInfois notNULL, each element of itspLibrariesmember must have been created with values of themaxPipelineRayPayloadSizeandmaxPipelineRayHitAttributeSizemembers ofpLibraryInterfaceequal to those in this pipeline - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHRbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHRbit set - If the
VK_KHR_pipeline_libraryextension is not enabled,pLibraryInfoandpLibraryInterfacemust beNULL - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, for any element ofpGroupswith atypeofRAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHRorRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, theanyHitShaderof that element must not beSHADER_UNUSED_KHR - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, for any element ofpGroupswith atypeofRAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHRorRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, theclosestHitShaderof that element must not beSHADER_UNUSED_KHR - If the
rayTraversalPrimitiveCullingfeature is not enabled,flagsmust not includePIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR - If the
rayTraversalPrimitiveCullingfeature is not enabled,flagsmust not includePIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR flagsmust not include bothPIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHRandPIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR- If
flagsincludesPIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR,rayTracingPipelineShaderGroupHandleCaptureReplaymust be enabled - If
VkPhysicalDeviceRayTracingPipelineFeaturesKHR::rayTracingPipelineShaderGroupHandleCaptureReplayisTRUEand thepShaderGroupCaptureReplayHandlemember of any element ofpGroupsis notNULL,flagsmust includePIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR - If
pLibraryInfoisNULLor itslibraryCountis 0,stageCountmust not be 0 - If
flagsdoes not includePIPELINE_CREATE_LIBRARY_BIT_KHRand eitherpLibraryInfoisNULLor itslibraryCountis 0,groupCountmust not be 0 - Any element of the
pDynamicStatesmember ofpDynamicStatemust beDYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR - If
VkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCountis not 0, it must be equal tostageCount - The
stagevalue in allpStageselements must be one ofSHADER_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, orSHADER_STAGE_CALLABLE_BIT_KHR - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXTbit set - If
flagsincludesPIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV, each element ofpLibraryInfo→pLibrariesmust have been created with thePIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NVbit set
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkPipelineBinaryInfoKHR,VkPipelineCreateFlags2CreateInfo,VkPipelineCreationFeedbackCreateInfo, orVkPipelineRobustnessCreateInfo - The
sTypevalue of each struct in thepNextchain must be unique - If
stageCountis not 0,pStagesmust be a valid pointer to an array ofstageCountvalidVkPipelineShaderStageCreateInfostructures - If
groupCountis not 0,pGroupsmust be a valid pointer to an array ofgroupCountvalidVkRayTracingShaderGroupCreateInfoKHRstructures - If
pLibraryInfois notNULL,pLibraryInfomust be a valid pointer to a validVkPipelineLibraryCreateInfoKHRstructure - If
pLibraryInterfaceis notNULL,pLibraryInterfacemust be a valid pointer to a validVkRayTracingPipelineInterfaceCreateInfoKHRstructure - If
pDynamicStateis notNULL,pDynamicStatemust be a valid pointer to a validVkPipelineDynamicStateCreateInfostructure layoutmust be a validVkPipelineLayouthandle- Both of
basePipelineHandle, andlayoutthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
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 Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkRayTracingPipelineCreateInfoKHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkRayTracingPipelineCreateInfoKHR(ByteBuffer container) Creates aVkRayTracingPipelineCreateInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlonga pipeline to derive from.basePipelineHandle(long value) Sets the specified value to thebasePipelineHandle()field.intan index into thepCreateInfosparameter to use as a pipeline to derive from.basePipelineIndex(int value) Sets the specified value to thebasePipelineIndex()field.calloc()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkRayTracingPipelineCreateInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkRayTracingPipelineCreateInfoKHR.Bufferinstance at the specified memory.static @Nullable VkRayTracingPipelineCreateInfoKHRcreateSafe(long address) static @Nullable VkRayTracingPipelineCreateInfoKHR.BuffercreateSafe(long address, int capacity) intflags()a bitmask ofVkPipelineCreateFlagBitsspecifying how the pipeline will be generated.flags(int value) Sets the specified value to theflags()field.intthe number of entries in thepGroupsarray.longlayout()the description of binding locations used by both the pipeline and descriptor sets used with the pipeline.layout(long value) Sets the specified value to thelayout()field.malloc()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStack.intthe maximum recursion depth of shaders executed by this pipeline.maxPipelineRayRecursionDepth(int value) Sets the specified value to themaxPipelineRayRecursionDepth()field.static longnbasePipelineHandle(long struct) Unsafe version ofbasePipelineHandle().static voidnbasePipelineHandle(long struct, long value) Unsafe version ofbasePipelineHandle.static intnbasePipelineIndex(long struct) Unsafe version ofbasePipelineIndex().static voidnbasePipelineIndex(long struct, int value) Unsafe version ofbasePipelineIndex.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static intngroupCount(long struct) Unsafe version ofgroupCount().static voidngroupCount(long struct, int value) Sets the specified value to thegroupCountfield of the specifiedstruct.static longnlayout(long struct) Unsafe version oflayout().static voidnlayout(long struct, long value) Unsafe version oflayout.static intnmaxPipelineRayRecursionDepth(long struct) Unsafe version ofmaxPipelineRayRecursionDepth().static voidnmaxPipelineRayRecursionDepth(long struct, int value) Unsafe version ofmaxPipelineRayRecursionDepth.static @Nullable VkPipelineDynamicStateCreateInfonpDynamicState(long struct) Unsafe version ofpDynamicState().static voidnpDynamicState(long struct, @Nullable VkPipelineDynamicStateCreateInfo value) Unsafe version ofpDynamicState.static @Nullable VkRayTracingShaderGroupCreateInfoKHR.BuffernpGroups(long struct) Unsafe version ofpGroups().static voidnpGroups(long struct, @Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer value) Unsafe version ofpGroups.static @Nullable VkPipelineLibraryCreateInfoKHRnpLibraryInfo(long struct) Unsafe version ofpLibraryInfo().static voidnpLibraryInfo(long struct, @Nullable VkPipelineLibraryCreateInfoKHR value) Unsafe version ofpLibraryInfo.static @Nullable VkRayTracingPipelineInterfaceCreateInfoKHRnpLibraryInterface(long struct) Unsafe version ofpLibraryInterface().static voidnpLibraryInterface(long struct, @Nullable VkRayTracingPipelineInterfaceCreateInfoKHR value) Unsafe version ofpLibraryInterface.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static @Nullable VkPipelineShaderStageCreateInfo.BuffernpStages(long struct) Unsafe version ofpStages().static voidnpStages(long struct, @Nullable VkPipelineShaderStageCreateInfo.Buffer value) Unsafe version ofpStages.static intnstageCount(long struct) Unsafe version ofstageCount().static voidnstageCount(long struct, int value) Sets the specified value to thestageCountfield of the specifiedstruct.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.@Nullable VkPipelineDynamicStateCreateInfoa pointer to aVkPipelineDynamicStateCreateInfostructure, and is used to indicate which properties of the pipeline state object are dynamic and can be changed independently of the pipeline state.pDynamicState(@Nullable VkPipelineDynamicStateCreateInfo value) Sets the address of the specifiedVkPipelineDynamicStateCreateInfoto thepDynamicState()field.pGroups()a pointer to an array ofgroupCountVkRayTracingShaderGroupCreateInfoKHRstructures describing the set of the shader stages to be included in each shader group in the ray tracing pipeline.pGroups(@Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer value) Sets the address of the specifiedVkRayTracingShaderGroupCreateInfoKHR.Bufferto thepGroups()field.@Nullable VkPipelineLibraryCreateInfoKHRa pointer to aVkPipelineLibraryCreateInfoKHRstructure defining pipeline libraries to include.pLibraryInfo(@Nullable VkPipelineLibraryCreateInfoKHR value) Sets the address of the specifiedVkPipelineLibraryCreateInfoKHRto thepLibraryInfo()field.a pointer to aVkRayTracingPipelineInterfaceCreateInfoKHRstructure defining additional information when using pipeline libraries.pLibraryInterface(@Nullable VkRayTracingPipelineInterfaceCreateInfoKHR value) Sets the address of the specifiedVkRayTracingPipelineInterfaceCreateInfoKHRto thepLibraryInterface()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkPipelineBinaryInfoKHR value) Prepends the specifiedVkPipelineBinaryInfoKHRvalue to thepNextchain.Prepends the specifiedVkPipelineCreateFlags2CreateInfovalue to thepNextchain.Prepends the specifiedVkPipelineCreateFlags2CreateInfoKHRvalue to thepNextchain.Prepends the specifiedVkPipelineCreationFeedbackCreateInfovalue to thepNextchain.Prepends the specifiedVkPipelineCreationFeedbackCreateInfoEXTvalue to thepNextchain.Prepends the specifiedVkPipelineRobustnessCreateInfovalue to thepNextchain.Prepends the specifiedVkPipelineRobustnessCreateInfoEXTvalue to thepNextchain.@Nullable VkPipelineShaderStageCreateInfo.BufferpStages()a pointer to an array ofstageCountVkPipelineShaderStageCreateInfostructures describing the set of the shader stages to be included in the ray tracing pipeline.pStages(@Nullable VkPipelineShaderStageCreateInfo.Buffer value) Sets the address of the specifiedVkPipelineShaderStageCreateInfo.Bufferto thepStages()field.set(int sType, long pNext, int flags, @Nullable VkPipelineShaderStageCreateInfo.Buffer pStages, @Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer pGroups, int maxPipelineRayRecursionDepth, @Nullable VkPipelineLibraryCreateInfoKHR pLibraryInfo, @Nullable VkRayTracingPipelineInterfaceCreateInfoKHR pLibraryInterface, @Nullable VkPipelineDynamicStateCreateInfo pDynamicState, long layout, long basePipelineHandle, int basePipelineIndex) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intthe number of entries in thepStagesarray.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHRvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
STAGECOUNT
public static final int STAGECOUNTThe struct member offsets. -
PSTAGES
public static final int PSTAGESThe struct member offsets. -
GROUPCOUNT
public static final int GROUPCOUNTThe struct member offsets. -
PGROUPS
public static final int PGROUPSThe struct member offsets. -
MAXPIPELINERAYRECURSIONDEPTH
public static final int MAXPIPELINERAYRECURSIONDEPTHThe struct member offsets. -
PLIBRARYINFO
public static final int PLIBRARYINFOThe struct member offsets. -
PLIBRARYINTERFACE
public static final int PLIBRARYINTERFACEThe struct member offsets. -
PDYNAMICSTATE
public static final int PDYNAMICSTATEThe struct member offsets. -
LAYOUT
public static final int LAYOUTThe struct member offsets. -
BASEPIPELINEHANDLE
public static final int BASEPIPELINEHANDLEThe struct member offsets. -
BASEPIPELINEINDEX
public static final int BASEPIPELINEINDEXThe struct member offsets.
-
-
Constructor Details
-
VkRayTracingPipelineCreateInfoKHR
Creates aVkRayTracingPipelineCreateInfoKHRinstance at the current position of the specifiedByteBuffercontainer. 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.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkRayTracingPipelineCreateInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()a bitmask ofVkPipelineCreateFlagBitsspecifying how the pipeline will be generated. -
stageCount
public int stageCount()the number of entries in thepStagesarray. -
pStages
a pointer to an array ofstageCountVkPipelineShaderStageCreateInfostructures describing the set of the shader stages to be included in the ray tracing pipeline. -
groupCount
public int groupCount()the number of entries in thepGroupsarray. -
pGroups
a pointer to an array ofgroupCountVkRayTracingShaderGroupCreateInfoKHRstructures describing the set of the shader stages to be included in each shader group in the ray tracing pipeline. -
maxPipelineRayRecursionDepth
public int maxPipelineRayRecursionDepth()the maximum recursion depth of shaders executed by this pipeline. -
pLibraryInfo
a pointer to aVkPipelineLibraryCreateInfoKHRstructure defining pipeline libraries to include. -
pLibraryInterface
a pointer to aVkRayTracingPipelineInterfaceCreateInfoKHRstructure defining additional information when using pipeline libraries. -
pDynamicState
a pointer to aVkPipelineDynamicStateCreateInfostructure, and is used to indicate which properties of the pipeline state object are dynamic and can be changed independently of the pipeline state. This can beNULL, which means no state in the pipeline is considered dynamic. -
layout
public long layout()the description of binding locations used by both the pipeline and descriptor sets used with the pipeline. -
basePipelineHandle
public long basePipelineHandle()a pipeline to derive from. -
basePipelineIndex
public int basePipelineIndex()an index into thepCreateInfosparameter to use as a pipeline to derive from. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkPipelineBinaryInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineCreateFlags2CreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineCreateFlags2CreateInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineCreationFeedbackCreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineCreationFeedbackCreateInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineRobustnessCreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkPipelineRobustnessCreateInfoEXTvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
pStages
public VkRayTracingPipelineCreateInfoKHR pStages(@Nullable VkPipelineShaderStageCreateInfo.Buffer value) Sets the address of the specifiedVkPipelineShaderStageCreateInfo.Bufferto thepStages()field. -
pGroups
public VkRayTracingPipelineCreateInfoKHR pGroups(@Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer value) Sets the address of the specifiedVkRayTracingShaderGroupCreateInfoKHR.Bufferto thepGroups()field. -
maxPipelineRayRecursionDepth
Sets the specified value to themaxPipelineRayRecursionDepth()field. -
pLibraryInfo
public VkRayTracingPipelineCreateInfoKHR pLibraryInfo(@Nullable VkPipelineLibraryCreateInfoKHR value) Sets the address of the specifiedVkPipelineLibraryCreateInfoKHRto thepLibraryInfo()field. -
pLibraryInterface
public VkRayTracingPipelineCreateInfoKHR pLibraryInterface(@Nullable VkRayTracingPipelineInterfaceCreateInfoKHR value) Sets the address of the specifiedVkRayTracingPipelineInterfaceCreateInfoKHRto thepLibraryInterface()field. -
pDynamicState
public VkRayTracingPipelineCreateInfoKHR pDynamicState(@Nullable VkPipelineDynamicStateCreateInfo value) Sets the address of the specifiedVkPipelineDynamicStateCreateInfoto thepDynamicState()field. -
layout
Sets the specified value to thelayout()field. -
basePipelineHandle
Sets the specified value to thebasePipelineHandle()field. -
basePipelineIndex
Sets the specified value to thebasePipelineIndex()field. -
set
public VkRayTracingPipelineCreateInfoKHR set(int sType, long pNext, int flags, @Nullable VkPipelineShaderStageCreateInfo.Buffer pStages, @Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer pGroups, int maxPipelineRayRecursionDepth, @Nullable VkPipelineLibraryCreateInfoKHR pLibraryInfo, @Nullable VkRayTracingPipelineInterfaceCreateInfoKHR pLibraryInterface, @Nullable VkPipelineDynamicStateCreateInfo pDynamicState, long layout, long basePipelineHandle, int basePipelineIndex) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkRayTracingPipelineCreateInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkRayTracingPipelineCreateInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkRayTracingPipelineCreateInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkRayTracingPipelineCreateInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkRayTracingPipelineCreateInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
nstageCount
public static int nstageCount(long struct) Unsafe version ofstageCount(). -
npStages
Unsafe version ofpStages(). -
ngroupCount
public static int ngroupCount(long struct) Unsafe version ofgroupCount(). -
npGroups
Unsafe version ofpGroups(). -
nmaxPipelineRayRecursionDepth
public static int nmaxPipelineRayRecursionDepth(long struct) Unsafe version ofmaxPipelineRayRecursionDepth(). -
npLibraryInfo
Unsafe version ofpLibraryInfo(). -
npLibraryInterface
Unsafe version ofpLibraryInterface(). -
npDynamicState
Unsafe version ofpDynamicState(). -
nlayout
public static long nlayout(long struct) Unsafe version oflayout(). -
nbasePipelineHandle
public static long nbasePipelineHandle(long struct) Unsafe version ofbasePipelineHandle(). -
nbasePipelineIndex
public static int nbasePipelineIndex(long struct) Unsafe version ofbasePipelineIndex(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
nstageCount
public static void nstageCount(long struct, int value) Sets the specified value to thestageCountfield of the specifiedstruct. -
npStages
Unsafe version ofpStages. -
ngroupCount
public static void ngroupCount(long struct, int value) Sets the specified value to thegroupCountfield of the specifiedstruct. -
npGroups
public static void npGroups(long struct, @Nullable VkRayTracingShaderGroupCreateInfoKHR.Buffer value) Unsafe version ofpGroups. -
nmaxPipelineRayRecursionDepth
public static void nmaxPipelineRayRecursionDepth(long struct, int value) Unsafe version ofmaxPipelineRayRecursionDepth. -
npLibraryInfo
Unsafe version ofpLibraryInfo. -
npLibraryInterface
public static void npLibraryInterface(long struct, @Nullable VkRayTracingPipelineInterfaceCreateInfoKHR value) Unsafe version ofpLibraryInterface. -
npDynamicState
Unsafe version ofpDynamicState. -
nlayout
public static void nlayout(long struct, long value) Unsafe version oflayout. -
nbasePipelineHandle
public static void nbasePipelineHandle(long struct, long value) Unsafe version ofbasePipelineHandle. -
nbasePipelineIndex
public static void nbasePipelineIndex(long struct, int value) Unsafe version ofbasePipelineIndex. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-