Package org.lwjgl.vulkan
Class VkCopyDescriptorSet
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkCopyDescriptorSet
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkCopyDescriptorSet extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure specifying a copy descriptor set operation.Valid Usage
srcBinding
must be a valid binding withinsrcSet
- The sum of
srcArrayElement
anddescriptorCount
must be less than or equal to the number of array elements in the descriptor set binding specified bysrcBinding
, and all applicable consecutive bindings, as described by consecutive binding updates dstBinding
must be a valid binding withindstSet
- The sum of
dstArrayElement
anddescriptorCount
must be less than or equal to the number of array elements in the descriptor set binding specified bydstBinding
, and all applicable consecutive bindings, as described by consecutive binding updates - The type of
dstBinding
withindstSet
must be equal to the type ofsrcBinding
withinsrcSet
- If
srcSet
is equal todstSet
, then the source and destination ranges of descriptors must not overlap, where the ranges may include array elements from consecutive bindings as described by consecutive binding updates - If the descriptor type of the descriptor set binding specified by
srcBinding
isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
,srcArrayElement
must be an integer multiple of 4 - If the descriptor type of the descriptor set binding specified by
dstBinding
isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
,dstArrayElement
must be an integer multiple of 4 - If the descriptor type of the descriptor set binding specified by either
srcBinding
ordstBinding
isDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
,descriptorCount
must be an integer multiple of 4 - If
srcSet
’s layout was created with theDESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
flag set, thendstSet
’s layout must also have been created with theDESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
flag set - If
srcSet
’s layout was created without theDESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
flag set, thendstSet
’s layout must also have been created without theDESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
flag set - If the descriptor pool from which
srcSet
was allocated was created with theDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
flag set, then the descriptor pool from whichdstSet
was allocated must also have been created with theDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
flag set - If the descriptor pool from which
srcSet
was allocated was created without theDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
flag set, then the descriptor pool from whichdstSet
was allocated must also have been created without theDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
flag set - If the descriptor type of the descriptor set binding specified by
dstBinding
isDESCRIPTOR_TYPE_SAMPLER
, thendstSet
must not have been allocated with a layout that included immutable samplers fordstBinding
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_COPY_DESCRIPTOR_SET
pNext
must beNULL
srcSet
must be a validVkDescriptorSet
handledstSet
must be a validVkDescriptorSet
handle- Both of
dstSet
, andsrcSet
must have been created, allocated, or retrieved from the sameVkDevice
See Also
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.srcSet
–srcSet
,srcBinding
, andsrcArrayElement
are the source set, binding, and array element, respectively. If the descriptor binding identified bysrcSet
andsrcBinding
has a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
thensrcArrayElement
specifies the starting byte offset within the binding to copy from.srcBinding
– seesrcSet
srcArrayElement
– seesrcSet
dstSet
–dstSet
,dstBinding
, anddstArrayElement
are the destination set, binding, and array element, respectively. If the descriptor binding identified bydstSet
anddstBinding
has a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
thendstArrayElement
specifies the starting byte offset within the binding to copy to.dstBinding
– seedstSet
dstArrayElement
– seedstSet
descriptorCount
– the number of descriptors to copy from the source to destination. IfdescriptorCount
is greater than the number of remaining array elements in the source or destination binding, those affect consecutive bindings in a manner similar toVkWriteDescriptorSet
above. If the descriptor binding identified bysrcSet
andsrcBinding
has a descriptor type ofDESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT
thendescriptorCount
specifies the number of bytes to copy and the remaining array elements in the source or destination binding refer to the remaining number of bytes in those.
Layout
struct VkCopyDescriptorSet { VkStructureType sType; void const * pNext; VkDescriptorSet srcSet; uint32_t srcBinding; uint32_t srcArrayElement; VkDescriptorSet dstSet; uint32_t dstBinding; uint32_t dstArrayElement; uint32_t descriptorCount; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkCopyDescriptorSet.Buffer
An array ofVkCopyDescriptorSet
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
DESCRIPTORCOUNT
DSTARRAYELEMENT
DSTBINDING
DSTSET
PNEXTThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
SRCARRAYELEMENT
SRCBINDING
SRCSET
STYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkCopyDescriptorSet(java.nio.ByteBuffer container)
Creates aVkCopyDescriptorSet
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkCopyDescriptorSet
calloc()
Returns a newVkCopyDescriptorSet
instance allocated withmemCalloc
.static VkCopyDescriptorSet.Buffer
calloc(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withmemCalloc
.static VkCopyDescriptorSet
callocStack()
Returns a newVkCopyDescriptorSet
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkCopyDescriptorSet.Buffer
callocStack(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkCopyDescriptorSet.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkCopyDescriptorSet
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkCopyDescriptorSet
create()
Returns a newVkCopyDescriptorSet
instance allocated withBufferUtils
.static VkCopyDescriptorSet.Buffer
create(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withBufferUtils
.static VkCopyDescriptorSet
create(long address)
Returns a newVkCopyDescriptorSet
instance for the specified memory address.static VkCopyDescriptorSet.Buffer
create(long address, int capacity)
Create aVkCopyDescriptorSet.Buffer
instance at the specified memory.static VkCopyDescriptorSet
createSafe(long address)
static VkCopyDescriptorSet.Buffer
createSafe(long address, int capacity)
int
descriptorCount()
Returns the value of thedescriptorCount
field.VkCopyDescriptorSet
descriptorCount(int value)
Sets the specified value to thedescriptorCount
field.int
dstArrayElement()
Returns the value of thedstArrayElement
field.VkCopyDescriptorSet
dstArrayElement(int value)
Sets the specified value to thedstArrayElement
field.int
dstBinding()
Returns the value of thedstBinding
field.VkCopyDescriptorSet
dstBinding(int value)
Sets the specified value to thedstBinding
field.long
dstSet()
Returns the value of thedstSet
field.VkCopyDescriptorSet
dstSet(long value)
Sets the specified value to thedstSet
field.static VkCopyDescriptorSet
malloc()
Returns a newVkCopyDescriptorSet
instance allocated withmemAlloc
.static VkCopyDescriptorSet.Buffer
malloc(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withmemAlloc
.static VkCopyDescriptorSet
mallocStack()
Returns a newVkCopyDescriptorSet
instance allocated on the thread-localMemoryStack
.static VkCopyDescriptorSet.Buffer
mallocStack(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the thread-localMemoryStack
.static VkCopyDescriptorSet.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the specifiedMemoryStack
.static VkCopyDescriptorSet
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet
instance allocated on the specifiedMemoryStack
.static int
ndescriptorCount(long struct)
Unsafe version ofdescriptorCount()
.static void
ndescriptorCount(long struct, int value)
Unsafe version ofdescriptorCount
.static int
ndstArrayElement(long struct)
Unsafe version ofdstArrayElement()
.static void
ndstArrayElement(long struct, int value)
Unsafe version ofdstArrayElement
.static int
ndstBinding(long struct)
Unsafe version ofdstBinding()
.static void
ndstBinding(long struct, int value)
Unsafe version ofdstBinding
.static long
ndstSet(long struct)
Unsafe version ofdstSet()
.static void
ndstSet(long struct, long value)
Unsafe version ofdstSet
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsrcArrayElement(long struct)
Unsafe version ofsrcArrayElement()
.static void
nsrcArrayElement(long struct, int value)
Unsafe version ofsrcArrayElement
.static int
nsrcBinding(long struct)
Unsafe version ofsrcBinding()
.static void
nsrcBinding(long struct, int value)
Unsafe version ofsrcBinding
.static long
nsrcSet(long struct)
Unsafe version ofsrcSet()
.static void
nsrcSet(long struct, long value)
Unsafe version ofsrcSet
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.long
pNext()
Returns the value of thepNext
field.VkCopyDescriptorSet
pNext(long value)
Sets the specified value to thepNext
field.VkCopyDescriptorSet
set(int sType, long pNext, long srcSet, int srcBinding, int srcArrayElement, long dstSet, int dstBinding, int dstArrayElement, int descriptorCount)
Initializes this struct with the specified values.VkCopyDescriptorSet
set(VkCopyDescriptorSet src)
Copies the specified struct data to this struct.int
sizeof()
int
srcArrayElement()
Returns the value of thesrcArrayElement
field.VkCopyDescriptorSet
srcArrayElement(int value)
Sets the specified value to thesrcArrayElement
field.int
srcBinding()
Returns the value of thesrcBinding
field.VkCopyDescriptorSet
srcBinding(int value)
Sets the specified value to thesrcBinding
field.long
srcSet()
Returns the value of thesrcSet
field.VkCopyDescriptorSet
srcSet(long value)
Sets the specified value to thesrcSet
field.int
sType()
Returns the value of thesType
field.VkCopyDescriptorSet
sType(int value)
Sets the specified value to thesType
field.
-
-
-
Constructor Detail
-
VkCopyDescriptorSet
public VkCopyDescriptorSet(java.nio.ByteBuffer container)
Creates aVkCopyDescriptorSet
instance at the current position of the specifiedByteBuffer
container. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
srcSet
public long srcSet()
Returns the value of thesrcSet
field.
-
srcBinding
public int srcBinding()
Returns the value of thesrcBinding
field.
-
srcArrayElement
public int srcArrayElement()
Returns the value of thesrcArrayElement
field.
-
dstSet
public long dstSet()
Returns the value of thedstSet
field.
-
dstBinding
public int dstBinding()
Returns the value of thedstBinding
field.
-
dstArrayElement
public int dstArrayElement()
Returns the value of thedstArrayElement
field.
-
descriptorCount
public int descriptorCount()
Returns the value of thedescriptorCount
field.
-
sType
public VkCopyDescriptorSet sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkCopyDescriptorSet pNext(long value)
Sets the specified value to thepNext
field.
-
srcSet
public VkCopyDescriptorSet srcSet(long value)
Sets the specified value to thesrcSet
field.
-
srcBinding
public VkCopyDescriptorSet srcBinding(int value)
Sets the specified value to thesrcBinding
field.
-
srcArrayElement
public VkCopyDescriptorSet srcArrayElement(int value)
Sets the specified value to thesrcArrayElement
field.
-
dstSet
public VkCopyDescriptorSet dstSet(long value)
Sets the specified value to thedstSet
field.
-
dstBinding
public VkCopyDescriptorSet dstBinding(int value)
Sets the specified value to thedstBinding
field.
-
dstArrayElement
public VkCopyDescriptorSet dstArrayElement(int value)
Sets the specified value to thedstArrayElement
field.
-
descriptorCount
public VkCopyDescriptorSet descriptorCount(int value)
Sets the specified value to thedescriptorCount
field.
-
set
public VkCopyDescriptorSet set(int sType, long pNext, long srcSet, int srcBinding, int srcArrayElement, long dstSet, int dstBinding, int dstArrayElement, int descriptorCount)
Initializes this struct with the specified values.
-
set
public VkCopyDescriptorSet set(VkCopyDescriptorSet src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkCopyDescriptorSet malloc()
Returns a newVkCopyDescriptorSet
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkCopyDescriptorSet calloc()
Returns a newVkCopyDescriptorSet
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkCopyDescriptorSet create()
Returns a newVkCopyDescriptorSet
instance allocated withBufferUtils
.
-
create
public static VkCopyDescriptorSet create(long address)
Returns a newVkCopyDescriptorSet
instance for the specified memory address.
-
createSafe
@Nullable public static VkCopyDescriptorSet createSafe(long address)
-
malloc
public static VkCopyDescriptorSet.Buffer malloc(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkCopyDescriptorSet.Buffer calloc(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkCopyDescriptorSet.Buffer create(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkCopyDescriptorSet.Buffer create(long address, int capacity)
Create aVkCopyDescriptorSet.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkCopyDescriptorSet.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkCopyDescriptorSet mallocStack()
Returns a newVkCopyDescriptorSet
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkCopyDescriptorSet callocStack()
Returns a newVkCopyDescriptorSet
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkCopyDescriptorSet mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkCopyDescriptorSet callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkCopyDescriptorSet.Buffer mallocStack(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkCopyDescriptorSet.Buffer callocStack(int capacity)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkCopyDescriptorSet.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkCopyDescriptorSet.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyDescriptorSet.Buffer
instance allocated on the specifiedMemoryStack
and 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()
.
-
nsrcSet
public static long nsrcSet(long struct)
Unsafe version ofsrcSet()
.
-
nsrcBinding
public static int nsrcBinding(long struct)
Unsafe version ofsrcBinding()
.
-
nsrcArrayElement
public static int nsrcArrayElement(long struct)
Unsafe version ofsrcArrayElement()
.
-
ndstSet
public static long ndstSet(long struct)
Unsafe version ofdstSet()
.
-
ndstBinding
public static int ndstBinding(long struct)
Unsafe version ofdstBinding()
.
-
ndstArrayElement
public static int ndstArrayElement(long struct)
Unsafe version ofdstArrayElement()
.
-
ndescriptorCount
public static int ndescriptorCount(long struct)
Unsafe version ofdescriptorCount()
.
-
nsType
public static void nsType(long struct, int value)
Unsafe version ofsType
.
-
npNext
public static void npNext(long struct, long value)
Unsafe version ofpNext
.
-
nsrcSet
public static void nsrcSet(long struct, long value)
Unsafe version ofsrcSet
.
-
nsrcBinding
public static void nsrcBinding(long struct, int value)
Unsafe version ofsrcBinding
.
-
nsrcArrayElement
public static void nsrcArrayElement(long struct, int value)
Unsafe version ofsrcArrayElement
.
-
ndstSet
public static void ndstSet(long struct, long value)
Unsafe version ofdstSet
.
-
ndstBinding
public static void ndstBinding(long struct, int value)
Unsafe version ofdstBinding
.
-
ndstArrayElement
public static void ndstArrayElement(long struct, int value)
Unsafe version ofdstArrayElement
.
-
ndescriptorCount
public static void ndescriptorCount(long struct, int value)
Unsafe version ofdescriptorCount
.
-
-