Package org.lwjgl.vulkan
Class VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkPhysicalDeviceBufferAddressFeaturesEXT
public class VkPhysicalDeviceBufferDeviceAddressFeaturesEXT extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure describing buffer address features that can be supported by an implementation.Description
Note
bufferDeviceAddressMultiDevice
exists to allow certain legacy platforms to be able to supportbufferDeviceAddress
without needing to support shared GPU virtual addresses for multi-device configurations.See
GetBufferDeviceAddressEXT
for more information.If the
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
structure is included in thepNext
chain ofVkPhysicalDeviceFeatures2
, it is filled with values indicating whether the feature is supported.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
can also be used in thepNext
chain ofVkDeviceCreateInfo
to enable features.Valid Usage (Implicit)
Member documentation
bufferDeviceAddress
– indicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried fromGetBufferDeviceAddressEXT
.bufferDeviceAddressCaptureReplay
– indicates that the implementation supports saving and reusing buffer addresses, e.g. for trace capture and replay.bufferDeviceAddressMultiDevice
– indicates that the implementation supports thebufferDeviceAddress
feature for logical devices created with multiple physical devices. If this feature is not supported, buffer addresses must not be queried on a logical device created with more than one physical device.
Layout
struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { VkStructureType sType; void * pNext; VkBool32 bufferDeviceAddress; VkBool32 bufferDeviceAddressCaptureReplay; VkBool32 bufferDeviceAddressMultiDevice; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
An array ofVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
BUFFERDEVICEADDRESS
BUFFERDEVICEADDRESSCAPTUREREPLAY
BUFFERDEVICEADDRESSMULTIDEVICE
PNEXTThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
The struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
bufferDeviceAddress()
Returns the value of thebufferDeviceAddress
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
bufferDeviceAddress(boolean value)
Sets the specified value to thebufferDeviceAddress
field.boolean
bufferDeviceAddressCaptureReplay()
Returns the value of thebufferDeviceAddressCaptureReplay
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
bufferDeviceAddressCaptureReplay(boolean value)
Sets the specified value to thebufferDeviceAddressCaptureReplay
field.boolean
bufferDeviceAddressMultiDevice()
Returns the value of thebufferDeviceAddressMultiDevice
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
bufferDeviceAddressMultiDevice(boolean value)
Sets the specified value to thebufferDeviceAddressMultiDevice
field.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
calloc()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withmemCalloc
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
calloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withmemCalloc
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
callocStack()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
callocStack(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
create()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withBufferUtils
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
create(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withBufferUtils
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
create(long address)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance for the specified memory address.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
create(long address, int capacity)
Create aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance at the specified memory.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
createSafe(long address)
static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
createSafe(long address, int capacity)
static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
malloc()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withmemAlloc
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
malloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withmemAlloc
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
mallocStack()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
mallocStack(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the specifiedMemoryStack
.static int
nbufferDeviceAddress(long struct)
Unsafe version ofbufferDeviceAddress()
.static void
nbufferDeviceAddress(long struct, int value)
Unsafe version ofbufferDeviceAddress
.static int
nbufferDeviceAddressCaptureReplay(long struct)
Unsafe version ofbufferDeviceAddressCaptureReplay()
.static void
nbufferDeviceAddressCaptureReplay(long struct, int value)
Unsafe version ofbufferDeviceAddressCaptureReplay
.static int
nbufferDeviceAddressMultiDevice(long struct)
Unsafe version ofbufferDeviceAddressMultiDevice()
.static void
nbufferDeviceAddressMultiDevice(long struct, int value)
Unsafe version ofbufferDeviceAddressMultiDevice
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.long
pNext()
Returns the value of thepNext
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
pNext(long value)
Sets the specified value to thepNext
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
set(int sType, long pNext, boolean bufferDeviceAddress, boolean bufferDeviceAddressCaptureReplay, boolean bufferDeviceAddressMultiDevice)
Initializes this struct with the specified values.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
set(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT src)
Copies the specified struct data to this struct.int
sizeof()
int
sType()
Returns the value of thesType
field.VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
sType(int value)
Sets the specified value to thesType
field.
-
-
-
Constructor Detail
-
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
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
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
bufferDeviceAddress
public boolean bufferDeviceAddress()
Returns the value of thebufferDeviceAddress
field.
-
bufferDeviceAddressCaptureReplay
public boolean bufferDeviceAddressCaptureReplay()
Returns the value of thebufferDeviceAddressCaptureReplay
field.
-
bufferDeviceAddressMultiDevice
public boolean bufferDeviceAddressMultiDevice()
Returns the value of thebufferDeviceAddressMultiDevice
field.
-
sType
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT pNext(long value)
Sets the specified value to thepNext
field.
-
bufferDeviceAddress
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddress(boolean value)
Sets the specified value to thebufferDeviceAddress
field.
-
bufferDeviceAddressCaptureReplay
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddressCaptureReplay(boolean value)
Sets the specified value to thebufferDeviceAddressCaptureReplay
field.
-
bufferDeviceAddressMultiDevice
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddressMultiDevice(boolean value)
Sets the specified value to thebufferDeviceAddressMultiDevice
field.
-
set
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT set(int sType, long pNext, boolean bufferDeviceAddress, boolean bufferDeviceAddressCaptureReplay, boolean bufferDeviceAddressMultiDevice)
Initializes this struct with the specified values.
-
set
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT set(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT malloc()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT calloc()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT create()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated withBufferUtils
.
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT create(long address)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT createSafe(long address)
-
malloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer create(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT mallocStack()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT callocStack()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer mallocStack(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType()
.
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext()
.
-
nbufferDeviceAddress
public static int nbufferDeviceAddress(long struct)
Unsafe version ofbufferDeviceAddress()
.
-
nbufferDeviceAddressCaptureReplay
public static int nbufferDeviceAddressCaptureReplay(long struct)
Unsafe version ofbufferDeviceAddressCaptureReplay()
.
-
nbufferDeviceAddressMultiDevice
public static int nbufferDeviceAddressMultiDevice(long struct)
Unsafe version ofbufferDeviceAddressMultiDevice()
.
-
nsType
public static void nsType(long struct, int value)
Unsafe version ofsType
.
-
npNext
public static void npNext(long struct, long value)
Unsafe version ofpNext
.
-
nbufferDeviceAddress
public static void nbufferDeviceAddress(long struct, int value)
Unsafe version ofbufferDeviceAddress
.
-
nbufferDeviceAddressCaptureReplay
public static void nbufferDeviceAddressCaptureReplay(long struct, int value)
Unsafe version ofbufferDeviceAddressCaptureReplay
.
-
nbufferDeviceAddressMultiDevice
public static void nbufferDeviceAddressMultiDevice(long struct, int value)
Unsafe version ofbufferDeviceAddressMultiDevice
.
-
-