Merge pull request #693 from krOoze/dev_inst_ext_dependencies
Refine extension dependencies
This commit is contained in:
commit
deabecf729
|
@ -1021,7 +1021,7 @@ Render Pass Instance::
|
||||||
A use of a render pass in a command buffer.
|
A use of a render pass in a command buffer.
|
||||||
|
|
||||||
Required Extensions::
|
Required Extensions::
|
||||||
Extensions which must: be enabled to use a specific enabled extension
|
Extensions that must: be enabled alongside extensions dependent on them
|
||||||
(see <<extended-functionality-extensions-dependencies, Extension
|
(see <<extended-functionality-extensions-dependencies, Extension
|
||||||
Dependencies>>).
|
Dependencies>>).
|
||||||
|
|
||||||
|
|
|
@ -223,6 +223,15 @@ wrapped by the validation layers.
|
||||||
See the <<LoaderAndValidationLayers, "`Vulkan Loader Specification and
|
See the <<LoaderAndValidationLayers, "`Vulkan Loader Specification and
|
||||||
Architecture Overview`">> document for additional information.
|
Architecture Overview`">> document for additional information.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
.Note
|
||||||
|
====
|
||||||
|
Valid Usage sections for individual commands and structures do not currently
|
||||||
|
contain which extensions have to be enabled in order to make their use
|
||||||
|
valid, although it might do so in the future.
|
||||||
|
It is defined only in the <<fundamentals-validusage-extensions>> section.
|
||||||
|
====
|
||||||
|
|
||||||
[open,refpage='vkEnumerateInstanceExtensionProperties',desc='Returns up to requested number of global extension properties',type='protos']
|
[open,refpage='vkEnumerateInstanceExtensionProperties',desc='Returns up to requested number of global extension properties',type='protos']
|
||||||
--
|
--
|
||||||
|
|
||||||
|
@ -344,21 +353,22 @@ endif::VK_VERSION_1_1,VK_KHR_get_physical_device_properties2[]
|
||||||
== Extension Dependencies
|
== Extension Dependencies
|
||||||
|
|
||||||
Some extensions are dependent on other extensions to function.
|
Some extensions are dependent on other extensions to function.
|
||||||
To use extensions with dependencies, such _required extensions_ must: also
|
To enable extensions with dependencies, such _required extensions_ must:
|
||||||
be enabled through the same API mechanisms when creating an instance with
|
also be enabled through the same API mechanisms when creating an instance
|
||||||
flink:vkCreateInstance or a device with flink:vkCreateDevice.
|
with flink:vkCreateInstance or a device with flink:vkCreateDevice.
|
||||||
Each extension which has such dependencies documents them in the
|
Each extension which has such dependencies documents them in the
|
||||||
<<extensions, appendix summarizing that extension>>.
|
<<extensions, appendix summarizing that extension>>.
|
||||||
|
|
||||||
[NOTE]
|
If an extension is supported (as queried by
|
||||||
.Note
|
flink:vkEnumerateInstanceExtensionProperties or
|
||||||
====
|
flink:vkEnumerateDeviceExtensionProperties), then _required extensions_ of
|
||||||
The Specification does not currently include required extensions in Valid
|
that extension must: also be supported for the same instance or
|
||||||
Usage statements for individual commands and structures, although it might
|
physical device.
|
||||||
do so in the future.
|
|
||||||
Nonetheless, applications must: not use any extension functionality if
|
Any device extension that has an instance extension dependency that is not
|
||||||
dependencies of that extension are not enabled.
|
enabled by flink:vkCreateInstance is considered to be unsupported, hence it
|
||||||
====
|
must: not be returned by flink:vkEnumerateDeviceExtensionProperties for any
|
||||||
|
slink:VkPhysicalDevice child of the instance.
|
||||||
|
|
||||||
|
|
||||||
[[extended-functionality-extensions-compatibility]]
|
[[extended-functionality-extensions-compatibility]]
|
||||||
|
|
Loading…
Reference in New Issue