Vulkan-Docs/chapters/VK_EXT_validation_features.txt

105 lines
4.3 KiB
Plaintext
Raw Normal View History

[open,refpage='VkValidationFeaturesEXT',desc='Specify validation features to enable or disable for a Vulkan instance',type='structs']
--
When creating a Vulkan instance for which you wish to enable or disable
specific validation features, add a slink:VkValidationFeaturesEXT structure
to the pname:pNext chain of the slink:VkInstanceCreateInfo structure,
specifying the features to be enabled or disabled.
Change log for April 16, 2019 Vulkan 1.1.107 spec update: * Update release number to 107. Public Issues: * Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix (public issue 617). * Make <<synchronization-pipeline-barriers-subpass-self-dependencies, subpass self-dependencies>> less restrictive (public issue 777). * Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on `<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849). * Remove single-page (`apispec.html`) refpage sub-targets from the Makefile `allman` target and the build instructions. The target is still present in the Makefile, but we have not been actively maintaining the single-page document and do not promise it will work. The full Specification and the individual API reference pages are what we support and publish at present (public issue 949). Internal Issues: * De-duplicate common valid usage statements shared by multiple commands or structures by using asciidoctor includes and dynamically assigning part of the valid usage ID based on which command or structure they're being applied to (internal issue 779). * Add reference pages for constructs not part of the formal API, such as platform calling convention macros, and script changes supporting them This required suppressing some check_spec_links warning classes in order to pass CI, until a more sophisticated fix can be done (internal issue 888). * Change math notation for the elink:VkPrimitiveTopology descriptions to use short forms `v` and `p` instead of `vertex` and `primitive`, increasing legibility (internal issue 1611). * Rewrite generated file includes relative to a globally specified path, fixing some issues with refpage generation (internal issue 1630). * Update contributor list for `<<VK_EXT_calibrated_timestamps>>`. * Fix use of pathlin in `scripts/generator.py` so the script will work on Windows under Python 3.5 (internal merge request 3107). * Add missing conditionals around the <<descriptorsets-accelerationstructure, Acceleration Structure>> section (internal merge request 3108). * More script synchronization with OpenXR spec repository (internal merge request 3109). * Mark the `<<VK_AMD_gpu_shader_half_float>>` and `<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and the corresponding extension appendices (internal merge request 3112). New Extensions: * `<<VK_EXT_headless_surface>>`
2019-04-16 12:19:43 +00:00
include::{generated}/api/structs/VkValidationFeaturesEXT.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:enabledValidationFeatureCount is the number of features to enable.
* pname:pEnabledValidationFeatures is a pointer to an array of
elink:VkValidationFeatureEnableEXT values specifying the validation
features to be enabled.
* pname:disabledValidationFeatureCount is the number of features to
disable.
* pname:pDisabledValidationFeatures is a pointer to an array of
elink:VkValidationFeatureDisableEXT values specifying the validation
features to be disabled.
Change log for April 16, 2019 Vulkan 1.1.107 spec update: * Update release number to 107. Public Issues: * Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix (public issue 617). * Make <<synchronization-pipeline-barriers-subpass-self-dependencies, subpass self-dependencies>> less restrictive (public issue 777). * Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on `<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849). * Remove single-page (`apispec.html`) refpage sub-targets from the Makefile `allman` target and the build instructions. The target is still present in the Makefile, but we have not been actively maintaining the single-page document and do not promise it will work. The full Specification and the individual API reference pages are what we support and publish at present (public issue 949). Internal Issues: * De-duplicate common valid usage statements shared by multiple commands or structures by using asciidoctor includes and dynamically assigning part of the valid usage ID based on which command or structure they're being applied to (internal issue 779). * Add reference pages for constructs not part of the formal API, such as platform calling convention macros, and script changes supporting them This required suppressing some check_spec_links warning classes in order to pass CI, until a more sophisticated fix can be done (internal issue 888). * Change math notation for the elink:VkPrimitiveTopology descriptions to use short forms `v` and `p` instead of `vertex` and `primitive`, increasing legibility (internal issue 1611). * Rewrite generated file includes relative to a globally specified path, fixing some issues with refpage generation (internal issue 1630). * Update contributor list for `<<VK_EXT_calibrated_timestamps>>`. * Fix use of pathlin in `scripts/generator.py` so the script will work on Windows under Python 3.5 (internal merge request 3107). * Add missing conditionals around the <<descriptorsets-accelerationstructure, Acceleration Structure>> section (internal merge request 3108). * More script synchronization with OpenXR spec repository (internal merge request 3109). * Mark the `<<VK_AMD_gpu_shader_half_float>>` and `<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and the corresponding extension appendices (internal merge request 3112). New Extensions: * `<<VK_EXT_headless_surface>>`
2019-04-16 12:19:43 +00:00
include::{generated}/validity/structs/VkValidationFeaturesEXT.txt[]
--
[open,refpage='VkValidationFeatureEnableEXT',desc='Specify validation features to enable',type='enums']
--
Possible values of elements of the
slink:VkValidationFeaturesEXT::pname:pEnabledValidationFeatures array,
specifying validation features to be enabled, are:
Change log for April 16, 2019 Vulkan 1.1.107 spec update: * Update release number to 107. Public Issues: * Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix (public issue 617). * Make <<synchronization-pipeline-barriers-subpass-self-dependencies, subpass self-dependencies>> less restrictive (public issue 777). * Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on `<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849). * Remove single-page (`apispec.html`) refpage sub-targets from the Makefile `allman` target and the build instructions. The target is still present in the Makefile, but we have not been actively maintaining the single-page document and do not promise it will work. The full Specification and the individual API reference pages are what we support and publish at present (public issue 949). Internal Issues: * De-duplicate common valid usage statements shared by multiple commands or structures by using asciidoctor includes and dynamically assigning part of the valid usage ID based on which command or structure they're being applied to (internal issue 779). * Add reference pages for constructs not part of the formal API, such as platform calling convention macros, and script changes supporting them This required suppressing some check_spec_links warning classes in order to pass CI, until a more sophisticated fix can be done (internal issue 888). * Change math notation for the elink:VkPrimitiveTopology descriptions to use short forms `v` and `p` instead of `vertex` and `primitive`, increasing legibility (internal issue 1611). * Rewrite generated file includes relative to a globally specified path, fixing some issues with refpage generation (internal issue 1630). * Update contributor list for `<<VK_EXT_calibrated_timestamps>>`. * Fix use of pathlin in `scripts/generator.py` so the script will work on Windows under Python 3.5 (internal merge request 3107). * Add missing conditionals around the <<descriptorsets-accelerationstructure, Acceleration Structure>> section (internal merge request 3108). * More script synchronization with OpenXR spec repository (internal merge request 3109). * Mark the `<<VK_AMD_gpu_shader_half_float>>` and `<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and the corresponding extension appendices (internal merge request 3112). New Extensions: * `<<VK_EXT_headless_surface>>`
2019-04-16 12:19:43 +00:00
include::{generated}/api/enums/VkValidationFeatureEnableEXT.txt[]
* ename:VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT specifies that
GPU-assisted validation is enabled.
Activating this feature instruments shader programs to generate
additional diagnostic data.
This feature is disabled by default.
* ename:VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT
specifies that the validation layers reserve a descriptor set binding
slot for their own use.
The layer reports a value for
slink:VkPhysicalDeviceLimits::pname:maxBoundDescriptorSets that is one
less than the value reported by the device.
If the device supports the binding of only one descriptor set, the
validation layer does not perform GPU-assisted validation.
This feature is disabled by default.
The GPU-assisted validation feature must be enabled in order to use this
feature.
--
[open,refpage='VkValidationFeatureDisableEXT',desc='Specify validation features to disable',type='enums']
--
Possible values of elements of the
slink:VkValidationFeaturesEXT::pname:pDisabledValidationFeatures array,
specifying validation features to be disabled, are:
Change log for April 16, 2019 Vulkan 1.1.107 spec update: * Update release number to 107. Public Issues: * Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix (public issue 617). * Make <<synchronization-pipeline-barriers-subpass-self-dependencies, subpass self-dependencies>> less restrictive (public issue 777). * Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on `<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849). * Remove single-page (`apispec.html`) refpage sub-targets from the Makefile `allman` target and the build instructions. The target is still present in the Makefile, but we have not been actively maintaining the single-page document and do not promise it will work. The full Specification and the individual API reference pages are what we support and publish at present (public issue 949). Internal Issues: * De-duplicate common valid usage statements shared by multiple commands or structures by using asciidoctor includes and dynamically assigning part of the valid usage ID based on which command or structure they're being applied to (internal issue 779). * Add reference pages for constructs not part of the formal API, such as platform calling convention macros, and script changes supporting them This required suppressing some check_spec_links warning classes in order to pass CI, until a more sophisticated fix can be done (internal issue 888). * Change math notation for the elink:VkPrimitiveTopology descriptions to use short forms `v` and `p` instead of `vertex` and `primitive`, increasing legibility (internal issue 1611). * Rewrite generated file includes relative to a globally specified path, fixing some issues with refpage generation (internal issue 1630). * Update contributor list for `<<VK_EXT_calibrated_timestamps>>`. * Fix use of pathlin in `scripts/generator.py` so the script will work on Windows under Python 3.5 (internal merge request 3107). * Add missing conditionals around the <<descriptorsets-accelerationstructure, Acceleration Structure>> section (internal merge request 3108). * More script synchronization with OpenXR spec repository (internal merge request 3109). * Mark the `<<VK_AMD_gpu_shader_half_float>>` and `<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and the corresponding extension appendices (internal merge request 3112). New Extensions: * `<<VK_EXT_headless_surface>>`
2019-04-16 12:19:43 +00:00
include::{generated}/api/enums/VkValidationFeatureDisableEXT.txt[]
* ename:VK_VALIDATION_FEATURE_DISABLE_ALL_EXT specifies that all
validation checks are disabled.
* ename:VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT specifies that shader
validation is disabled.
This feature is enabled by default.
* ename:VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT specifies that
thread safety validation is disabled.
This feature is enabled by default.
* ename:VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT specifies that
stateless parameter validation is disabled.
This feature is enabled by default.
* ename:VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT specifies that
object lifetime validation is disabled.
This feature is enabled by default.
* ename:VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT specifies that core
validation checks are disabled.
This feature is enabled by default.
If this feature is disabled, the shader validation and GPU-assisted
validation features are also disabled.
* ename:VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT specifies that
protection against duplicate non-dispatchable object handles is
disabled.
This feature is enabled by default.
--
[NOTE]
.Note
====
Disabling checks such as parameter validation and object lifetime validation
prevents the reporting of error conditions that can cause other validation
checks to behave incorrectly or crash.
Some validation checks assume that their inputs are already valid and do not
always revalidate them.
====
[NOTE]
.Note
====
The `<<VK_EXT_validation_features>>` extension subsumes all the
functionality provided in the `<<VK_EXT_validation_flags>>` extension.
====