VK_KHR_portability_subset extension allows a non-conformant Vulkan implementation to be built on top of another non-Vulkan graphics API, and identifies differences between that implementation and a fully-conformant native Vulkan implementation.
This extension provides Vulkan implementations with the ability to mark otherwise-required capabilities as unsupported, or to establish additional properties and limits that the application should adhere to in order to guarantee portable behaviour and operation across platforms, including platforms where Vulkan is not natively supported.
The goal of this specification is to document, and make queryable, capabilities which are required to be supported by a fully-conformant Vulkan 1.0 implementation, but may be optional for an implementation of the Vulkan 1.0 Portability Subset.
The intent is that this extension will be advertised only on implementations of the Vulkan 1.0 Portability Subset, and not on conformant implementations of Vulkan 1.0. Fully-conformant Vulkan implementations provide all the required capabilities, and so will not provide this extension. Therefore, the existence of this extension can be used to determine that an implementation is likely not fully conformant with the Vulkan spec.
If this extension is supported by the Vulkan implementation, the application must enable this extension.
This extension defines several new structures that can be chained to the existing structures used by certain standard Vulkan calls, in order to query for non-conformant portable behavior.
VK_KHR_portability_subsetVK_KHR_get_physical_device_properties2
| Modifier and Type | Field and Description |
|---|---|
| public static final String | VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME
The extension name. |
| public static final int | VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION
The extension specification version. |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR
Extends |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR
Extends |
| Access | Constructor and Description |
|---|---|
| private |
| VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME The extension name. | |
| VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION The extension specification version. | |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR Extends Enum values: | |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR Extends Enum values: | |
| KHRPortabilitySubset | back to summary |
|---|---|
| private KHRPortabilitySubset() | |