1// Copyright 2018-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_KHR_portability_subset.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2020-07-21 11*IP Status*:: 12 No known IP claims. 13*Contributors*:: 14 - Bill Hollings, The Brenwill Workshop Ltd. 15 - Daniel Koch, NVIDIA 16 - Dzmitry Malyshau, Mozilla 17 - Chip Davis, CodeWeavers 18 - Dan Ginsburg, Valve 19 - Mike Weiblen, LunarG 20 - Neil Trevett, NVIDIA 21 - Alexey Knyazev, Independent 22 23=== Description 24 25The `apiext:VK_KHR_portability_subset` extension allows a non-conformant 26Vulkan implementation to be built on top of another non-Vulkan graphics API, 27and identifies differences between that implementation and a 28fully-conformant native Vulkan implementation. 29 30This extension provides Vulkan implementations with the ability to mark 31otherwise-required capabilities as unsupported, or to establish additional 32properties and limits that the application should adhere to in order to 33guarantee portable behaviour and operation across platforms, including 34platforms where Vulkan is not natively supported. 35 36The goal of this specification is to document, and make queryable, 37capabilities which are required to be supported by a fully-conformant Vulkan 381.0 implementation, but may be optional for an implementation of the Vulkan 391.0 Portability Subset. 40 41The intent is that this extension will be advertised only on implementations 42of the Vulkan 1.0 Portability Subset, and not on conformant implementations 43of Vulkan 1.0. 44Fully-conformant Vulkan implementations provide all the required 45capabilities, and so will not provide this extension. 46Therefore, the existence of this extension can be used to determine that an 47implementation is likely not fully conformant with the Vulkan spec. 48 49If this extension is supported by the Vulkan implementation, the application 50must enable this extension. 51 52This extension defines several new structures that can be chained to the 53existing structures used by certain standard Vulkan calls, in order to query 54for non-conformant portable behavior. 55 56include::{generated}/interfaces/VK_KHR_portability_subset.adoc[] 57 58=== Issues 59 60None. 61 62=== Version History 63 64 * Revision 1, 2020-07-21 (Bill Hollings) 65 ** Initial draft. 66