All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.EXTBufferDeviceAddress Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 3.3.6
Show newest version
/*
 * 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 * * *
  • *
*
Contact
*
*
* *
Other Extension Metadata
* *
*
Last Modified Date
*
2019-01-06
*
IP Status
*
No known IP claims.
*
Interactions and External Dependencies
*
*
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