Class VkRayTracingPipelineCreateInfoKHR
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkRayTracingPipelineCreateInfoKHR
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkRayTracingPipelineCreateInfoKHR extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying parameters of a newly created ray tracing pipeline.Description
The parameters
basePipelineHandleandbasePipelineIndexare described in more detail in Pipeline Derivatives.When
PIPELINE_CREATE_LIBRARY_BIT_KHRis 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 inpStages, appended in the order they appear in thepLibrariesarray and in thepStagesarray 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 thepLibrariesarray and in thepGroupsarray 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_KHRis not provided is computed as described in Ray Tracing Pipeline Stack.Valid Usage
- If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineIndexis-1,basePipelineHandlemust be a valid handle to a ray tracingVkPipeline - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleisNULL_HANDLE,basePipelineIndexmust be a valid index into the calling command’spCreateInfosparameter - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineIndexis not-1,basePipelineHandlemust beNULL_HANDLE - If
flagscontains thePIPELINE_CREATE_DERIVATIVE_BITflag, andbasePipelineHandleis notNULL_HANDLE,basePipelineIndexmust be-1 - 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 layoutmust be consistent with all shaders specified inpStages- 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, itspLibraryInterfacemember must not beNULL - Each element of
pLibraryInfo\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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\u2192pLibrariesmust 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
pLibraryInfois notNULLand itslibraryCountis 0,stageCountmust not be 0 - If
pLibraryInfois notNULLand itslibraryCountis 0,groupCountmust not be 0 - Any element of the
pDynamicStatesmember ofpDynamicStatemust beDYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHRpNextmust beNULLor a pointer to a valid instance ofVkPipelineCreationFeedbackCreateInfo- The
sTypevalue of each struct in thepNextchain must be unique flagsmust be a valid combination ofVkPipelineCreateFlagBitsvalues- 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,CreateRayTracingPipelinesKHRLayout
struct VkRayTracingPipelineCreateInfoKHR { VkStructureTypesType(); void const *pNext(); VkPipelineCreateFlagsflags(); uint32_tstageCount();VkPipelineShaderStageCreateInfoconst *pStages(); uint32_tgroupCount();VkRayTracingShaderGroupCreateInfoKHRconst *pGroups(); uint32_tmaxPipelineRayRecursionDepth();VkPipelineLibraryCreateInfoKHRconst *pLibraryInfo();VkRayTracingPipelineInterfaceCreateInfoKHRconst *pLibraryInterface();VkPipelineDynamicStateCreateInfoconst *pDynamicState(); VkPipelineLayoutlayout(); VkPipelinebasePipelineHandle(); int32_tbasePipelineIndex(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkRayTracingPipelineCreateInfoKHR.BufferAn array ofVkRayTracingPipelineCreateInfoKHRstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intBASEPIPELINEHANDLE
BASEPIPELINEINDEX
FLAGS
GROUPCOUNT
LAYOUT
MAXPIPELINERAYRECURSIONDEPTH
PDYNAMICSTATE
PGROUPS
PLIBRARYINFO
PLIBRARYINTERFACE
PNEXT
PSTAGESThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTAGECOUNT
STYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkRayTracingPipelineCreateInfoKHR(java.nio.ByteBuffer container)Creates aVkRayTracingPipelineCreateInfoKHRinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longbasePipelineHandle()a pipeline to derive from.VkRayTracingPipelineCreateInfoKHRbasePipelineHandle(long value)Sets the specified value to thebasePipelineHandle()field.intbasePipelineIndex()an index into thepCreateInfosparameter to use as a pipeline to derive from.VkRayTracingPipelineCreateInfoKHRbasePipelineIndex(int value)Sets the specified value to thebasePipelineIndex()field.static VkRayTracingPipelineCreateInfoKHRcalloc()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemCalloc.static VkRayTracingPipelineCreateInfoKHR.Buffercalloc(int capacity)Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemCalloc.static VkRayTracingPipelineCreateInfoKHR.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkRayTracingPipelineCreateInfoKHRcalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkRayTracingPipelineCreateInfoKHRcreate()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withBufferUtils.static VkRayTracingPipelineCreateInfoKHR.Buffercreate(int capacity)Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withBufferUtils.static VkRayTracingPipelineCreateInfoKHRcreate(long address)Returns a newVkRayTracingPipelineCreateInfoKHRinstance for the specified memory address.static VkRayTracingPipelineCreateInfoKHR.Buffercreate(long address, int capacity)Create aVkRayTracingPipelineCreateInfoKHR.Bufferinstance at the specified memory.static VkRayTracingPipelineCreateInfoKHRcreateSafe(long address)static VkRayTracingPipelineCreateInfoKHR.BuffercreateSafe(long address, int capacity)intflags()a bitmask ofVkPipelineCreateFlagBitsspecifying how the pipeline will be generated.VkRayTracingPipelineCreateInfoKHRflags(int value)Sets the specified value to theflags()field.intgroupCount()the number of entries in thepGroupsarray.longlayout()the description of binding locations used by both the pipeline and descriptor sets used with the pipeline.VkRayTracingPipelineCreateInfoKHRlayout(long value)Sets the specified value to thelayout()field.static VkRayTracingPipelineCreateInfoKHRmalloc()Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemAlloc.static VkRayTracingPipelineCreateInfoKHR.Buffermalloc(int capacity)Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemAlloc.static VkRayTracingPipelineCreateInfoKHR.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.static VkRayTracingPipelineCreateInfoKHRmalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStack.intmaxPipelineRayRecursionDepth()the maximum recursion depth of shaders executed by this pipeline.VkRayTracingPipelineCreateInfoKHRmaxPipelineRayRecursionDepth(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 VkPipelineDynamicStateCreateInfonpDynamicState(long struct)Unsafe version ofpDynamicState().static voidnpDynamicState(long struct, VkPipelineDynamicStateCreateInfo value)Unsafe version ofpDynamicState.static VkRayTracingShaderGroupCreateInfoKHR.BuffernpGroups(long struct)Unsafe version ofpGroups().static voidnpGroups(long struct, VkRayTracingShaderGroupCreateInfoKHR.Buffer value)Unsafe version ofpGroups.static VkPipelineLibraryCreateInfoKHRnpLibraryInfo(long struct)Unsafe version ofpLibraryInfo().static voidnpLibraryInfo(long struct, VkPipelineLibraryCreateInfoKHR value)Unsafe version ofpLibraryInfo.static VkRayTracingPipelineInterfaceCreateInfoKHRnpLibraryInterface(long struct)Unsafe version ofpLibraryInterface().static voidnpLibraryInterface(long struct, VkRayTracingPipelineInterfaceCreateInfoKHR value)Unsafe version ofpLibraryInterface.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static VkPipelineShaderStageCreateInfo.BuffernpStages(long struct)Unsafe version ofpStages().static voidnpStages(long struct, 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.VkPipelineDynamicStateCreateInfopDynamicState()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.VkRayTracingPipelineCreateInfoKHRpDynamicState(VkPipelineDynamicStateCreateInfo value)Sets the address of the specifiedVkPipelineDynamicStateCreateInfoto thepDynamicState()field.VkRayTracingShaderGroupCreateInfoKHR.BufferpGroups()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.VkRayTracingPipelineCreateInfoKHRpGroups(VkRayTracingShaderGroupCreateInfoKHR.Buffer value)Sets the address of the specifiedVkRayTracingShaderGroupCreateInfoKHR.Bufferto thepGroups()field.VkPipelineLibraryCreateInfoKHRpLibraryInfo()a pointer to aVkPipelineLibraryCreateInfoKHRstructure defining pipeline libraries to include.VkRayTracingPipelineCreateInfoKHRpLibraryInfo(VkPipelineLibraryCreateInfoKHR value)Sets the address of the specifiedVkPipelineLibraryCreateInfoKHRto thepLibraryInfo()field.VkRayTracingPipelineInterfaceCreateInfoKHRpLibraryInterface()a pointer to aVkRayTracingPipelineInterfaceCreateInfoKHRstructure defining additional information when using pipeline libraries.VkRayTracingPipelineCreateInfoKHRpLibraryInterface(VkRayTracingPipelineInterfaceCreateInfoKHR value)Sets the address of the specifiedVkRayTracingPipelineInterfaceCreateInfoKHRto thepLibraryInterface()field.longpNext()NULLor a pointer to a structure extending this structure.VkRayTracingPipelineCreateInfoKHRpNext(long value)Sets the specified value to thepNext()field.VkRayTracingPipelineCreateInfoKHRpNext(VkPipelineCreationFeedbackCreateInfo value)Prepends the specifiedVkPipelineCreationFeedbackCreateInfovalue to thepNextchain.VkRayTracingPipelineCreateInfoKHRpNext(VkPipelineCreationFeedbackCreateInfoEXT value)Prepends the specifiedVkPipelineCreationFeedbackCreateInfoEXTvalue to thepNextchain.VkPipelineShaderStageCreateInfo.BufferpStages()a pointer to an array ofstageCountVkPipelineShaderStageCreateInfostructures describing the set of the shader stages to be included in the ray tracing pipeline.VkRayTracingPipelineCreateInfoKHRpStages(VkPipelineShaderStageCreateInfo.Buffer value)Sets the address of the specifiedVkPipelineShaderStageCreateInfo.Bufferto thepStages()field.VkRayTracingPipelineCreateInfoKHRset(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.VkRayTracingPipelineCreateInfoKHRset(VkRayTracingPipelineCreateInfoKHR src)Copies the specified struct data to this struct.intsizeof()intstageCount()the number of entries in thepStagesarray.intsType()the type of this structure.VkRayTracingPipelineCreateInfoKHRsType(int value)Sets the specified value to thesType()field.VkRayTracingPipelineCreateInfoKHRsType$Default()Sets theSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHRvalue to thesType()field.static voidvalidate(long struct)Validates pointer members that should not beNULL.
-
-
-
Constructor Detail
-
VkRayTracingPipelineCreateInfoKHR
public VkRayTracingPipelineCreateInfoKHR(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of 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
@Nullable public VkPipelineShaderStageCreateInfo.Buffer 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
@Nullable public VkRayTracingShaderGroupCreateInfoKHR.Buffer 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
@Nullable public VkPipelineLibraryCreateInfoKHR pLibraryInfo()
a pointer to aVkPipelineLibraryCreateInfoKHRstructure defining pipeline libraries to include.
-
pLibraryInterface
@Nullable public VkRayTracingPipelineInterfaceCreateInfoKHR pLibraryInterface()
a pointer to aVkRayTracingPipelineInterfaceCreateInfoKHRstructure defining additional information when using pipeline libraries.
-
pDynamicState
@Nullable public VkPipelineDynamicStateCreateInfo 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
public VkRayTracingPipelineCreateInfoKHR sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkRayTracingPipelineCreateInfoKHR sType$Default()
Sets theSTRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHRvalue to thesType()field.
-
pNext
public VkRayTracingPipelineCreateInfoKHR pNext(long value)
Sets the specified value to thepNext()field.
-
pNext
public VkRayTracingPipelineCreateInfoKHR pNext(VkPipelineCreationFeedbackCreateInfo value)
Prepends the specifiedVkPipelineCreationFeedbackCreateInfovalue to thepNextchain.
-
pNext
public VkRayTracingPipelineCreateInfoKHR pNext(VkPipelineCreationFeedbackCreateInfoEXT value)
Prepends the specifiedVkPipelineCreationFeedbackCreateInfoEXTvalue to thepNextchain.
-
flags
public VkRayTracingPipelineCreateInfoKHR flags(int value)
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
public VkRayTracingPipelineCreateInfoKHR maxPipelineRayRecursionDepth(int value)
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
public VkRayTracingPipelineCreateInfoKHR layout(long value)
Sets the specified value to thelayout()field.
-
basePipelineHandle
public VkRayTracingPipelineCreateInfoKHR basePipelineHandle(long value)
Sets the specified value to thebasePipelineHandle()field.
-
basePipelineIndex
public VkRayTracingPipelineCreateInfoKHR basePipelineIndex(int value)
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
public VkRayTracingPipelineCreateInfoKHR set(VkRayTracingPipelineCreateInfoKHR src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkRayTracingPipelineCreateInfoKHR malloc()
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkRayTracingPipelineCreateInfoKHR calloc()
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkRayTracingPipelineCreateInfoKHR create()
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated withBufferUtils.
-
create
public static VkRayTracingPipelineCreateInfoKHR create(long address)
Returns a newVkRayTracingPipelineCreateInfoKHRinstance for the specified memory address.
-
createSafe
@Nullable public static VkRayTracingPipelineCreateInfoKHR createSafe(long address)
-
malloc
public static VkRayTracingPipelineCreateInfoKHR.Buffer malloc(int capacity)
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkRayTracingPipelineCreateInfoKHR.Buffer calloc(int capacity)
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkRayTracingPipelineCreateInfoKHR.Buffer create(int capacity)
Returns a newVkRayTracingPipelineCreateInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkRayTracingPipelineCreateInfoKHR.Buffer create(long address, int capacity)
Create aVkRayTracingPipelineCreateInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkRayTracingPipelineCreateInfoKHR.Buffer createSafe(long address, int capacity)
-
malloc
public static VkRayTracingPipelineCreateInfoKHR malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingPipelineCreateInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkRayTracingPipelineCreateInfoKHR calloc(org.lwjgl.system.MemoryStack stack)
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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
@Nullable public static VkPipelineShaderStageCreateInfo.Buffer npStages(long struct)
Unsafe version ofpStages().
-
ngroupCount
public static int ngroupCount(long struct)
Unsafe version ofgroupCount().
-
npGroups
@Nullable public static VkRayTracingShaderGroupCreateInfoKHR.Buffer npGroups(long struct)
Unsafe version ofpGroups().
-
nmaxPipelineRayRecursionDepth
public static int nmaxPipelineRayRecursionDepth(long struct)
Unsafe version ofmaxPipelineRayRecursionDepth().
-
npLibraryInfo
@Nullable public static VkPipelineLibraryCreateInfoKHR npLibraryInfo(long struct)
Unsafe version ofpLibraryInfo().
-
npLibraryInterface
@Nullable public static VkRayTracingPipelineInterfaceCreateInfoKHR npLibraryInterface(long struct)
Unsafe version ofpLibraryInterface().
-
npDynamicState
@Nullable public static VkPipelineDynamicStateCreateInfo npDynamicState(long struct)
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
public static void npStages(long struct, @Nullable VkPipelineShaderStageCreateInfo.Buffer value)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
public static void npLibraryInfo(long struct, @Nullable VkPipelineLibraryCreateInfoKHR value)Unsafe version ofpLibraryInfo.
-
npLibraryInterface
public static void npLibraryInterface(long struct, @Nullable VkRayTracingPipelineInterfaceCreateInfoKHR value)Unsafe version ofpLibraryInterface.
-
npDynamicState
public static void npDynamicState(long struct, @Nullable VkPipelineDynamicStateCreateInfo value)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
-
-