Package org.lwjgl.vulkan
Class VkSetDescriptorBufferOffsetsInfoEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSetDescriptorBufferOffsetsInfoEXT>
org.lwjgl.vulkan.VkSetDescriptorBufferOffsetsInfoEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkSetDescriptorBufferOffsetsInfoEXT
extends org.lwjgl.system.Struct<VkSetDescriptorBufferOffsetsInfoEXT>
implements org.lwjgl.system.NativeResource
Structure specifying descriptor buffer offsets to set in a command buffer.
Description
If stageFlags specifies a subset of all stages corresponding to one or more pipeline bind points, the binding operation still affects all stages corresponding to the given pipeline bind point(s) as if the equivalent original version of this command had been called with the same parameters. For example, specifying a stageFlags value of SHADER_STAGE_VERTEX_BIT | SHADER_STAGE_FRAGMENT_BIT | SHADER_STAGE_COMPUTE_BIT is equivalent to calling the original version of this command once with PIPELINE_BIND_POINT_GRAPHICS and once with PIPELINE_BIND_POINT_COMPUTE.
Valid Usage
- The offsets in
pOffsetsmust be aligned toVkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferOffsetAlignment - The offsets in
pOffsetsmust be small enough such that any descriptor binding referenced bylayoutwithout theDESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BITflag computes a valid address inside the underlyingVkBuffer - The offsets in
pOffsetsmust be small enough such that any location accessed by a shader as a sampler descriptor must be withinVkPhysicalDeviceDescriptorBufferPropertiesEXT::maxSamplerDescriptorBufferRangeof the sampler descriptor buffer binding - The offsets in
pOffsetsmust be small enough such that any location accessed by a shader as a resource descriptor must be withinVkPhysicalDeviceDescriptorBufferPropertiesEXT::maxResourceDescriptorBufferRangeof the resource descriptor buffer binding - Each element of
pBufferIndicesmust be less thanVkPhysicalDeviceDescriptorBufferPropertiesEXT::maxDescriptorBufferBindings - Each element of
pBufferIndicesmust reference a valid descriptor buffer binding set by a previous call toCmdBindDescriptorBuffersEXTincommandBuffer - The sum of
firstSetandsetCountmust be less than or equal toVkPipelineLayoutCreateInfo::setLayoutCountprovided whenlayoutwas created - The
VkDescriptorSetLayoutfor each set fromfirstSettofirstSet + setCountwhenlayoutwas created must have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXTbit set
- If the
dynamicPipelineLayoutfeature is not enabled,layoutmust be a validVkPipelineLayouthandle - If
layoutisNULL_HANDLE, thepNextchain must include a validVkPipelineLayoutCreateInfostructure
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXTpNextmust beNULLor a pointer to a valid instance ofVkPipelineLayoutCreateInfo- The
sTypevalue of each struct in thepNextchain must be unique stageFlagsmust be a valid combination ofVkShaderStageFlagBitsvaluesstageFlagsmust not be 0- If
layoutis notNULL_HANDLE,layoutmust be a validVkPipelineLayouthandle pBufferIndicesmust be a valid pointer to an array ofsetCountuint32_tvaluespOffsetsmust be a valid pointer to an array ofsetCountVkDeviceSizevaluessetCountmust be greater than 0
See Also
CmdSetDescriptorBufferOffsets2EXT
Layout
struct VkSetDescriptorBufferOffsetsInfoEXT {
VkStructureType sType();
void const * pNext();
VkShaderStageFlags stageFlags();
VkPipelineLayout layout();
uint32_t firstSet();
uint32_t setCount();
uint32_t const * pBufferIndices();
VkDeviceSize const * pOffsets();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkSetDescriptorBufferOffsetsInfoEXTstructs.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 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
ConstructorsConstructorDescriptionVkSetDescriptorBufferOffsetsInfoEXT(ByteBuffer container) Creates aVkSetDescriptorBufferOffsetsInfoEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance for the specified memory address.create(long address, int capacity) Create aVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance at the specified memory.static @Nullable VkSetDescriptorBufferOffsetsInfoEXTcreateSafe(long address) static @Nullable VkSetDescriptorBufferOffsetsInfoEXT.BuffercreateSafe(long address, int capacity) intfirstSet()the number of the first set to be bound.firstSet(int value) Sets the specified value to thefirstSet()field.longlayout()aVkPipelineLayoutobject used to program the bindings.layout(long value) Sets the specified value to thelayout()field.malloc()Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated on the specifiedMemoryStack.static intnfirstSet(long struct) Unsafe version offirstSet().static voidnfirstSet(long struct, int value) Unsafe version offirstSet.static longnlayout(long struct) Unsafe version oflayout().static voidnlayout(long struct, long value) Unsafe version oflayout.static IntBuffernpBufferIndices(long struct) Unsafe version ofpBufferIndices.static voidnpBufferIndices(long struct, IntBuffer value) Unsafe version ofpBufferIndices.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static LongBuffernpOffsets(long struct) Unsafe version ofpOffsets.static voidnpOffsets(long struct, LongBuffer value) Unsafe version ofpOffsets.static intnsetCount(long struct) Unsafe version ofsetCount().static voidnsetCount(long struct, int value) Sets the specified value to thesetCountfield of the specifiedstruct.static intnstageFlags(long struct) Unsafe version ofstageFlags().static voidnstageFlags(long struct, int value) Unsafe version ofstageFlags.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.a pointer to an array of indices into the descriptor buffer binding points set byCmdBindDescriptorBuffersEXT.pBufferIndices(IntBuffer value) Sets the address of the specifiedIntBufferto thepBufferIndices()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkPipelineLayoutCreateInfo value) Prepends the specifiedVkPipelineLayoutCreateInfovalue to thepNextchain.pOffsets()a pointer to an array ofVkDeviceSizeoffsets to apply to the bound descriptor buffers.pOffsets(LongBuffer value) Sets the address of the specifiedLongBufferto thepOffsets()field.set(int sType, long pNext, int stageFlags, long layout, int firstSet, int setCount, IntBuffer pBufferIndices, LongBuffer pOffsets) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsetCount()the number of elements in thepBufferIndicesandpOffsetsarrays.setCount(int value) Sets the specified value to thesetCount()field.intsizeof()inta bitmask ofVkShaderStageFlagBitsspecifying the shader stages the descriptor sets will be bound tostageFlags(int value) Sets the specified value to thestageFlags()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXTvalue 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. -
STAGEFLAGS
public static final int STAGEFLAGSThe struct member offsets. -
LAYOUT
public static final int LAYOUTThe struct member offsets. -
FIRSTSET
public static final int FIRSTSETThe struct member offsets. -
SETCOUNT
public static final int SETCOUNTThe struct member offsets. -
PBUFFERINDICES
public static final int PBUFFERINDICESThe struct member offsets. -
POFFSETS
public static final int POFFSETSThe struct member offsets.
-
-
Constructor Details
-
VkSetDescriptorBufferOffsetsInfoEXT
Creates aVkSetDescriptorBufferOffsetsInfoEXTinstance 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<VkSetDescriptorBufferOffsetsInfoEXT>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
stageFlags
public int stageFlags()a bitmask ofVkShaderStageFlagBitsspecifying the shader stages the descriptor sets will be bound to -
layout
public long layout()aVkPipelineLayoutobject used to program the bindings. If thedynamicPipelineLayoutfeature is enabled,layoutcan beNULL_HANDLEand the layout must be specified by chainingVkPipelineLayoutCreateInfostructure off thepNext -
firstSet
public int firstSet()the number of the first set to be bound. -
setCount
public int setCount()the number of elements in thepBufferIndicesandpOffsetsarrays. -
pBufferIndices
a pointer to an array of indices into the descriptor buffer binding points set byCmdBindDescriptorBuffersEXT. -
pOffsets
a pointer to an array ofVkDeviceSizeoffsets to apply to the bound descriptor buffers. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkPipelineLayoutCreateInfovalue to thepNextchain. -
stageFlags
Sets the specified value to thestageFlags()field. -
layout
Sets the specified value to thelayout()field. -
firstSet
Sets the specified value to thefirstSet()field. -
setCount
Sets the specified value to thesetCount()field. -
pBufferIndices
Sets the address of the specifiedIntBufferto thepBufferIndices()field. -
pOffsets
Sets the address of the specifiedLongBufferto thepOffsets()field. -
set
public VkSetDescriptorBufferOffsetsInfoEXT set(int sType, long pNext, int stageFlags, long layout, int firstSet, int setCount, IntBuffer pBufferIndices, LongBuffer pOffsets) 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 newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated withBufferUtils. -
create
Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkSetDescriptorBufferOffsetsInfoEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSetDescriptorBufferOffsetsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkSetDescriptorBufferOffsetsInfoEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkSetDescriptorBufferOffsetsInfoEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSetDescriptorBufferOffsetsInfoEXT.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(). -
nstageFlags
public static int nstageFlags(long struct) Unsafe version ofstageFlags(). -
nlayout
public static long nlayout(long struct) Unsafe version oflayout(). -
nfirstSet
public static int nfirstSet(long struct) Unsafe version offirstSet(). -
nsetCount
public static int nsetCount(long struct) Unsafe version ofsetCount(). -
npBufferIndices
Unsafe version ofpBufferIndices. -
npOffsets
Unsafe version ofpOffsets. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nstageFlags
public static void nstageFlags(long struct, int value) Unsafe version ofstageFlags. -
nlayout
public static void nlayout(long struct, long value) Unsafe version oflayout. -
nfirstSet
public static void nfirstSet(long struct, int value) Unsafe version offirstSet. -
nsetCount
public static void nsetCount(long struct, int value) Sets the specified value to thesetCountfield of the specifiedstruct. -
npBufferIndices
Unsafe version ofpBufferIndices. -
npOffsets
Unsafe version ofpOffsets. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-