Contact
-
Daniel Koch dgkoch
Other Extension Metadata
- Last Modified Date
-
2021-12-14
- Contributors
-
-
Daniel Koch, NVIDIA
-
Jonathan Mccaffrey, NVIDIA
-
Aidan Fabius, CoreAVI
-
Description
This instance extension enables an application to pass application parameters to the implementation at instance or device creation time.
The application parameters consist of a set of vendor-specific keys and values. Each key is a 32-bit enum, and each value is a 64-bit integer. The valid keys, range of values, and default values are documented external to this specification in implementation-specific documentation.
This extension is an instance extension rather than a device extension so
that the implementation can modify reported VkPhysicalDevice
properties or features as needed.
New Enum Constants
-
VK_EXT_APPLICATION_PARAMETERS_EXTENSION_NAME
-
VK_EXT_APPLICATION_PARAMETERS_SPEC_VERSION
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT
-
Issues
-
How should the
key
enumerants be assigned?RESOLVED: The
key
enumerants are completely implementation-specific and do not need to be centrally reserved. They should be documented in the implementation-specific documentation. The vendor ID and optionally the device ID are provided to disambiguate between multiple ICDs or devices. -
How does an application know what application parameters are valid on a particular implementation?
DISCUSSION: There is no ability to enumerate device or system properties before an instance is created, however
key
andvalues
must be recognized by an implementation in order for instance or device creation to succeed. The vendor and optionally the device ID are provided to identify which ICD or device the application parameters are targeted at. -
Is it OK if the "valid value" for specified keys is not from static documented values, but must be consistent-with/interdependent-on other
VkApplicationParametersEXT
?DISCUSSION: Yes this is fine. Examples for how this could be used include:
-
a checksum
key
where thevalue
is computed based on other VkApplicationParametersEXT structures in thepNext
chain. -
an "application key" which either implies or explicitly lists a set of prevalidated key/value pairs.
-
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.