Package org.lwjgl.vulkan
Class VkSparseImageMemoryRequirements
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkSparseImageMemoryRequirements
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkSparseImageMemoryRequirements extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure specifying sparse image memory requirements.Member documentation
formatProperties
–formatProperties.aspectMask
is the set of aspects of the image that this sparse memory requirement applies to. This will usually have a single aspect specified. However, depth/stencil images may have depth and stencil data interleaved in the same sparse block, in which case bothIMAGE_ASPECT_DEPTH_BIT
andIMAGE_ASPECT_STENCIL_BIT
would be present.formatProperties.imageGranularity
describes the dimensions of a single bindable sparse image block in texel units. For aspectIMAGE_ASPECT_METADATA_BIT
, all dimensions will be zero. All metadata is located in the mip tail region.formatProperties.flags
is a bitmask ofVkSparseImageFormatFlagBits
:- If
SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
is set the image uses a single mip tail region for all array layers. - If
SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT
is set the dimensions of mip levels must be integer multiples of the corresponding dimensions of the sparse image block for levels not located in the mip tail. - If
SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
is set the image uses non-standard sparse image block dimensions. TheformatProperties.imageGranularity
values do not match the standard sparse image block dimension corresponding to the image’s format.
- If
imageMipTailFirstLod
– the first mip level at which image subresources are included in the mip tail region.imageMipTailSize
– the memory size (in bytes) of the mip tail region. IfformatProperties.flags
containsSPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
, this is the size of the whole mip tail, otherwise this is the size of the mip tail of a single array layer. This value is guaranteed to be a multiple of the sparse block size in bytes.imageMipTailOffset
– the opaque memory offset used withVkSparseImageOpaqueMemoryBindInfo
to bind the mip tail region(s).imageMipTailStride
– the offset stride between each array-layer’s mip tail, ifformatProperties.flags
does not containSPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
(otherwise the value is undefined).
Layout
struct VkSparseImageMemoryRequirements {
VkSparseImageFormatProperties
formatProperties; uint32_t imageMipTailFirstLod; VkDeviceSize imageMipTailSize; VkDeviceSize imageMipTailOffset; VkDeviceSize imageMipTailStride; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkSparseImageMemoryRequirements.Buffer
An array ofVkSparseImageMemoryRequirements
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
FORMATPROPERTIES
IMAGEMIPTAILFIRSTLOD
IMAGEMIPTAILOFFSET
IMAGEMIPTAILSIZE
IMAGEMIPTAILSTRIDEThe struct member offsets.static int
SIZEOF
The struct size in bytes.
-
Constructor Summary
Constructors Constructor Description VkSparseImageMemoryRequirements(java.nio.ByteBuffer container)
Creates aVkSparseImageMemoryRequirements
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 VkSparseImageMemoryRequirements
calloc()
Returns a newVkSparseImageMemoryRequirements
instance allocated withmemCalloc
.static VkSparseImageMemoryRequirements.Buffer
calloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withmemCalloc
.static VkSparseImageMemoryRequirements
callocStack()
Returns a newVkSparseImageMemoryRequirements
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkSparseImageMemoryRequirements.Buffer
callocStack(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkSparseImageMemoryRequirements.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkSparseImageMemoryRequirements
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkSparseImageMemoryRequirements
create()
Returns a newVkSparseImageMemoryRequirements
instance allocated withBufferUtils
.static VkSparseImageMemoryRequirements.Buffer
create(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withBufferUtils
.static VkSparseImageMemoryRequirements
create(long address)
Returns a newVkSparseImageMemoryRequirements
instance for the specified memory address.static VkSparseImageMemoryRequirements.Buffer
create(long address, int capacity)
Create aVkSparseImageMemoryRequirements.Buffer
instance at the specified memory.static VkSparseImageMemoryRequirements
createSafe(long address)
static VkSparseImageMemoryRequirements.Buffer
createSafe(long address, int capacity)
VkSparseImageFormatProperties
formatProperties()
Returns aVkSparseImageFormatProperties
view of theformatProperties
field.int
imageMipTailFirstLod()
Returns the value of theimageMipTailFirstLod
field.long
imageMipTailOffset()
Returns the value of theimageMipTailOffset
field.long
imageMipTailSize()
Returns the value of theimageMipTailSize
field.long
imageMipTailStride()
Returns the value of theimageMipTailStride
field.static VkSparseImageMemoryRequirements
malloc()
Returns a newVkSparseImageMemoryRequirements
instance allocated withmemAlloc
.static VkSparseImageMemoryRequirements.Buffer
malloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withmemAlloc
.static VkSparseImageMemoryRequirements
mallocStack()
Returns a newVkSparseImageMemoryRequirements
instance allocated on the thread-localMemoryStack
.static VkSparseImageMemoryRequirements.Buffer
mallocStack(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the thread-localMemoryStack
.static VkSparseImageMemoryRequirements.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the specifiedMemoryStack
.static VkSparseImageMemoryRequirements
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements
instance allocated on the specifiedMemoryStack
.static VkSparseImageFormatProperties
nformatProperties(long struct)
Unsafe version offormatProperties()
.static int
nimageMipTailFirstLod(long struct)
Unsafe version ofimageMipTailFirstLod()
.static long
nimageMipTailOffset(long struct)
Unsafe version ofimageMipTailOffset()
.static long
nimageMipTailSize(long struct)
Unsafe version ofimageMipTailSize()
.static long
nimageMipTailStride(long struct)
Unsafe version ofimageMipTailStride()
.int
sizeof()
-
-
-
Constructor Detail
-
VkSparseImageMemoryRequirements
public VkSparseImageMemoryRequirements(java.nio.ByteBuffer container)
Creates aVkSparseImageMemoryRequirements
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
-
formatProperties
public VkSparseImageFormatProperties formatProperties()
Returns aVkSparseImageFormatProperties
view of theformatProperties
field.
-
imageMipTailFirstLod
public int imageMipTailFirstLod()
Returns the value of theimageMipTailFirstLod
field.
-
imageMipTailSize
public long imageMipTailSize()
Returns the value of theimageMipTailSize
field.
-
imageMipTailOffset
public long imageMipTailOffset()
Returns the value of theimageMipTailOffset
field.
-
imageMipTailStride
public long imageMipTailStride()
Returns the value of theimageMipTailStride
field.
-
malloc
public static VkSparseImageMemoryRequirements malloc()
Returns a newVkSparseImageMemoryRequirements
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkSparseImageMemoryRequirements calloc()
Returns a newVkSparseImageMemoryRequirements
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkSparseImageMemoryRequirements create()
Returns a newVkSparseImageMemoryRequirements
instance allocated withBufferUtils
.
-
create
public static VkSparseImageMemoryRequirements create(long address)
Returns a newVkSparseImageMemoryRequirements
instance for the specified memory address.
-
createSafe
@Nullable public static VkSparseImageMemoryRequirements createSafe(long address)
-
malloc
public static VkSparseImageMemoryRequirements.Buffer malloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkSparseImageMemoryRequirements.Buffer calloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkSparseImageMemoryRequirements.Buffer create(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkSparseImageMemoryRequirements.Buffer create(long address, int capacity)
Create aVkSparseImageMemoryRequirements.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkSparseImageMemoryRequirements.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkSparseImageMemoryRequirements mallocStack()
Returns a newVkSparseImageMemoryRequirements
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkSparseImageMemoryRequirements callocStack()
Returns a newVkSparseImageMemoryRequirements
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkSparseImageMemoryRequirements mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkSparseImageMemoryRequirements callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkSparseImageMemoryRequirements.Buffer mallocStack(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkSparseImageMemoryRequirements.Buffer callocStack(int capacity)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkSparseImageMemoryRequirements.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkSparseImageMemoryRequirements.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirements.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nformatProperties
public static VkSparseImageFormatProperties nformatProperties(long struct)
Unsafe version offormatProperties()
.
-
nimageMipTailFirstLod
public static int nimageMipTailFirstLod(long struct)
Unsafe version ofimageMipTailFirstLod()
.
-
nimageMipTailSize
public static long nimageMipTailSize(long struct)
Unsafe version ofimageMipTailSize()
.
-
nimageMipTailOffset
public static long nimageMipTailOffset(long struct)
Unsafe version ofimageMipTailOffset()
.
-
nimageMipTailStride
public static long nimageMipTailStride(long struct)
Unsafe version ofimageMipTailStride()
.
-
-