The value of apiVersion may be different than the version returned by EnumerateInstanceVersion; either higher or lower. In such cases, the application must not use functionality that exceeds the version of Vulkan associated with a given object. The pApiVersion parameter returned by EnumerateInstanceVersion is the version associated with a VkInstance and its children, except for a VkPhysicalDevice and its children. VkPhysicalDeviceProperties::apiVersion is the version associated with a VkPhysicalDevice and its children.
The encoding of driverVersion is implementation-defined. It may not use the same encoding as apiVersion. Applications should follow information from the vendor on how to extract the version information from driverVersion.
On implementations that claim support for the Roadmap 2022 profile, the major and minor version expressed by apiVersion must be at least Vulkan 1.3.
The vendorID and deviceID fields are provided to allow applications to adapt to device characteristics that are not adequately exposed by other Vulkan queries.
These may include performance profiles, hardware errata, or other characteristics.
The vendor identified by vendorID is the entity responsible for the most salient characteristics of the underlying implementation of the VkPhysicalDevice being queried.
For example, in the case of a discrete GPU implementation, this should be the GPU chipset vendor. In the case of a hardware accelerator integrated into a system-on-chip (SoC), this should be the supplier of the silicon IP used to create the accelerator.
If the vendor has a PCI vendor ID, the low 16 bits of vendorID must contain that PCI vendor ID, and the remaining bits must be set to zero. Otherwise, the value returned must be a valid Khronos vendor ID, obtained as described in the Vulkan Documentation and Extensions: Procedures and Conventions document in the section “Registering a Vendor ID with Khronos”. Khronos vendor IDs are allocated starting at 0x10000, to distinguish them from the PCI vendor ID namespace. Khronos vendor IDs are symbolically defined in the VkVendorId type.
The vendor is also responsible for the value returned in deviceID. If the implementation is driven primarily by a PCI device with a PCI device ID, the low 16 bits of deviceID must contain that PCI device ID, and the remaining bits must be set to zero. Otherwise, the choice of what values to return may be dictated by operating system or platform policies - but should uniquely identify both the device version and any major configuration options (for example, core count in the case of multicore devices).
The same device ID should be used for all physical implementations of that device version and configuration. For example, all uses of a specific silicon IP GPU version and configuration should use the same device ID, even if those uses occur in different SoCs.
VkPhysicalDeviceLimits, VkPhysicalDeviceProperties2, VkPhysicalDeviceSparseProperties, GetPhysicalDeviceProperties
struct VkPhysicalDeviceProperties {
uint32_t apiVersion;
uint32_t driverVersion;
uint32_t vendorID;
uint32_t deviceID;
VkPhysicalDeviceType deviceType;
char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
uint8_t pipelineCacheUUID[VK_UUID_SIZE];
VkPhysicalDeviceLimits limits;
VkPhysicalDeviceSparseProperties sparseProperties;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkPhysicalDeviceProperties.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | APIVERSION
The struct member offsets. |
| public static final int | DEVICEID
The struct member offsets. |
| public static final int | DEVICENAME
The struct member offsets. |
| public static final int | DEVICETYPE
The struct member offsets. |
| public static final int | DRIVERVERSION
The struct member offsets. |
| public static final int | LIMITS
The struct member offsets. |
| public static final int | PIPELINECACHEUUID
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | SPARSEPROPERTIES
The struct member offsets. |
| public static final int | VENDORID
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkPhysicalDeviceProperties(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceProperties | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceProperties. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties. | |
| public static VkPhysicalDeviceProperties. | |
| protected VkPhysicalDeviceProperties | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties | create(long address)
Returns a new |
| public static VkPhysicalDeviceProperties. | create(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceProperties. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties. | |
| public int | |
| public ByteBuffer | deviceName()
an array of |
| public String | deviceNameString()
an array of |
| public int | |
| public int | |
| public VkPhysicalDeviceLimits | limits()
the |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceProperties | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceProperties. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties | |
| public static VkPhysicalDeviceProperties. | |
| public static VkPhysicalDeviceProperties. | |
| public static int | |
| public static int | |
| public static ByteBuffer | |
| public static String | |
| public static int | |
| public static int | |
| public static VkPhysicalDeviceLimits | |
| public static ByteBuffer | |
| public static byte | |
| public static VkPhysicalDeviceSparseProperties | |
| public static int | |
| public ByteBuffer | pipelineCacheUUID()
an array of |
| public byte | pipelineCacheUUID(int index)
an array of |
| public int | |
| public VkPhysicalDeviceSparseProperties | sparseProperties()
the |
| public int |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| APIVERSION | back to summary |
|---|---|
| public static final int APIVERSION The struct member offsets. | |
| DEVICEID | back to summary |
|---|---|
| public static final int DEVICEID The struct member offsets. | |
| DEVICENAME | back to summary |
|---|---|
| public static final int DEVICENAME The struct member offsets. | |
| DEVICETYPE | back to summary |
|---|---|
| public static final int DEVICETYPE The struct member offsets. | |
| DRIVERVERSION | back to summary |
|---|---|
| public static final int DRIVERVERSION The struct member offsets. | |
| LIMITS | back to summary |
|---|---|
| public static final int LIMITS The struct member offsets. | |
| PIPELINECACHEUUID | back to summary |
|---|---|
| public static final int PIPELINECACHEUUID The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| SPARSEPROPERTIES | back to summary |
|---|---|
| public static final int SPARSEPROPERTIES The struct member offsets. | |
| VENDORID | back to summary |
|---|---|
| public static final int VENDORID The struct member offsets. | |
| VkPhysicalDeviceProperties | back to summary |
|---|---|
| protected VkPhysicalDeviceProperties(long address, ByteBuffer container) | |
| VkPhysicalDeviceProperties | back to summary |
|---|---|
| public VkPhysicalDeviceProperties(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| apiVersion | back to summary |
|---|---|
| public int apiVersion() the version of Vulkan supported by the device, encoded as described in Version Numbers.
| |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Returns a new
| |
| callocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties callocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties callocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| create | back to summary |
|---|---|
| protected VkPhysicalDeviceProperties create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Like
| |
| deviceID | back to summary |
|---|---|
| public int deviceID() a unique identifier for the physical device among devices available from the vendor.
| |
| deviceName | back to summary |
|---|---|
| public ByteBuffer deviceName() an array of
| |
| deviceNameString | back to summary |
|---|---|
| public String deviceNameString() an array of
| |
| deviceType | back to summary |
|---|---|
| public int deviceType() a
| |
| driverVersion | back to summary |
|---|---|
| public int driverVersion() the vendor-specified version of the driver.
| |
| limits | back to summary |
|---|---|
| public VkPhysicalDeviceLimits limits() the | |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Returns a new
| |
| mallocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties mallocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties mallocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkPhysicalDeviceProperties. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| napiVersion | back to summary |
|---|---|
| public static int napiVersion(long struct) Unsafe version of | |
| ndeviceID | back to summary |
|---|---|
| public static int ndeviceID(long struct) Unsafe version of | |
| ndeviceName | back to summary |
|---|---|
| public static ByteBuffer ndeviceName(long struct) Unsafe version of | |
| ndeviceNameString | back to summary |
|---|---|
| public static String ndeviceNameString(long struct) Unsafe version of | |
| ndeviceType | back to summary |
|---|---|
| public static int ndeviceType(long struct) Unsafe version of | |
| ndriverVersion | back to summary |
|---|---|
| public static int ndriverVersion(long struct) Unsafe version of | |
| nlimits | back to summary |
|---|---|
| public static VkPhysicalDeviceLimits nlimits(long struct) Unsafe version of | |
| npipelineCacheUUID | back to summary |
|---|---|
| public static ByteBuffer npipelineCacheUUID(long struct) Unsafe version of | |
| npipelineCacheUUID | back to summary |
|---|---|
| public static byte npipelineCacheUUID(long struct, int index) Unsafe version of | |
| nsparseProperties | back to summary |
|---|---|
| public static VkPhysicalDeviceSparseProperties nsparseProperties(long struct) Unsafe version of | |
| nvendorID | back to summary |
|---|---|
| public static int nvendorID(long struct) Unsafe version of | |
| pipelineCacheUUID | back to summary |
|---|---|
| public ByteBuffer pipelineCacheUUID() an array of
| |
| pipelineCacheUUID | back to summary |
|---|---|
| public byte pipelineCacheUUID(int index) an array of
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sparseProperties | back to summary |
|---|---|
| public VkPhysicalDeviceSparseProperties sparseProperties() the | |
| vendorID | back to summary |
|---|---|
| public int vendorID() a unique identifier for the vendor (see below) of the physical device.
| |
VkPhysicalDeviceProperties structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkPhysicalDeviceProperties |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public int | |
| public ByteBuffer | |
| public String | Returns: the null-terminated string stored in theVkPhysicalDeviceProperties#deviceName field.
|
| public int | |
| public int | |
| protected VkPhysicalDeviceProperties | |
| public VkPhysicalDeviceLimits | |
| public ByteBuffer | |
| public byte | Returns: the value at the specified index of theVkPhysicalDeviceProperties#pipelineCacheUUID field.
|
| protected VkPhysicalDeviceProperties. | |
| public VkPhysicalDeviceSparseProperties | Returns: aVkPhysicalDeviceSparseProperties view of the VkPhysicalDeviceProperties#sparseProperties field.
|
| public int |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkPhysicalDeviceProperties ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| apiVersion | back to summary |
|---|---|
public int apiVersion()
| |
| deviceID | back to summary |
|---|---|
public int deviceID()
| |
| deviceName | back to summary |
|---|---|
public ByteBuffer deviceName()
| |
| deviceNameString | back to summary |
|---|---|
public String deviceNameString()
| |
| deviceType | back to summary |
|---|---|
public int deviceType()
| |
| driverVersion | back to summary |
|---|---|
public int driverVersion()
| |
| getElementFactory | back to summary |
|---|---|
| protected VkPhysicalDeviceProperties getElementFactory() Implements abstract org.
| |
| limits | back to summary |
|---|---|
public VkPhysicalDeviceLimits limits()
| |
| pipelineCacheUUID | back to summary |
|---|---|
public ByteBuffer pipelineCacheUUID()
| |
| pipelineCacheUUID | back to summary |
|---|---|
public byte pipelineCacheUUID(int index)
| |
| self | back to summary |
|---|---|
| protected VkPhysicalDeviceProperties. Implements abstract org.
| |
| sparseProperties | back to summary |
|---|---|
public VkPhysicalDeviceSparseProperties sparseProperties()
| |
| vendorID | back to summary |
|---|---|
public int vendorID()
| |