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.NativeResourceStructure specifying sparse image memory requirements.Member documentation
formatProperties–formatProperties.aspectMaskis 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_BITandIMAGE_ASPECT_STENCIL_BITwould be present.formatProperties.imageGranularitydescribes 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.flagsis a bitmask ofVkSparseImageFormatFlagBits:- If
SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BITis set the image uses a single mip tail region for all array layers. - If
SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BITis 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_BITis set the image uses non-standard sparse image block dimensions. TheformatProperties.imageGranularityvalues 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.flagscontainsSPARSE_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 withVkSparseImageOpaqueMemoryBindInfoto bind the mip tail region(s).imageMipTailStride– the offset stride between each array-layer’s mip tail, ifformatProperties.flagsdoes not containSPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT(otherwise the value is undefined).
Layout
struct VkSparseImageMemoryRequirements {VkSparseImageFormatPropertiesformatProperties; uint32_t imageMipTailFirstLod; VkDeviceSize imageMipTailSize; VkDeviceSize imageMipTailOffset; VkDeviceSize imageMipTailStride; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkSparseImageMemoryRequirements.BufferAn array ofVkSparseImageMemoryRequirementsstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intFORMATPROPERTIES
IMAGEMIPTAILFIRSTLOD
IMAGEMIPTAILOFFSET
IMAGEMIPTAILSIZE
IMAGEMIPTAILSTRIDEThe struct member offsets.static intSIZEOFThe struct size in bytes.
-
Constructor Summary
Constructors Constructor Description VkSparseImageMemoryRequirements(java.nio.ByteBuffer container)Creates aVkSparseImageMemoryRequirementsinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkSparseImageMemoryRequirementscalloc()Returns a newVkSparseImageMemoryRequirementsinstance allocated withmemCalloc.static VkSparseImageMemoryRequirements.Buffercalloc(int capacity)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withmemCalloc.static VkSparseImageMemoryRequirementscallocStack()Returns a newVkSparseImageMemoryRequirementsinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSparseImageMemoryRequirements.BuffercallocStack(int capacity)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkSparseImageMemoryRequirements.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSparseImageMemoryRequirementscallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSparseImageMemoryRequirementsinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSparseImageMemoryRequirementscreate()Returns a newVkSparseImageMemoryRequirementsinstance allocated withBufferUtils.static VkSparseImageMemoryRequirements.Buffercreate(int capacity)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withBufferUtils.static VkSparseImageMemoryRequirementscreate(long address)Returns a newVkSparseImageMemoryRequirementsinstance for the specified memory address.static VkSparseImageMemoryRequirements.Buffercreate(long address, int capacity)Create aVkSparseImageMemoryRequirements.Bufferinstance at the specified memory.static VkSparseImageMemoryRequirementscreateSafe(long address)static VkSparseImageMemoryRequirements.BuffercreateSafe(long address, int capacity)VkSparseImageFormatPropertiesformatProperties()Returns aVkSparseImageFormatPropertiesview of theformatPropertiesfield.intimageMipTailFirstLod()Returns the value of theimageMipTailFirstLodfield.longimageMipTailOffset()Returns the value of theimageMipTailOffsetfield.longimageMipTailSize()Returns the value of theimageMipTailSizefield.longimageMipTailStride()Returns the value of theimageMipTailStridefield.static VkSparseImageMemoryRequirementsmalloc()Returns a newVkSparseImageMemoryRequirementsinstance allocated withmemAlloc.static VkSparseImageMemoryRequirements.Buffermalloc(int capacity)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withmemAlloc.static VkSparseImageMemoryRequirementsmallocStack()Returns a newVkSparseImageMemoryRequirementsinstance allocated on the thread-localMemoryStack.static VkSparseImageMemoryRequirements.BuffermallocStack(int capacity)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated on the thread-localMemoryStack.static VkSparseImageMemoryRequirements.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated on the specifiedMemoryStack.static VkSparseImageMemoryRequirementsmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkSparseImageMemoryRequirementsinstance allocated on the specifiedMemoryStack.static VkSparseImageFormatPropertiesnformatProperties(long struct)Unsafe version offormatProperties().static intnimageMipTailFirstLod(long struct)Unsafe version ofimageMipTailFirstLod().static longnimageMipTailOffset(long struct)Unsafe version ofimageMipTailOffset().static longnimageMipTailSize(long struct)Unsafe version ofimageMipTailSize().static longnimageMipTailStride(long struct)Unsafe version ofimageMipTailStride().intsizeof()
-
-
-
Constructor Detail
-
VkSparseImageMemoryRequirements
public VkSparseImageMemoryRequirements(java.nio.ByteBuffer container)
Creates aVkSparseImageMemoryRequirementsinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
formatProperties
public VkSparseImageFormatProperties formatProperties()
Returns aVkSparseImageFormatPropertiesview of theformatPropertiesfield.
-
imageMipTailFirstLod
public int imageMipTailFirstLod()
Returns the value of theimageMipTailFirstLodfield.
-
imageMipTailSize
public long imageMipTailSize()
Returns the value of theimageMipTailSizefield.
-
imageMipTailOffset
public long imageMipTailOffset()
Returns the value of theimageMipTailOffsetfield.
-
imageMipTailStride
public long imageMipTailStride()
Returns the value of theimageMipTailStridefield.
-
malloc
public static VkSparseImageMemoryRequirements malloc()
Returns a newVkSparseImageMemoryRequirementsinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkSparseImageMemoryRequirements calloc()
Returns a newVkSparseImageMemoryRequirementsinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkSparseImageMemoryRequirements create()
Returns a newVkSparseImageMemoryRequirementsinstance allocated withBufferUtils.
-
create
public static VkSparseImageMemoryRequirements create(long address)
Returns a newVkSparseImageMemoryRequirementsinstance for the specified memory address.
-
createSafe
@Nullable public static VkSparseImageMemoryRequirements createSafe(long address)
-
malloc
public static VkSparseImageMemoryRequirements.Buffer malloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkSparseImageMemoryRequirements.Buffer calloc(int capacity)
Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkSparseImageMemoryRequirements.Buffer create(int capacity)
Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkSparseImageMemoryRequirements.Buffer create(long address, int capacity)
Create aVkSparseImageMemoryRequirements.Bufferinstance 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 newVkSparseImageMemoryRequirementsinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkSparseImageMemoryRequirements callocStack()
Returns a newVkSparseImageMemoryRequirementsinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkSparseImageMemoryRequirements mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirementsinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkSparseImageMemoryRequirements callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkSparseImageMemoryRequirementsinstance allocated on the specifiedMemoryStackand 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.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkSparseImageMemoryRequirements.Buffer callocStack(int capacity)
Returns a newVkSparseImageMemoryRequirements.Bufferinstance allocated on the thread-localMemoryStackand 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.Bufferinstance 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.Bufferinstance allocated on the specifiedMemoryStackand 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().
-
-