• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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