Package org.lwjgl.vulkan
Class VkPushConstantRange
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPushConstantRange
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkPushConstantRange extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure specifying a push constant range.Valid Usage
offset
must be less thanVkPhysicalDeviceLimits
::maxPushConstantsSize
offset
must be a multiple of 4size
must be greater than 0size
must be a multiple of 4size
must be less than or equal toVkPhysicalDeviceLimits
::maxPushConstantsSize
minusoffset
Valid Usage (Implicit)
stageFlags
must be a valid combination ofVkShaderStageFlagBits
valuesstageFlags
must not be 0
See Also
Member documentation
stageFlags
– a set of stage flags describing the shader stages that will access a range of push constants. If a particular stage is not included in the range, then accessing members of that range of push constants from the corresponding shader stage will return undefined values.offset
–offset
andsize
are the start offset and size, respectively, consumed by the range. Bothoffset
andsize
are in units of bytes and must be a multiple of 4. The layout of the push constant variables is specified in the shader.size
– seeoffset
Layout
struct VkPushConstantRange { VkShaderStageFlags stageFlags; uint32_t offset; uint32_t size; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkPushConstantRange.Buffer
An array ofVkPushConstantRange
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
OFFSET
SIZEThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STAGEFLAGS
The struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPushConstantRange(java.nio.ByteBuffer container)
Creates aVkPushConstantRange
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 VkPushConstantRange
calloc()
Returns a newVkPushConstantRange
instance allocated withmemCalloc
.static VkPushConstantRange.Buffer
calloc(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withmemCalloc
.static VkPushConstantRange
callocStack()
Returns a newVkPushConstantRange
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPushConstantRange.Buffer
callocStack(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPushConstantRange.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPushConstantRange
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPushConstantRange
create()
Returns a newVkPushConstantRange
instance allocated withBufferUtils
.static VkPushConstantRange.Buffer
create(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withBufferUtils
.static VkPushConstantRange
create(long address)
Returns a newVkPushConstantRange
instance for the specified memory address.static VkPushConstantRange.Buffer
create(long address, int capacity)
Create aVkPushConstantRange.Buffer
instance at the specified memory.static VkPushConstantRange
createSafe(long address)
static VkPushConstantRange.Buffer
createSafe(long address, int capacity)
static VkPushConstantRange
malloc()
Returns a newVkPushConstantRange
instance allocated withmemAlloc
.static VkPushConstantRange.Buffer
malloc(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withmemAlloc
.static VkPushConstantRange
mallocStack()
Returns a newVkPushConstantRange
instance allocated on the thread-localMemoryStack
.static VkPushConstantRange.Buffer
mallocStack(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated on the thread-localMemoryStack
.static VkPushConstantRange.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange.Buffer
instance allocated on the specifiedMemoryStack
.static VkPushConstantRange
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange
instance allocated on the specifiedMemoryStack
.static int
noffset(long struct)
Unsafe version ofoffset()
.static void
noffset(long struct, int value)
Unsafe version ofoffset
.static int
nsize(long struct)
Unsafe version ofsize()
.static void
nsize(long struct, int value)
Unsafe version ofsize
.static int
nstageFlags(long struct)
Unsafe version ofstageFlags()
.static void
nstageFlags(long struct, int value)
Unsafe version ofstageFlags
.int
offset()
Returns the value of theoffset
field.VkPushConstantRange
offset(int value)
Sets the specified value to theoffset
field.VkPushConstantRange
set(int stageFlags, int offset, int size)
Initializes this struct with the specified values.VkPushConstantRange
set(VkPushConstantRange src)
Copies the specified struct data to this struct.int
size()
Returns the value of thesize
field.VkPushConstantRange
size(int value)
Sets the specified value to thesize
field.int
sizeof()
int
stageFlags()
Returns the value of thestageFlags
field.VkPushConstantRange
stageFlags(int value)
Sets the specified value to thestageFlags
field.
-
-
-
Constructor Detail
-
VkPushConstantRange
public VkPushConstantRange(java.nio.ByteBuffer container)
Creates aVkPushConstantRange
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
-
stageFlags
public int stageFlags()
Returns the value of thestageFlags
field.
-
offset
public int offset()
Returns the value of theoffset
field.
-
size
public int size()
Returns the value of thesize
field.
-
stageFlags
public VkPushConstantRange stageFlags(int value)
Sets the specified value to thestageFlags
field.
-
offset
public VkPushConstantRange offset(int value)
Sets the specified value to theoffset
field.
-
size
public VkPushConstantRange size(int value)
Sets the specified value to thesize
field.
-
set
public VkPushConstantRange set(int stageFlags, int offset, int size)
Initializes this struct with the specified values.
-
set
public VkPushConstantRange set(VkPushConstantRange src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkPushConstantRange malloc()
Returns a newVkPushConstantRange
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkPushConstantRange calloc()
Returns a newVkPushConstantRange
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkPushConstantRange create()
Returns a newVkPushConstantRange
instance allocated withBufferUtils
.
-
create
public static VkPushConstantRange create(long address)
Returns a newVkPushConstantRange
instance for the specified memory address.
-
createSafe
@Nullable public static VkPushConstantRange createSafe(long address)
-
malloc
public static VkPushConstantRange.Buffer malloc(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkPushConstantRange.Buffer calloc(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPushConstantRange.Buffer create(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPushConstantRange.Buffer create(long address, int capacity)
Create aVkPushConstantRange.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkPushConstantRange.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkPushConstantRange mallocStack()
Returns a newVkPushConstantRange
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkPushConstantRange callocStack()
Returns a newVkPushConstantRange
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkPushConstantRange mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkPushConstantRange callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkPushConstantRange.Buffer mallocStack(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkPushConstantRange.Buffer callocStack(int capacity)
Returns a newVkPushConstantRange.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkPushConstantRange.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkPushConstantRange.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPushConstantRange.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nstageFlags
public static int nstageFlags(long struct)
Unsafe version ofstageFlags()
.
-
noffset
public static int noffset(long struct)
Unsafe version ofoffset()
.
-
nsize
public static int nsize(long struct)
Unsafe version ofsize()
.
-
nstageFlags
public static void nstageFlags(long struct, int value)
Unsafe version ofstageFlags
.
-
noffset
public static void noffset(long struct, int value)
Unsafe version ofoffset
.
-
nsize
public static void nsize(long struct, int value)
Unsafe version ofsize
.
-
-