![JAR search and dependency download from the Maven repository](/logo.png)
org.lwjgl.vulkan.EXTBufferDeviceAddress Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-vulkan Show documentation
Show all versions of lwjgl-vulkan Show documentation
A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
/**
* This extension allows the application to query a 64-bit buffer device address value for a buffer, which can be used to access the buffer memory via the {@code PhysicalStorageBufferEXT} storage class in the {@code GL_EXT_buffer_reference} GLSL extension and {@code SPV_EXT_physical_storage_buffer} SPIR-V extension.
*
* It also allows buffer device addresses to be provided by a trace replay tool, so that it matches the address used when the trace was captured.
*
* VK_EXT_buffer_device_address
*
*
* - Name String
* - {@code VK_EXT_buffer_device_address}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 245
* - Revision
* - 2
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
*
* - Deprecation state
*
* - Deprecated by {@link KHRBufferDeviceAddress VK_KHR_buffer_device_address} extension
*
*
* - Which in turn was promoted to Vulkan 1.2
*
*
*
* - Contact
*
* - Jeff Bolz jeffbolznv
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2019-01-06
* - IP Status
* - No known IP claims.
* - Interactions and External Dependencies
*
* - This extension requires {@code SPV_EXT_physical_storage_buffer}
*
* - Contributors
*
* - Jeff Bolz, NVIDIA
* - Neil Henning, AMD
* - Tobias Hector, AMD
* - Jason Ekstrand, Intel
* - Baldur Karlsson, Valve
*
*
*/
public class EXTBufferDeviceAddress {
/** The extension specification version. */
public static final int VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION = 2;
/** The extension name. */
public static final String VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_EXT_buffer_device_address";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT}
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT}
* - {@link #VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT}
* - {@link #VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT}
*
*/
public static final int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002;
/** Extends {@code VkBufferUsageFlagBits}. */
public static final int VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = 0x20000;
/** Extends {@code VkBufferCreateFlagBits}. */
public static final int VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x10;
/** Extends {@code VkResult}. */
public static final int VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000;
protected EXTBufferDeviceAddress() {
throw new UnsupportedOperationException();
}
// --- [ vkGetBufferDeviceAddressEXT ] ---
/** Unsafe version of: {@link #vkGetBufferDeviceAddressEXT GetBufferDeviceAddressEXT} */
public static long nvkGetBufferDeviceAddressEXT(VkDevice device, long pInfo) {
long __functionAddress = device.getCapabilities().vkGetBufferDeviceAddressEXT;
if (CHECKS) {
check(__functionAddress);
}
return callPPJ(device.address(), pInfo, __functionAddress);
}
/**
* See {@link VK12#vkGetBufferDeviceAddress GetBufferDeviceAddress}.
*
* @param device the logical device that the buffer was created on.
* @param pInfo a pointer to a {@link VkBufferDeviceAddressInfo} structure specifying the buffer to retrieve an address for.
*/
@NativeType("VkDeviceAddress")
public static long vkGetBufferDeviceAddressEXT(VkDevice device, @NativeType("VkBufferDeviceAddressInfo const *") VkBufferDeviceAddressInfo pInfo) {
return nvkGetBufferDeviceAddressEXT(device, pInfo.address());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy