Class VkPipelineRobustnessCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkPipelineRobustnessCreateInfoEXT
Description
Resources bound as DESCRIPTOR_TYPE_MUTABLE_EXT will have the robustness behavior that covers its active descriptor type.
The scope of the effect of VkPipelineRobustnessCreateInfo depends on which structure’s pNext chain it is included in.
VkGraphicsPipelineCreateInfo,VkRayTracingPipelineCreateInfoKHR,VkComputePipelineCreateInfo: The robustness behavior described byVkPipelineRobustnessCreateInfoapplies to all accesses through this pipelineVkPipelineShaderStageCreateInfo: The robustness behavior described byVkPipelineRobustnessCreateInfoapplies to all accesses emanating from the shader code of this shader stage
If VkPipelineRobustnessCreateInfo is specified for both a pipeline and a pipeline stage, the VkPipelineRobustnessCreateInfo specified for the pipeline stage will take precedence.
When VkPipelineRobustnessCreateInfo is specified for a pipeline, it only affects the subset of the pipeline that is specified by the create info, as opposed to subsets linked from pipeline libraries. For VkGraphicsPipelineCreateInfo, that subset is specified by VkGraphicsPipelineLibraryCreateInfoEXT::flags. For VkRayTracingPipelineCreateInfoKHR, that subset is specified by the specific stages in VkRayTracingPipelineCreateInfoKHR::pStages.
Valid Usage
- If the
pipelineRobustnessfeature is not enabled,storageBuffersmust bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT - If the
pipelineRobustnessfeature is not enabled,uniformBuffersmust bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT - If the
pipelineRobustnessfeature is not enabled,vertexInputsmust bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT - If the
pipelineRobustnessfeature is not enabled,imagesmust bePIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT - If the
robustImageAccessfeature is not supported,imagesmust not bePIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS - If the
robustBufferAccess2feature is not supported,storageBuffersmust not bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 - If the
robustBufferAccess2feature is not supported,uniformBuffersmust not bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 - If the
robustBufferAccess2feature is not supported,vertexInputsmust not bePIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2 - If the
robustImageAccess2feature is not supported,imagesmust not bePIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFOstorageBuffersmust be a validVkPipelineRobustnessBufferBehaviorvalueuniformBuffersmust be a validVkPipelineRobustnessBufferBehaviorvaluevertexInputsmust be a validVkPipelineRobustnessBufferBehaviorvalueimagesmust be a validVkPipelineRobustnessImageBehaviorvalue
Layout
struct VkPipelineRobustnessCreateInfo {
VkStructureType sType();
void const * pNext();
VkPipelineRobustnessBufferBehavior storageBuffers();
VkPipelineRobustnessBufferBehavior uniformBuffers();
VkPipelineRobustnessBufferBehavior vertexInputs();
VkPipelineRobustnessImageBehavior images();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkPipelineRobustnessCreateInfostructs.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 size 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.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkPipelineRobustnessCreateInfo(ByteBuffer container) Creates aVkPipelineRobustnessCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkPipelineRobustnessCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkPipelineRobustnessCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkPipelineRobustnessCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkPipelineRobustnessCreateInfo.Bufferinstance at the specified memory.static @Nullable VkPipelineRobustnessCreateInfocreateSafe(long address) static @Nullable VkPipelineRobustnessCreateInfo.BuffercreateSafe(long address, int capacity) intimages()describes the behavior of out of bounds accesses made to resources bound as:DESCRIPTOR_TYPE_SAMPLED_IMAGEDESCRIPTOR_TYPE_STORAGE_IMAGEimages(int value) Sets the specified value to theimages()field.malloc()Returns a newVkPipelineRobustnessCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfoinstance allocated on the specifiedMemoryStack.static intnimages(long struct) Unsafe version ofimages().static voidnimages(long struct, int value) Unsafe version ofimages.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnstorageBuffers(long struct) Unsafe version ofstorageBuffers().static voidnstorageBuffers(long struct, int value) Unsafe version ofstorageBuffers.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnuniformBuffers(long struct) Unsafe version ofuniformBuffers().static voidnuniformBuffers(long struct, int value) Unsafe version ofuniformBuffers.static intnvertexInputs(long struct) Unsafe version ofvertexInputs().static voidnvertexInputs(long struct, int value) Unsafe version ofvertexInputs.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int storageBuffers, int uniformBuffers, int vertexInputs, int images) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsets the behavior of out of bounds accesses made to resources bound as:DESCRIPTOR_TYPE_STORAGE_BUFFERDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERDESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICstorageBuffers(int value) Sets the specified value to thestorageBuffers()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFOvalue to thesType()field.intdescribes the behavior of out of bounds accesses made to resources bound as:DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERDESCRIPTOR_TYPE_UNIFORM_BUFFERDESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCKuniformBuffers(int value) Sets the specified value to theuniformBuffers()field.intdescribes the behavior of out of bounds accesses made to vertex input attributesvertexInputs(int value) Sets the specified value to thevertexInputs()field.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. -
STORAGEBUFFERS
public static final int STORAGEBUFFERSThe struct member offsets. -
UNIFORMBUFFERS
public static final int UNIFORMBUFFERSThe struct member offsets. -
VERTEXINPUTS
public static final int VERTEXINPUTSThe struct member offsets. -
IMAGES
public static final int IMAGESThe struct member offsets.
-
-
Constructor Details
-
VkPipelineRobustnessCreateInfo
Creates aVkPipelineRobustnessCreateInfoinstance 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<VkPipelineRobustnessCreateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
storageBuffers
public int storageBuffers()sets the behavior of out of bounds accesses made to resources bound as: -
uniformBuffers
public int uniformBuffers()describes the behavior of out of bounds accesses made to resources bound as: -
vertexInputs
public int vertexInputs()describes the behavior of out of bounds accesses made to vertex input attributes -
images
public int images()describes the behavior of out of bounds accesses made to resources bound as: -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
storageBuffers
Sets the specified value to thestorageBuffers()field. -
uniformBuffers
Sets the specified value to theuniformBuffers()field. -
vertexInputs
Sets the specified value to thevertexInputs()field. -
images
Sets the specified value to theimages()field. -
set
public VkPipelineRobustnessCreateInfo set(int sType, long pNext, int storageBuffers, int uniformBuffers, int vertexInputs, int images) 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 newVkPipelineRobustnessCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPipelineRobustnessCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPipelineRobustnessCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkPipelineRobustnessCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkPipelineRobustnessCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkPipelineRobustnessCreateInfo.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkPipelineRobustnessCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkPipelineRobustnessCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkPipelineRobustnessCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkPipelineRobustnessCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineRobustnessCreateInfo.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(). -
nstorageBuffers
public static int nstorageBuffers(long struct) Unsafe version ofstorageBuffers(). -
nuniformBuffers
public static int nuniformBuffers(long struct) Unsafe version ofuniformBuffers(). -
nvertexInputs
public static int nvertexInputs(long struct) Unsafe version ofvertexInputs(). -
nimages
public static int nimages(long struct) Unsafe version ofimages(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nstorageBuffers
public static void nstorageBuffers(long struct, int value) Unsafe version ofstorageBuffers. -
nuniformBuffers
public static void nuniformBuffers(long struct, int value) Unsafe version ofuniformBuffers. -
nvertexInputs
public static void nvertexInputs(long struct, int value) Unsafe version ofvertexInputs. -
nimages
public static void nimages(long struct, int value) Unsafe version ofimages.
-