Vulkan-Docs/chapters/VK_EXT_validation_features.txt
Jon Leech 521e98405f Change log for August 17, 2019 Vulkan 1.1.120 spec update:
* Update release number to 120.

Github Issues:

  * Add slink:VkAccelerationStructureTypeNV explicitly to extension XML for
    `<<VK_NV_ray_tracing>>` (public issue 848).
  * Add missing valid usage statements for feature flags in
    slink:VkCommandBufferInheritanceInfo (public pull request 1017).

Internal Issues:

  * Clarify behavior of non-premultiplied destination colors for
    `<<VK_EXT_blend_operation_advanced>>` prior to the definition of
    slink:VkBlendOverlapEXT (internal issue 1766).
  * Fix the confusing phrasing "`no other queue must: be (doing something)`"
    for flink:vkQueuePresentKHR, flink:vkQueueSubmit, and
    flink:vkQueueBindSparse (internal issue 1774).
  * Add `<<VK_EXT_validation_features>>` flag to enable best practices
    checks, which will soon be available in the validation layer (internal
    issue 1779).
  * Specify allowed characters for VUID tag name components in the style
    guide (internal issue 1788).
  * Update links to SPIR-V extension specifications, and parameterize their
    markup in case the URLs change in the future (internal issue 1797).
  * Fix an off-by-one error in the valid usage statement for
    slink:VkPipelineExecutableInfoKHR (internal merge request 3303).
  * Clean up markup indentation not matching the style guide (internal merge
    request 3314).
  * Minor script updates to allow refpage aliases, generate a dynamic TOC
    for refpages, generate Apache rewrite rules for aliases, open external
    links from refpages in a new window, and synchronize with the OpenCL
    scripts. This will shortly enable a paned navigation setup for refpages,
    similar to the OpenCL 2.2 refpages (internal merge request 3322).
  * Script updates to add tests to the checker, refactor and reformat code,
    generate better text for some valid usage statements, use more Pythonic
    idioms, and synchronize with the OpenXR scripts (internal merge request
    3239).
  * Script updates and minor fixes in spec language to not raise checker
    errors for refpage markup of pages not existing in the API, such as
    VKAPI_NO_STDINT_H. Remove corresponding suppression of some
    check_spec_links.py tests from .gitlab-ci.yml and 'allchecks' target
    (internal merge request 3315).
2019-08-17 15:33:21 -07:00

111 lines
4.6 KiB
Plaintext

[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.
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.
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:
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.
* ename:VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT specifies that
Vulkan best-practices validation is enabled.
Activating this feature enables the output of warnings related to common
misuse of the API, but which are not explicitly prohibited by the
specification.
This feature is disabled by default.
--
[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:
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.
====