Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkPhysicalDeviceDescriptorBufferPropertiesEXT

extends Struct<VkPhysicalDeviceDescriptorBufferPropertiesEXT>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure describing descriptor buffer properties supported by an implementation.
Description

A descriptor binding with type DESCRIPTOR_TYPE_MUTABLE_VALVE has a descriptor size which is implied by the descriptor types included in the VkMutableDescriptorTypeCreateInfoVALVE::pDescriptorTypes list. The descriptor size is equal to the maximum size of any descriptor type included in the pDescriptorTypes list.

As there is no way to request robust and non-robust descriptors separately, or specify robust/non-robust descriptors in the set layout, if robustBufferAccess is enabled then robust descriptors are always used.

If the VkPhysicalDeviceDescriptorBufferPropertiesEXT structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to GetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

Layout


struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
    VkStructureType sType;
    void * pNext;
    VkBool32 combinedImageSamplerDescriptorSingleArray;
    VkBool32 bufferlessPushDescriptors;
    VkBool32 allowSamplerImageViewPostSubmitCreation;
    VkDeviceSize descriptorBufferOffsetAlignment;
    uint32_t maxDescriptorBufferBindings;
    uint32_t maxResourceDescriptorBufferBindings;
    uint32_t maxSamplerDescriptorBufferBindings;
    uint32_t maxEmbeddedImmutableSamplerBindings;
    uint32_t maxEmbeddedImmutableSamplers;
    size_t bufferCaptureReplayDescriptorDataSize;
    size_t imageCaptureReplayDescriptorDataSize;
    size_t imageViewCaptureReplayDescriptorDataSize;
    size_t samplerCaptureReplayDescriptorDataSize;
    size_t accelerationStructureCaptureReplayDescriptorDataSize;
    size_t samplerDescriptorSize;
    size_t combinedImageSamplerDescriptorSize;
    size_t sampledImageDescriptorSize;
    size_t storageImageDescriptorSize;
    size_t uniformTexelBufferDescriptorSize;
    size_t robustUniformTexelBufferDescriptorSize;
    size_t storageTexelBufferDescriptorSize;
    size_t robustStorageTexelBufferDescriptorSize;
    size_t uniformBufferDescriptorSize;
    size_t robustUniformBufferDescriptorSize;
    size_t storageBufferDescriptorSize;
    size_t robustStorageBufferDescriptorSize;
    size_t inputAttachmentDescriptorSize;
    size_t accelerationStructureDescriptorSize;
    VkDeviceSize maxSamplerDescriptorBufferRange;
    VkDeviceSize maxResourceDescriptorBufferRange;
    VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
    VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
    VkDeviceSize descriptorBufferAddressSpaceSize;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
ACCELERATIONSTRUCTUREDESCRIPTORSIZE

The struct member offsets.

public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
ALLOWSAMPLERIMAGEVIEWPOSTSUBMITCREATION

The struct member offsets.

public static final int
BUFFERCAPTUREREPLAYDESCRIPTORDATASIZE

The struct member offsets.

public static final int
BUFFERLESSPUSHDESCRIPTORS

The struct member offsets.

public static final int
public static final int
COMBINEDIMAGESAMPLERDESCRIPTORSIZE

The struct member offsets.

public static final int
DESCRIPTORBUFFERADDRESSSPACESIZE

The struct member offsets.

public static final int
DESCRIPTORBUFFEROFFSETALIGNMENT

The struct member offsets.

public static final int
IMAGECAPTUREREPLAYDESCRIPTORDATASIZE

The struct member offsets.

public static final int
IMAGEVIEWCAPTUREREPLAYDESCRIPTORDATASIZE

The struct member offsets.

public static final int
INPUTATTACHMENTDESCRIPTORSIZE

The struct member offsets.

public static final int
MAXDESCRIPTORBUFFERBINDINGS

The struct member offsets.

public static final int
MAXEMBEDDEDIMMUTABLESAMPLERBINDINGS

The struct member offsets.

public static final int
MAXEMBEDDEDIMMUTABLESAMPLERS

The struct member offsets.

public static final int
MAXRESOURCEDESCRIPTORBUFFERBINDINGS

The struct member offsets.

public static final int
MAXRESOURCEDESCRIPTORBUFFERRANGE

The struct member offsets.

public static final int
MAXSAMPLERDESCRIPTORBUFFERBINDINGS

The struct member offsets.

public static final int
MAXSAMPLERDESCRIPTORBUFFERRANGE

The struct member offsets.

public static final int
PNEXT

The struct member offsets.

public static final int
RESOURCEDESCRIPTORBUFFERADDRESSSPACESIZE

The struct member offsets.

public static final int
ROBUSTSTORAGEBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
ROBUSTSTORAGETEXELBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
ROBUSTUNIFORMBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
ROBUSTUNIFORMTEXELBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
SAMPLEDIMAGEDESCRIPTORSIZE

The struct member offsets.

public static final int
SAMPLERCAPTUREREPLAYDESCRIPTORDATASIZE

The struct member offsets.

public static final int
SAMPLERDESCRIPTORBUFFERADDRESSSPACESIZE

The struct member offsets.

public static final int
SAMPLERDESCRIPTORSIZE

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
STORAGEBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
STORAGEIMAGEDESCRIPTORSIZE

The struct member offsets.

public static final int
STORAGETEXELBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
STYPE

The struct member offsets.

public static final int
UNIFORMBUFFERDESCRIPTORSIZE

The struct member offsets.

public static final int
UNIFORMTEXELBUFFERDESCRIPTORSIZE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
public
VkPhysicalDeviceDescriptorBufferPropertiesEXT(ByteBuffer container)

Creates a VkPhysicalDeviceDescriptorBufferPropertiesEXT instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public long
accelerationStructureCaptureReplayDescriptorDataSize()

indicates the maximum size in bytes of the opaque data used for capture and replay with acceleration structures.

public long
public boolean
allowSamplerImageViewPostSubmitCreation()

indicates that the implementation does not restrict when the VkSampler or VkImageView objects used to retrieve descriptor data can be created in relation to command buffer submission.

public long
bufferCaptureReplayDescriptorDataSize()

indicates the maximum size in bytes of the opaque data used for capture and replay with buffers.

public boolean
bufferlessPushDescriptors()

indicates that the implementation does not require a buffer created with VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT to be bound when using push descriptors.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
calloc()

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance allocated with memCalloc.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance allocated with memCalloc.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public boolean
combinedImageSamplerDescriptorSingleArray()

indicates that the implementation does not require an array of VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptors to be written into a descriptor buffer as an array of image descriptors, immediately followed by an array of sampler descriptors.

public long
combinedImageSamplerDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptor.

protected VkPhysicalDeviceDescriptorBufferPropertiesEXT
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
create()

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance allocated with BufferUtils.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
create(long address)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance for the specified memory address.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance allocated with BufferUtils.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance at the specified memory.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public long
descriptorBufferAddressSpaceSize()

indicates the total size in bytes of the address space available for descriptor buffers created with both BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT and BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT.

public long
descriptorBufferOffsetAlignment()

indicates the required alignment in bytes when setting offsets into the descriptor buffer.

public long
imageCaptureReplayDescriptorDataSize()

indicates the maximum size in bytes of the opaque data used for capture and replay with images.

public long
imageViewCaptureReplayDescriptorDataSize()

indicates the maximum size in bytes of the opaque data used for capture and replay with image views.

public long
inputAttachmentDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_INPUT_ATTACHMENT descriptor.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
malloc()

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance allocated with memAlloc.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance allocated with memAlloc.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT instance allocated on the specified MemoryStack.

public static VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceDescriptorBufferPropertiesEXT.Buffer instance allocated on the specified MemoryStack.

public int
maxDescriptorBufferBindings()

indicates the maximum sum total number of descriptor buffers and embedded immutable sampler sets that can be bound.

public int
maxEmbeddedImmutableSamplerBindings()

indicates the maximum number of embedded immutable sampler sets that can be bound.

public int
maxEmbeddedImmutableSamplers()

indicates the maximum number of unique immutable samplers in descriptor set layouts created with DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, and pipeline layouts created from them, which can simultaneously exist on a device.

public int
maxResourceDescriptorBufferBindings()

indicates the maximum number of resource descriptor buffers that can be bound.

public long
maxResourceDescriptorBufferRange()

indicates the maximum range in bytes from the address of a resource descriptor buffer binding that is accessible to a shader.

public int
maxSamplerDescriptorBufferBindings()

indicates the maximum number of sampler descriptor buffers that can be bound.

public long
maxSamplerDescriptorBufferRange()

indicates the maximum range in bytes from the address of a sampler descriptor buffer binding that is accessible to a shader.

public static long
public static long
public static int
public static long
public static int
public static int
public static long
public static long
public static long
public static long
public static long
public static long
public static int
public static int
public static int
public static int
public static long
public static int
public static long
public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static long
public static long
public static long
public static long
public static long
public static long
public static long
public static long
public static long
nsamplerDescriptorSize(long struct)

Unsafe version of samplerDescriptorSize.

public static long
public static long
public static long
public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public static long
public static long
public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkPhysicalDeviceDescriptorBufferPropertiesEXT
pNext(long value)

Sets the specified value to the pNext field.

public long
resourceDescriptorBufferAddressSpaceSize()

indicates the total size in bytes of the address space available for descriptor buffers created with BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT.

public long
robustStorageBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_STORAGE_BUFFER descriptor if the robustBufferAccess feature is enabled.

public long
robustStorageTexelBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor if the robustBufferAccess feature is enabled.

public long
robustUniformBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_UNIFORM_BUFFER descriptor if the robustBufferAccess feature is enabled.

public long
robustUniformTexelBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor if the robustBufferAccess feature is enabled.

public long
sampledImageDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_SAMPLED_IMAGE descriptor.

public long
samplerCaptureReplayDescriptorDataSize()

indicates the maximum size in bytes of the opaque data used for capture and replay with samplers.

public long
samplerDescriptorBufferAddressSpaceSize()

indicates the total size in bytes of the address space available for descriptor buffers created with BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT.

public long
samplerDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_SAMPLER descriptor.

public VkPhysicalDeviceDescriptorBufferPropertiesEXT
set(int sType, long pNext)

Initializes this struct with the specified values.

public VkPhysicalDeviceDescriptorBufferPropertiesEXT

Returns:

this struct
set
(VkPhysicalDeviceDescriptorBufferPropertiesEXT
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public long
storageBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_STORAGE_BUFFER descriptor.

public long
storageImageDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_STORAGE_IMAGE descriptor.

public long
storageTexelBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor if the robustBufferAccess feature is not enabled.

public int
sType()

a VkStructureType value identifying this structure.

public VkPhysicalDeviceDescriptorBufferPropertiesEXT
sType(int value)

Sets the specified value to the sType field.

public VkPhysicalDeviceDescriptorBufferPropertiesEXT
public long
uniformBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_UNIFORM_BUFFER descriptor.

public long
uniformTexelBufferDescriptorSize()

indicates the size in bytes of a DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor if the robustBufferAccess feature is not enabled.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate