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.NativeResourceStructure describing buffer address features that can be supported by an implementation.Description
Note
bufferDeviceAddressMultiDeviceexists to allow certain legacy platforms to be able to supportbufferDeviceAddresswithout needing to support shared GPU virtual addresses for multi-device configurations.See
GetBufferDeviceAddressEXTfor more information.If the
VkPhysicalDeviceBufferDeviceAddressFeaturesEXTstructure is included in thepNextchain ofVkPhysicalDeviceFeatures2, it is filled with values indicating whether the feature is supported.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcan also be used in thepNextchain ofVkDeviceCreateInfoto 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 thebufferDeviceAddressfeature 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 classVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BufferAn array ofVkPhysicalDeviceBufferDeviceAddressFeaturesEXTstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intBUFFERDEVICEADDRESS
BUFFERDEVICEADDRESSCAPTUREREPLAY
BUFFERDEVICEADDRESSMULTIDEVICE
PNEXTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(java.nio.ByteBuffer container)Creates aVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbufferDeviceAddress()Returns the value of thebufferDeviceAddressfield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTbufferDeviceAddress(boolean value)Sets the specified value to thebufferDeviceAddressfield.booleanbufferDeviceAddressCaptureReplay()Returns the value of thebufferDeviceAddressCaptureReplayfield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTbufferDeviceAddressCaptureReplay(boolean value)Sets the specified value to thebufferDeviceAddressCaptureReplayfield.booleanbufferDeviceAddressMultiDevice()Returns the value of thebufferDeviceAddressMultiDevicefield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTbufferDeviceAddressMultiDevice(boolean value)Sets the specified value to thebufferDeviceAddressMultiDevicefield.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcalloc()Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withmemCalloc.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffercalloc(int capacity)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withmemCalloc.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcallocStack()Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BuffercallocStack(int capacity)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcreate()Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withBufferUtils.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffercreate(int capacity)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withBufferUtils.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcreate(long address)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance for the specified memory address.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffercreate(long address, int capacity)Create aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance at the specified memory.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTcreateSafe(long address)static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BuffercreateSafe(long address, int capacity)static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTmalloc()Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withmemAlloc.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffermalloc(int capacity)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withmemAlloc.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTmallocStack()Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BuffermallocStack(int capacity)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStack.static VkPhysicalDeviceBufferDeviceAddressFeaturesEXTmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the specifiedMemoryStack.static intnbufferDeviceAddress(long struct)Unsafe version ofbufferDeviceAddress().static voidnbufferDeviceAddress(long struct, int value)Unsafe version ofbufferDeviceAddress.static intnbufferDeviceAddressCaptureReplay(long struct)Unsafe version ofbufferDeviceAddressCaptureReplay().static voidnbufferDeviceAddressCaptureReplay(long struct, int value)Unsafe version ofbufferDeviceAddressCaptureReplay.static intnbufferDeviceAddressMultiDevice(long struct)Unsafe version ofbufferDeviceAddressMultiDevice().static voidnbufferDeviceAddressMultiDevice(long struct, int value)Unsafe version ofbufferDeviceAddressMultiDevice.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.longpNext()Returns the value of thepNextfield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTpNext(long value)Sets the specified value to thepNextfield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTset(int sType, long pNext, boolean bufferDeviceAddress, boolean bufferDeviceAddressCaptureReplay, boolean bufferDeviceAddressMultiDevice)Initializes this struct with the specified values.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTset(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkPhysicalDeviceBufferDeviceAddressFeaturesEXTsType(int value)Sets the specified value to thesTypefield.
-
-
-
Constructor Detail
-
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance 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
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
bufferDeviceAddress
public boolean bufferDeviceAddress()
Returns the value of thebufferDeviceAddressfield.
-
bufferDeviceAddressCaptureReplay
public boolean bufferDeviceAddressCaptureReplay()
Returns the value of thebufferDeviceAddressCaptureReplayfield.
-
bufferDeviceAddressMultiDevice
public boolean bufferDeviceAddressMultiDevice()
Returns the value of thebufferDeviceAddressMultiDevicefield.
-
sType
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT pNext(long value)
Sets the specified value to thepNextfield.
-
bufferDeviceAddress
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddress(boolean value)
Sets the specified value to thebufferDeviceAddressfield.
-
bufferDeviceAddressCaptureReplay
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddressCaptureReplay(boolean value)
Sets the specified value to thebufferDeviceAddressCaptureReplayfield.
-
bufferDeviceAddressMultiDevice
public VkPhysicalDeviceBufferDeviceAddressFeaturesEXT bufferDeviceAddressMultiDevice(boolean value)
Sets the specified value to thebufferDeviceAddressMultiDevicefield.
-
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 newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT calloc()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT create()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated withBufferUtils.
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT create(long address)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT createSafe(long address)
-
malloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer create(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance 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 newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT callocStack()
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXTinstance allocated on the specifiedMemoryStackand 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.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStackand 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.Bufferinstance 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.Bufferinstance allocated on the specifiedMemoryStackand 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.
-
-