Package org.lwjgl.vulkan
Class VkDescriptorDataEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkDescriptorDataEXT>
org.lwjgl.vulkan.VkDescriptorDataEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkDescriptorDataEXT
extends org.lwjgl.system.Struct<VkDescriptorDataEXT>
implements org.lwjgl.system.NativeResource
Structure specifying descriptor data.
Description
If the nullDescriptor feature is enabled, pSampledImage, pStorageImage, pUniformTexelBuffer, pStorageTexelBuffer, pUniformBuffer, and pStorageBuffer can each be NULL. Loads from a null descriptor return zero values and stores and atomics to a null descriptor are discarded.
If the nullDescriptor feature is enabled, accelerationStructure can be 0. A null acceleration structure descriptor results in the miss shader being invoked.
Valid Usage
- If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_UNIFORM_BUFFER, andpUniformBuffer→addressis the address of a non-sparse buffer, then that buffer must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_STORAGE_BUFFER, andpStorageBuffer→addressis the address of a non-sparse buffer, then that buffer must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, andpUniformTexelBuffer→addressis the address of a non-sparse buffer, then that buffer must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, andpStorageTexelBuffer→addressis the address of a non-sparse buffer, then that buffer must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and thenullDescriptorfeature is not enabled,pCombinedImageSampler→imageViewmust not beNULL_HANDLE - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_SAMPLED_IMAGE, and thenullDescriptorfeature is not enabled,pSampledImagemust not beNULLandpSampledImage→imageViewmust not beNULL_HANDLE - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_STORAGE_IMAGE, and thenullDescriptorfeature is not enabled,pStorageImagemust not beNULLandpStorageImage→imageViewmust not beNULL_HANDLE - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, and thenullDescriptorfeature is not enabled,pUniformTexelBuffermust not beNULL - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, and thenullDescriptorfeature is not enabled,pStorageTexelBuffermust not beNULL - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_UNIFORM_BUFFER, and thenullDescriptorfeature is not enabled,pUniformBuffermust not beNULL - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_STORAGE_BUFFER, and thenullDescriptorfeature is not enabled,pStorageBuffermust not beNULL - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, and thenullDescriptorfeature is not enabled,accelerationStructuremust not be 0 - If
VkDescriptorGetInfoEXT:typeisDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, and thenullDescriptorfeature is not enabled,accelerationStructuremust not be 0
See Also
VkDescriptorAddressInfoEXT, VkDescriptorGetInfoEXT, VkDescriptorImageInfo
Layout
union VkDescriptorDataEXT {
VkSampler const * pSampler(int);
VkDescriptorImageInfo const * pCombinedImageSampler();
VkDescriptorImageInfo const * pInputAttachmentImage();
VkDescriptorImageInfo const * pSampledImage();
VkDescriptorImageInfo const * pStorageImage();
VkDescriptorAddressInfoEXT const * pUniformTexelBuffer();
VkDescriptorAddressInfoEXT const * pStorageTexelBuffer();
VkDescriptorAddressInfoEXT const * pUniformBuffer();
VkDescriptorAddressInfoEXT const * pStorageBuffer();
VkDeviceAddress accelerationStructure();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct member offsets.static final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkDescriptorDataEXT(ByteBuffer container) Creates aVkDescriptorDataEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongthe address of aVkAccelerationStructureKHRspecifying the parameters of aDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHRdescriptor , or aVkAccelerationStructureNVhandle specifying the parameters of aDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVdescriptor.accelerationStructure(long value) Sets the specified value to theaccelerationStructure()field.static VkDescriptorDataEXTcalloc()Returns a newVkDescriptorDataEXTinstance allocated withmemCalloc.static VkDescriptorDataEXT.Buffercalloc(int capacity) Returns a newVkDescriptorDataEXT.Bufferinstance allocated withmemCalloc.static VkDescriptorDataEXT.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorDataEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorDataEXTcalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorDataEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkDescriptorDataEXTcreate()Returns a newVkDescriptorDataEXTinstance allocated withBufferUtils.static VkDescriptorDataEXT.Buffercreate(int capacity) Returns a newVkDescriptorDataEXT.Bufferinstance allocated withBufferUtils.static VkDescriptorDataEXTcreate(long address) Returns a newVkDescriptorDataEXTinstance for the specified memory address.static VkDescriptorDataEXT.Buffercreate(long address, int capacity) Create aVkDescriptorDataEXT.Bufferinstance at the specified memory.static @Nullable VkDescriptorDataEXTcreateSafe(long address) static @Nullable VkDescriptorDataEXT.BuffercreateSafe(long address, int capacity) static VkDescriptorDataEXTmalloc()Returns a newVkDescriptorDataEXTinstance allocated withmemAlloc.static VkDescriptorDataEXT.Buffermalloc(int capacity) Returns a newVkDescriptorDataEXT.Bufferinstance allocated withmemAlloc.static VkDescriptorDataEXT.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorDataEXT.Bufferinstance allocated on the specifiedMemoryStack.static VkDescriptorDataEXTmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDescriptorDataEXTinstance allocated on the specifiedMemoryStack.static longnaccelerationStructure(long struct) Unsafe version ofaccelerationStructure().static voidnaccelerationStructure(long struct, long value) Unsafe version ofaccelerationStructure.static VkDescriptorImageInfonpCombinedImageSampler(long struct) Unsafe version ofpCombinedImageSampler().static voidnpCombinedImageSampler(long struct, VkDescriptorImageInfo value) Unsafe version ofpCombinedImageSampler.static VkDescriptorImageInfonpInputAttachmentImage(long struct) Unsafe version ofpInputAttachmentImage().static voidnpInputAttachmentImage(long struct, VkDescriptorImageInfo value) Unsafe version ofpInputAttachmentImage.static @Nullable VkDescriptorImageInfonpSampledImage(long struct) Unsafe version ofpSampledImage().static voidnpSampledImage(long struct, @Nullable VkDescriptorImageInfo value) Unsafe version ofpSampledImage.static LongBuffernpSampler(long struct, int capacity) Unsafe version ofpSampler.static voidnpSampler(long struct, LongBuffer value) Unsafe version ofpSampler.static @Nullable VkDescriptorAddressInfoEXTnpStorageBuffer(long struct) Unsafe version ofpStorageBuffer().static voidnpStorageBuffer(long struct, @Nullable VkDescriptorAddressInfoEXT value) Unsafe version ofpStorageBuffer.static @Nullable VkDescriptorImageInfonpStorageImage(long struct) Unsafe version ofpStorageImage().static voidnpStorageImage(long struct, @Nullable VkDescriptorImageInfo value) Unsafe version ofpStorageImage.static @Nullable VkDescriptorAddressInfoEXTnpStorageTexelBuffer(long struct) Unsafe version ofpStorageTexelBuffer().static voidnpStorageTexelBuffer(long struct, @Nullable VkDescriptorAddressInfoEXT value) Unsafe version ofpStorageTexelBuffer.static @Nullable VkDescriptorAddressInfoEXTnpUniformBuffer(long struct) Unsafe version ofpUniformBuffer().static voidnpUniformBuffer(long struct, @Nullable VkDescriptorAddressInfoEXT value) Unsafe version ofpUniformBuffer.static @Nullable VkDescriptorAddressInfoEXTnpUniformTexelBuffer(long struct) Unsafe version ofpUniformTexelBuffer().static voidnpUniformTexelBuffer(long struct, @Nullable VkDescriptorAddressInfoEXT value) Unsafe version ofpUniformTexelBuffer.a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERdescriptor.Sets the address of the specifiedVkDescriptorImageInfoto thepCombinedImageSampler()field.a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_INPUT_ATTACHMENTdescriptor.Sets the address of the specifiedVkDescriptorImageInfoto thepInputAttachmentImage()field.@Nullable VkDescriptorImageInfoa pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_SAMPLED_IMAGEdescriptor.pSampledImage(@Nullable VkDescriptorImageInfo value) Sets the address of the specifiedVkDescriptorImageInfoto thepSampledImage()field.pSampler(int capacity) pSampler(LongBuffer value) Sets the address of the specifiedLongBufferto thepSampler(int)field.@Nullable VkDescriptorAddressInfoEXTa pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_BUFFERdescriptor.pStorageBuffer(@Nullable VkDescriptorAddressInfoEXT value) Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepStorageBuffer()field.@Nullable VkDescriptorImageInfoa pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_IMAGEdescriptor.pStorageImage(@Nullable VkDescriptorImageInfo value) Sets the address of the specifiedVkDescriptorImageInfoto thepStorageImage()field.@Nullable VkDescriptorAddressInfoEXTa pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERdescriptor.pStorageTexelBuffer(@Nullable VkDescriptorAddressInfoEXT value) Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepStorageTexelBuffer()field.@Nullable VkDescriptorAddressInfoEXTa pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_UNIFORM_BUFFERdescriptor.pUniformBuffer(@Nullable VkDescriptorAddressInfoEXT value) Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepUniformBuffer()field.@Nullable VkDescriptorAddressInfoEXTa pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERdescriptor.pUniformTexelBuffer(@Nullable VkDescriptorAddressInfoEXT value) Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepUniformTexelBuffer()field.set(VkDescriptorDataEXT src) Copies the specified struct data to this struct.intsizeof()Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
PSAMPLER
public static final int PSAMPLERThe struct member offsets. -
PCOMBINEDIMAGESAMPLER
public static final int PCOMBINEDIMAGESAMPLERThe struct member offsets. -
PINPUTATTACHMENTIMAGE
public static final int PINPUTATTACHMENTIMAGEThe struct member offsets. -
PSAMPLEDIMAGE
public static final int PSAMPLEDIMAGEThe struct member offsets. -
PSTORAGEIMAGE
public static final int PSTORAGEIMAGEThe struct member offsets. -
PUNIFORMTEXELBUFFER
public static final int PUNIFORMTEXELBUFFERThe struct member offsets. -
PSTORAGETEXELBUFFER
public static final int PSTORAGETEXELBUFFERThe struct member offsets. -
PUNIFORMBUFFER
public static final int PUNIFORMBUFFERThe struct member offsets. -
PSTORAGEBUFFER
public static final int PSTORAGEBUFFERThe struct member offsets. -
ACCELERATIONSTRUCTURE
public static final int ACCELERATIONSTRUCTUREThe struct member offsets.
-
-
Constructor Details
-
VkDescriptorDataEXT
Creates aVkDescriptorDataEXTinstance 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkDescriptorDataEXT>
-
pSampler
- Parameters:
capacity- the number of elements in the returned buffer- Returns:
- a pointer to a
VkSamplerhandle specifying the parameters of aDESCRIPTOR_TYPE_SAMPLERdescriptor.
-
pCombinedImageSampler
a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLERdescriptor. -
pInputAttachmentImage
a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_INPUT_ATTACHMENTdescriptor. -
pSampledImage
a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_SAMPLED_IMAGEdescriptor. -
pStorageImage
a pointer to aVkDescriptorImageInfostructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_IMAGEdescriptor. -
pUniformTexelBuffer
a pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFERdescriptor. -
pStorageTexelBuffer
a pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFERdescriptor. -
pUniformBuffer
a pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_UNIFORM_BUFFERdescriptor. -
pStorageBuffer
a pointer to aVkDescriptorAddressInfoEXTstructure specifying the parameters of aDESCRIPTOR_TYPE_STORAGE_BUFFERdescriptor. -
accelerationStructure
public long accelerationStructure()the address of aVkAccelerationStructureKHRspecifying the parameters of aDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHRdescriptor , or aVkAccelerationStructureNVhandle specifying the parameters of aDESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NVdescriptor. -
pSampler
Sets the address of the specifiedLongBufferto thepSampler(int)field. -
pCombinedImageSampler
Sets the address of the specifiedVkDescriptorImageInfoto thepCombinedImageSampler()field. -
pInputAttachmentImage
Sets the address of the specifiedVkDescriptorImageInfoto thepInputAttachmentImage()field. -
pSampledImage
Sets the address of the specifiedVkDescriptorImageInfoto thepSampledImage()field. -
pStorageImage
Sets the address of the specifiedVkDescriptorImageInfoto thepStorageImage()field. -
pUniformTexelBuffer
Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepUniformTexelBuffer()field. -
pStorageTexelBuffer
Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepStorageTexelBuffer()field. -
pUniformBuffer
Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepUniformBuffer()field. -
pStorageBuffer
Sets the address of the specifiedVkDescriptorAddressInfoEXTto thepStorageBuffer()field. -
accelerationStructure
Sets the specified value to theaccelerationStructure()field. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkDescriptorDataEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkDescriptorDataEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkDescriptorDataEXTinstance allocated withBufferUtils. -
create
Returns a newVkDescriptorDataEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDescriptorDataEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkDescriptorDataEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkDescriptorDataEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkDescriptorDataEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkDescriptorDataEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkDescriptorDataEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkDescriptorDataEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkDescriptorDataEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
npSampler
Unsafe version ofpSampler. -
npCombinedImageSampler
Unsafe version ofpCombinedImageSampler(). -
npInputAttachmentImage
Unsafe version ofpInputAttachmentImage(). -
npSampledImage
Unsafe version ofpSampledImage(). -
npStorageImage
Unsafe version ofpStorageImage(). -
npUniformTexelBuffer
Unsafe version ofpUniformTexelBuffer(). -
npStorageTexelBuffer
Unsafe version ofpStorageTexelBuffer(). -
npUniformBuffer
Unsafe version ofpUniformBuffer(). -
npStorageBuffer
Unsafe version ofpStorageBuffer(). -
naccelerationStructure
public static long naccelerationStructure(long struct) Unsafe version ofaccelerationStructure(). -
npSampler
Unsafe version ofpSampler. -
npCombinedImageSampler
Unsafe version ofpCombinedImageSampler. -
npInputAttachmentImage
Unsafe version ofpInputAttachmentImage. -
npSampledImage
Unsafe version ofpSampledImage. -
npStorageImage
Unsafe version ofpStorageImage. -
npUniformTexelBuffer
Unsafe version ofpUniformTexelBuffer. -
npStorageTexelBuffer
Unsafe version ofpStorageTexelBuffer. -
npUniformBuffer
Unsafe version ofpUniformBuffer. -
npStorageBuffer
Unsafe version ofpStorageBuffer. -
naccelerationStructure
public static void naccelerationStructure(long struct, long value) Unsafe version ofaccelerationStructure.
-