| // Copyright 2018-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_portability_subset.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2020-07-21 |
| *IP Status*:: |
| No known IP claims. |
| *Contributors*:: |
| - Bill Hollings, The Brenwill Workshop Ltd. |
| - Daniel Koch, NVIDIA |
| - Dzmitry Malyshau, Mozilla |
| - Chip Davis, CodeWeavers |
| - Dan Ginsburg, Valve |
| - Mike Weiblen, LunarG |
| - Neil Trevett, NVIDIA |
| - Alexey Knyazev, Independent |
| |
| === Description |
| |
| The `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 capabilies, |
| 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. |
| |
| include::{generated}/interfaces/VK_KHR_portability_subset.txt[] |
| |
| === Issues |
| |
| None. |
| |
| === Version History |
| |
| * Revision 1, 2020-07-21 (Bill Hollings) |
| - Initial draft. |