layers: adjust VU database/scripts for impl flag
authorMike Weiblen <mikew@lunarg.com>
Fri, 3 Feb 2017 19:44:53 +0000 (12:44 -0700)
committerMike Weiblen <mikew@lunarg.com>
Mon, 6 Feb 2017 20:36:00 +0000 (13:36 -0700)
Since the VU database audit, "U" is no longer valid as a value for
the check_implemented status; only "Y" or "N" are valid.

Adjust the spec.py generator script to default to "N" for newly added
Valid Usages.

Adjust database stats script to emit an error message if the
check_implemented value is anything other than "Y" or "N".
Added some whitespace between functional areas.

Update the database to change recently VU lines from "U" to "N".

Change-Id: I72929362d67ddea862cb380e1bfcd0b475531d56

layers/spec.py
layers/vk_validation_error_database.txt
layers/vk_validation_stats.py

index 0ee4e56..51d2b4c 100644 (file)
@@ -238,14 +238,14 @@ class Specification:
         db_lines.append("# The format of the lines is:")
         db_lines.append("# <error_enum>%s<check_implemented>%s<testname>%s<api>%s<errormsg>%s<note>" % (self.delimiter, self.delimiter, self.delimiter, self.delimiter, self.delimiter))
         db_lines.append("# error_enum: Unique error enum for this check of format %s<uniqueid>" % validation_error_enum_name)
-        db_lines.append("# check_implemented: 'Y' if check has been implemented in layers, 'U' for unknown, or 'N' for not implemented")
+        db_lines.append("# check_implemented: 'Y' if check has been implemented in layers, or 'N' for not implemented")
         db_lines.append("# testname: Name of validation test for this check, 'Unknown' for unknown, or 'None' if not implmented")
         db_lines.append("# api: Vulkan API function that this check is related to")
         db_lines.append("# errormsg: The unique error message for this check that includes spec language and link")
         db_lines.append("# note: Free txt field with any custom notes related to the check in question")
         for enum in sorted(self.val_error_dict):
-            # Default to unknown if check or test are implemented, then update below if appropriate
-            implemented = 'U'
+            # Default check/test implementation status to N/Unknown, then update below if appropriate
+            implemented = 'N'
             testname = 'Unknown'
             note = ''
             implicit = self.val_error_dict[enum]['implicit']
index 45fcc7b..4005d32 100644 (file)
@@ -3,7 +3,7 @@
 # The format of the lines is:
 # <error_enum>~^~<check_implemented>~^~<testname>~^~<api>~^~<errormsg>~^~<note>
 # error_enum: Unique error enum for this check of format VALIDATION_ERROR_<uniqueid>
-# check_implemented: 'Y' if check has been implemented in layers, 'U' for unknown, or 'N' for not implemented
+# check_implemented: 'Y' if check has been implemented in layers, or 'N' for not implemented
 # testname: Name of validation test for this check, 'Unknown' for unknown, or 'None' if not implmented
 # api: Vulkan API function that this check is related to
 # errormsg: The unique error message for this check that includes spec language and link
@@ -2483,129 +2483,129 @@ VALIDATION_ERROR_02555~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information
 VALIDATION_ERROR_02556~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'When a semaphore unsignal operation defined by any element of the pWaitSemaphores member of any element of pBindInfo executes on queue, no other queue must be waiting on the same semaphore.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~
 VALIDATION_ERROR_02557~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'All elements of the pWaitSemaphores member of all elements of pBindInfo must be semaphores that are signaled, or have semaphore signal operations previously submitted for execution.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~
 VALIDATION_ERROR_02558~^~N~^~Unknown~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'All elements of elements of the pWaitSemaphores member of pPresentInfo must be semaphores that are signaled, or have semaphore signal operations previously submitted for execution.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueuePresentKHR)~^~
-VALIDATION_ERROR_02559~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'sType must be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
-VALIDATION_ERROR_02560~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
-VALIDATION_ERROR_02561~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'pDisabledValidationChecks must be a pointer to an array of disabledValidationCheckCount VkValidationCheckEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
-VALIDATION_ERROR_02562~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'disabledValidationCheckCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
-VALIDATION_ERROR_02563~^~U~^~Unknown~^~vkGetPhysicalDeviceProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceProperties2KHR)~^~implicit
-VALIDATION_ERROR_02564~^~U~^~Unknown~^~vkGetPhysicalDeviceProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'pProperties must be a pointer to a VkPhysicalDeviceProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceProperties2KHR)~^~implicit
-VALIDATION_ERROR_02565~^~U~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
-VALIDATION_ERROR_02566~^~U~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'pQueueFamilyPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
-VALIDATION_ERROR_02567~^~U~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'If the value referenced by pQueueFamilyPropertyCount is not 0, and pQueueFamilyProperties is not NULL, pQueueFamilyProperties must be a pointer to an array of pQueueFamilyPropertyCount VkQueueFamilyProperties2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
-VALIDATION_ERROR_02568~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'If the pNext chain includes a VkPhysicalDeviceFeatures2KHR structure, then pEnabledFeatures must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
-VALIDATION_ERROR_02569~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'ppEnabledExtensionNames must not contain both VK_KHR_maintenance1 and VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
-VALIDATION_ERROR_02570~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'pNext must be NULL, or a pointer to a valid instance of VkPhysicalDeviceFeatures2KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~implicit
-VALIDATION_ERROR_02571~^~U~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
-VALIDATION_ERROR_02572~^~U~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
-VALIDATION_ERROR_02573~^~U~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
-VALIDATION_ERROR_02574~^~U~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
-VALIDATION_ERROR_02575~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
-VALIDATION_ERROR_02576~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pDeviceEventInfo must be a pointer to a valid VkDeviceEventInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
-VALIDATION_ERROR_02577~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
-VALIDATION_ERROR_02578~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pFence must be a pointer to a VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
-VALIDATION_ERROR_02579~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'sType must be VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02580~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02581~^~U~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'deviceEvent must be a valid VkDeviceEventTypeEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02582~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
-VALIDATION_ERROR_02583~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
-VALIDATION_ERROR_02584~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pDisplayEventInfo must be a pointer to a valid VkDisplayEventInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
-VALIDATION_ERROR_02585~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
-VALIDATION_ERROR_02586~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pFence must be a pointer to a VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
-VALIDATION_ERROR_02587~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'sType must be VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02588~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02589~^~U~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'displayEvent must be a valid VkDisplayEventTypeEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
-VALIDATION_ERROR_02590~^~U~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'Any given element of pAttachments that is a 2D or 2D array image view taken from a 3D image must not be a depth/stencil format' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~
-VALIDATION_ERROR_02591~^~U~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~
-VALIDATION_ERROR_02592~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~
-VALIDATION_ERROR_02593~^~U~^~Unknown~^~vkGetPhysicalDeviceMemoryProperties2KHR~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceMemoryProperties2KHR)~^~implicit
-VALIDATION_ERROR_02594~^~U~^~Unknown~^~vkGetPhysicalDeviceMemoryProperties2KHR~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'pMemoryProperties must be a pointer to a VkPhysicalDeviceMemoryProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceMemoryProperties2KHR)~^~implicit
-VALIDATION_ERROR_02595~^~U~^~Unknown~^~vkCreateImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If flags contains VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, imageType must be VK_IMAGE_TYPE_3D' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCreateInfo)~^~
-VALIDATION_ERROR_02596~^~U~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If image was created with VK_IMAGE_TYPE_3D but without VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR set then viewType must not be VK_IMAGE_VIEW_TYPE_2D or VK_IMAGE_VIEW_TYPE_2D_ARRAY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageViewCreateInfo)~^~
-VALIDATION_ERROR_02597~^~U~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'image must have been created with a usage value containing at least one of VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageViewCreateInfo)~^~
-VALIDATION_ERROR_02598~^~U~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If the imageType specified in VkImageCreateInfo when the image was created was not VK_IMAGE_TYPE_3D or the image view is not created with the viewType of VkImageViewCreateInfo set to VK_VIEW_TYPE_2D_ARRAY then layerCount must be VK_REMAINING_ARRAY_LAYERS, or layerCount must be non-zero and (baseArrayLayer + layerCount) must be less than or equal to the arrayLayers specified in VkImageCreateInfo when the image was created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageAspectFlagBits)~^~
-VALIDATION_ERROR_02599~^~U~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~
-VALIDATION_ERROR_02600~^~U~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~
-VALIDATION_ERROR_02601~^~U~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'srcImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~
-VALIDATION_ERROR_02602~^~U~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'dstImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~
-VALIDATION_ERROR_02603~^~U~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'srcSubresource.baseArrayLayer must be less than and (srcSubresource.layerCount + srcSubresource.baseArrayLayer) must be less than or equal to the number of layers in the source image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~
-VALIDATION_ERROR_02604~^~U~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'dstSubresource.baseArrayLayer must be less than and (dstSubresource.layerCount + dstSubresource.baseArrayLayer) must be less than or equal to the number of layers in the destination image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~
-VALIDATION_ERROR_02605~^~U~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'dstImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~
-VALIDATION_ERROR_02606~^~U~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'srcImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~
-VALIDATION_ERROR_02607~^~U~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '23.5. Controlling the Viewport' which states 'If the multiple viewports feature is not enabled, firstViewport must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetViewport)~^~
-VALIDATION_ERROR_02608~^~U~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '23.5. Controlling the Viewport' which states 'If the multiple viewports feature is not enabled, viewportCount must be 1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetViewport)~^~
-VALIDATION_ERROR_02609~^~U~^~Unknown~^~vkCmdSetScissor~^~For more information refer to Vulkan Spec Section '25.2. Scissor Test' which states 'If the multiple viewports feature is not enabled, firstScissor must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetScissor)~^~
-VALIDATION_ERROR_02610~^~U~^~Unknown~^~vkCmdSetScissor~^~For more information refer to Vulkan Spec Section '25.2. Scissor Test' which states 'If the multiple viewports feature is not enabled, scissorCount must be 1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetScissor)~^~
-VALIDATION_ERROR_02611~^~U~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
-VALIDATION_ERROR_02612~^~U~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
-VALIDATION_ERROR_02613~^~U~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
-VALIDATION_ERROR_02614~^~U~^~Unknown~^~vkRegisterObjectsNVX~^~For more information refer to Vulkan Spec Section '28.2.2. Registering Objects' which states 'indexType must be a valid VkIndexType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkObjectTableIndexBufferEntryNVX)~^~implicit
-VALIDATION_ERROR_02615~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'samples must be a bit value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command and flags equal to the value that is set in VkImageCreateInfo::flags when the image is created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~
-VALIDATION_ERROR_02616~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02617~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pFormatInfo must be a pointer to a valid VkPhysicalDeviceSparseImageFormatInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02618~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02619~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a pointer to an array of pPropertyCount VkSparseImageFormatProperties2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02620~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02621~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02622~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02623~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'type must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02624~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'samples must be a valid VkSampleCountFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02625~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02626~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02627~^~U~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'tiling must be a valid VkImageTiling value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02628~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
-VALIDATION_ERROR_02629~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pCreateInfo must be a pointer to a valid VkViSurfaceCreateInfoNN structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
-VALIDATION_ERROR_02630~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
-VALIDATION_ERROR_02631~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pSurface must be a pointer to a VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
-VALIDATION_ERROR_02632~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'window must be a valid nn::vi::NativeWindowHandle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~
-VALIDATION_ERROR_02633~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'sType must be VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
-VALIDATION_ERROR_02634~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
-VALIDATION_ERROR_02635~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
-VALIDATION_ERROR_02636~^~U~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'window must be a pointer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
-VALIDATION_ERROR_02637~^~U~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
-VALIDATION_ERROR_02638~^~U~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'dpy must be a pointer to a Display value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
-VALIDATION_ERROR_02639~^~U~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
-VALIDATION_ERROR_02640~^~U~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
-VALIDATION_ERROR_02641~^~U~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'dpy must be a pointer to a Display value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
-VALIDATION_ERROR_02642~^~U~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'pDisplay must be a pointer to a VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
-VALIDATION_ERROR_02643~^~U~^~Unknown~^~vkReleaseDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkReleaseDisplayEXT)~^~implicit
-VALIDATION_ERROR_02644~^~U~^~Unknown~^~vkReleaseDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkReleaseDisplayEXT)~^~implicit
-VALIDATION_ERROR_02645~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
-VALIDATION_ERROR_02646~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
-VALIDATION_ERROR_02647~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'pDisplayPowerInfo must be a pointer to a valid VkDisplayPowerInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
-VALIDATION_ERROR_02648~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'sType must be VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
-VALIDATION_ERROR_02649~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
-VALIDATION_ERROR_02650~^~U~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'powerState must be a valid VkDisplayPowerStateEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
-VALIDATION_ERROR_02651~^~U~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
-VALIDATION_ERROR_02652~^~U~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'surface must be a valid VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
-VALIDATION_ERROR_02653~^~U~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'pSurfaceCapabilities must be a pointer to a VkSurfaceCapabilities2EXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
-VALIDATION_ERROR_02654~^~U~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'supportedSurfaceCounters must not include VK_SURFACE_COUNTER_VBLANK_EXT unless the surface queried is a display surface.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSurfaceCapabilities2EXT)~^~
-VALIDATION_ERROR_02655~^~U~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'The bits in surfaceCounters must be supported by VkSwapchainCreateInfoKHR::surface, as reported by vkGetPhysicalDeviceSurfaceCapabilities2EXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~
-VALIDATION_ERROR_02656~^~U~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'sType must be VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
-VALIDATION_ERROR_02657~^~U~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
-VALIDATION_ERROR_02658~^~U~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'surfaceCounters must be a valid combination of VkSurfaceCounterFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
-VALIDATION_ERROR_02659~^~U~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'One or more present commands on swapchain must have been processed by the presentation engine.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~
-VALIDATION_ERROR_02660~^~U~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
-VALIDATION_ERROR_02661~^~U~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'swapchain must be a valid VkSwapchainKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
-VALIDATION_ERROR_02662~^~U~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'counter must be a valid VkSurfaceCounterFlagBitsEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
-VALIDATION_ERROR_02663~^~U~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pCounterValue must be a pointer to a uint64_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
-VALIDATION_ERROR_02664~^~U~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'swapchain must not have been replaced by being passed as the VkSwapchainCreateInfoKHR::oldSwapchain value to vkCreateSwapchainKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~
-VALIDATION_ERROR_02665~^~U~^~Unknown~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pNext must be NULL, or a pointer to a valid instance of VkDisplayPresentInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPresentInfoKHR)~^~implicit
-VALIDATION_ERROR_02666~^~U~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFeatures2KHR)~^~implicit
-VALIDATION_ERROR_02667~^~U~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'pFeatures must be a pointer to a VkPhysicalDeviceFeatures2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFeatures2KHR)~^~implicit
-VALIDATION_ERROR_02668~^~U~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceFeatures2KHR)~^~implicit
-VALIDATION_ERROR_02669~^~U~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceFeatures2KHR)~^~implicit
-VALIDATION_ERROR_02670~^~U~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02671~^~U~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02672~^~U~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'pFormatProperties must be a pointer to a VkFormatProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02673~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02674~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pImageFormatInfo must be a pointer to a valid VkPhysicalDeviceImageFormatInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02675~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pImageFormatProperties must be a pointer to a VkImageFormatProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
-VALIDATION_ERROR_02676~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02677~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02678~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02679~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'type must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02680~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'tiling must be a valid VkImageTiling value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02681~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02682~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
-VALIDATION_ERROR_02683~^~U~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'flags must be a valid combination of VkImageCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02559~^~N~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'sType must be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
+VALIDATION_ERROR_02560~^~N~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
+VALIDATION_ERROR_02561~^~N~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'pDisabledValidationChecks must be a pointer to an array of disabledValidationCheckCount VkValidationCheckEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
+VALIDATION_ERROR_02562~^~N~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'disabledValidationCheckCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkValidationCheckEXT)~^~implicit
+VALIDATION_ERROR_02563~^~N~^~Unknown~^~vkGetPhysicalDeviceProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceProperties2KHR)~^~implicit
+VALIDATION_ERROR_02564~^~N~^~Unknown~^~vkGetPhysicalDeviceProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'pProperties must be a pointer to a VkPhysicalDeviceProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceProperties2KHR)~^~implicit
+VALIDATION_ERROR_02565~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
+VALIDATION_ERROR_02566~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'pQueueFamilyPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
+VALIDATION_ERROR_02567~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'If the value referenced by pQueueFamilyPropertyCount is not 0, and pQueueFamilyProperties is not NULL, pQueueFamilyProperties must be a pointer to an array of pQueueFamilyPropertyCount VkQueueFamilyProperties2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR)~^~implicit
+VALIDATION_ERROR_02568~^~N~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'If the pNext chain includes a VkPhysicalDeviceFeatures2KHR structure, then pEnabledFeatures must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
+VALIDATION_ERROR_02569~^~N~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'ppEnabledExtensionNames must not contain both VK_KHR_maintenance1 and VK_AMD_negative_viewport_height' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
+VALIDATION_ERROR_02570~^~N~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'pNext must be NULL, or a pointer to a valid instance of VkPhysicalDeviceFeatures2KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~implicit
+VALIDATION_ERROR_02571~^~N~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
+VALIDATION_ERROR_02572~^~N~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
+VALIDATION_ERROR_02573~^~N~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
+VALIDATION_ERROR_02574~^~N~^~Unknown~^~vkTrimCommandPoolKHR~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkTrimCommandPoolKHR)~^~implicit
+VALIDATION_ERROR_02575~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
+VALIDATION_ERROR_02576~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pDeviceEventInfo must be a pointer to a valid VkDeviceEventInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
+VALIDATION_ERROR_02577~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
+VALIDATION_ERROR_02578~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pFence must be a pointer to a VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDeviceEventEXT)~^~implicit
+VALIDATION_ERROR_02579~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'sType must be VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02580~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02581~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'deviceEvent must be a valid VkDeviceEventTypeEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02582~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
+VALIDATION_ERROR_02583~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
+VALIDATION_ERROR_02584~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pDisplayEventInfo must be a pointer to a valid VkDisplayEventInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
+VALIDATION_ERROR_02585~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
+VALIDATION_ERROR_02586~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pFence must be a pointer to a VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkRegisterDisplayEventEXT)~^~implicit
+VALIDATION_ERROR_02587~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'sType must be VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02588~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02589~^~N~^~Unknown~^~vkRegisterDisplayEventEXT~^~For more information refer to Vulkan Spec Section '6.2.1. Alternate Methods to Signal Fences' which states 'displayEvent must be a valid VkDisplayEventTypeEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayEventTypeEXT)~^~implicit
+VALIDATION_ERROR_02590~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'Any given element of pAttachments that is a 2D or 2D array image view taken from a 3D image must not be a depth/stencil format' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~
+VALIDATION_ERROR_02591~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~
+VALIDATION_ERROR_02592~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~
+VALIDATION_ERROR_02593~^~N~^~Unknown~^~vkGetPhysicalDeviceMemoryProperties2KHR~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceMemoryProperties2KHR)~^~implicit
+VALIDATION_ERROR_02594~^~N~^~Unknown~^~vkGetPhysicalDeviceMemoryProperties2KHR~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'pMemoryProperties must be a pointer to a VkPhysicalDeviceMemoryProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceMemoryProperties2KHR)~^~implicit
+VALIDATION_ERROR_02595~^~N~^~Unknown~^~vkCreateImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If flags contains VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, imageType must be VK_IMAGE_TYPE_3D' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCreateInfo)~^~
+VALIDATION_ERROR_02596~^~N~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If image was created with VK_IMAGE_TYPE_3D but without VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR set then viewType must not be VK_IMAGE_VIEW_TYPE_2D or VK_IMAGE_VIEW_TYPE_2D_ARRAY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageViewCreateInfo)~^~
+VALIDATION_ERROR_02597~^~N~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'image must have been created with a usage value containing at least one of VK_IMAGE_USAGE_SAMPLED_BIT, VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageViewCreateInfo)~^~
+VALIDATION_ERROR_02598~^~N~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If the imageType specified in VkImageCreateInfo when the image was created was not VK_IMAGE_TYPE_3D or the image view is not created with the viewType of VkImageViewCreateInfo set to VK_VIEW_TYPE_2D_ARRAY then layerCount must be VK_REMAINING_ARRAY_LAYERS, or layerCount must be non-zero and (baseArrayLayer + layerCount) must be less than or equal to the arrayLayers specified in VkImageCreateInfo when the image was created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageAspectFlagBits)~^~
+VALIDATION_ERROR_02599~^~N~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~
+VALIDATION_ERROR_02600~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~
+VALIDATION_ERROR_02601~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'srcImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~
+VALIDATION_ERROR_02602~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'dstImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~
+VALIDATION_ERROR_02603~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'srcSubresource.baseArrayLayer must be less than and (srcSubresource.layerCount + srcSubresource.baseArrayLayer) must be less than or equal to the number of layers in the source image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~
+VALIDATION_ERROR_02604~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'dstSubresource.baseArrayLayer must be less than and (dstSubresource.layerCount + dstSubresource.baseArrayLayer) must be less than or equal to the number of layers in the destination image' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~
+VALIDATION_ERROR_02605~^~N~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'dstImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~
+VALIDATION_ERROR_02606~^~N~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'srcImage must use a format that supports VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, which is indicated by VkFormatProperties::linearTilingFeatures (for linearly tiled images) or VkFormatProperties::optimalTilingFeatures (for optimally tiled images) - as returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~
+VALIDATION_ERROR_02607~^~N~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '23.5. Controlling the Viewport' which states 'If the multiple viewports feature is not enabled, firstViewport must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetViewport)~^~
+VALIDATION_ERROR_02608~^~N~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '23.5. Controlling the Viewport' which states 'If the multiple viewports feature is not enabled, viewportCount must be 1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetViewport)~^~
+VALIDATION_ERROR_02609~^~N~^~Unknown~^~vkCmdSetScissor~^~For more information refer to Vulkan Spec Section '25.2. Scissor Test' which states 'If the multiple viewports feature is not enabled, firstScissor must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetScissor)~^~
+VALIDATION_ERROR_02610~^~N~^~Unknown~^~vkCmdSetScissor~^~For more information refer to Vulkan Spec Section '25.2. Scissor Test' which states 'If the multiple viewports feature is not enabled, scissorCount must be 1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetScissor)~^~
+VALIDATION_ERROR_02611~^~N~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'If the robust buffer access feature is not enabled, and any shader stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage buffer, it must not access values outside of the range of that buffer specified in the currently bound descriptor set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
+VALIDATION_ERROR_02612~^~N~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Any VkImageView being sampled with VK_FILTER_LINEAR as a result of this command must be of a format which supports linear filtering, as specified by the VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in VkFormatProperties::linearTilingFeatures (for a linear image) or VkFormatProperties::optimalTilingFeatures(for an optimally tiled image) returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
+VALIDATION_ERROR_02613~^~N~^~Unknown~^~vkCmdDispatch~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatch)~^~
+VALIDATION_ERROR_02614~^~N~^~Unknown~^~vkRegisterObjectsNVX~^~For more information refer to Vulkan Spec Section '28.2.2. Registering Objects' which states 'indexType must be a valid VkIndexType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkObjectTableIndexBufferEntryNVX)~^~implicit
+VALIDATION_ERROR_02615~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'samples must be a bit value that is set in VkImageFormatProperties::sampleCounts returned by vkGetPhysicalDeviceImageFormatProperties with format, type, tiling, and usage equal to those in this command and flags equal to the value that is set in VkImageCreateInfo::flags when the image is created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~
+VALIDATION_ERROR_02616~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02617~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pFormatInfo must be a pointer to a valid VkPhysicalDeviceSparseImageFormatInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02618~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02619~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a pointer to an array of pPropertyCount VkSparseImageFormatProperties2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02620~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02621~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02622~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02623~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'type must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02624~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'samples must be a valid VkSampleCountFlagBits value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02625~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02626~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02627~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '29.7.3. Sparse Image Format Properties' which states 'tiling must be a valid VkImageTiling value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02628~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
+VALIDATION_ERROR_02629~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pCreateInfo must be a pointer to a valid VkViSurfaceCreateInfoNN structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
+VALIDATION_ERROR_02630~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
+VALIDATION_ERROR_02631~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pSurface must be a pointer to a VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateViSurfaceNN)~^~implicit
+VALIDATION_ERROR_02632~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'window must be a valid nn::vi::NativeWindowHandle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~
+VALIDATION_ERROR_02633~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'sType must be VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
+VALIDATION_ERROR_02634~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
+VALIDATION_ERROR_02635~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
+VALIDATION_ERROR_02636~^~N~^~Unknown~^~vkCreateViSurfaceNN~^~For more information refer to Vulkan Spec Section '30.2.7. VI Platform' which states 'window must be a pointer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViSurfaceCreateInfoNN)~^~implicit
+VALIDATION_ERROR_02637~^~N~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
+VALIDATION_ERROR_02638~^~N~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'dpy must be a pointer to a Display value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
+VALIDATION_ERROR_02639~^~N~^~Unknown~^~vkAcquireXlibDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireXlibDisplayEXT)~^~implicit
+VALIDATION_ERROR_02640~^~N~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
+VALIDATION_ERROR_02641~^~N~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'dpy must be a pointer to a Display value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
+VALIDATION_ERROR_02642~^~N~^~Unknown~^~vkGetRandROutputDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'pDisplay must be a pointer to a VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRandROutputDisplayEXT)~^~implicit
+VALIDATION_ERROR_02643~^~N~^~Unknown~^~vkReleaseDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkReleaseDisplayEXT)~^~implicit
+VALIDATION_ERROR_02644~^~N~^~Unknown~^~vkReleaseDisplayEXT~^~For more information refer to Vulkan Spec Section '30.3.1. Display Enumeration' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkReleaseDisplayEXT)~^~implicit
+VALIDATION_ERROR_02645~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
+VALIDATION_ERROR_02646~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'display must be a valid VkDisplayKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
+VALIDATION_ERROR_02647~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'pDisplayPowerInfo must be a pointer to a valid VkDisplayPowerInfoEXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDisplayPowerControlEXT)~^~implicit
+VALIDATION_ERROR_02648~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'sType must be VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
+VALIDATION_ERROR_02649~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
+VALIDATION_ERROR_02650~^~N~^~Unknown~^~vkDisplayPowerControlEXT~^~For more information refer to Vulkan Spec Section '30.3.2. Display Control' which states 'powerState must be a valid VkDisplayPowerStateEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplayPowerStateEXT)~^~implicit
+VALIDATION_ERROR_02651~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
+VALIDATION_ERROR_02652~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'surface must be a valid VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
+VALIDATION_ERROR_02653~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'pSurfaceCapabilities must be a pointer to a VkSurfaceCapabilities2EXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT)~^~implicit
+VALIDATION_ERROR_02654~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~For more information refer to Vulkan Spec Section '30.5. Surface Queries' which states 'supportedSurfaceCounters must not include VK_SURFACE_COUNTER_VBLANK_EXT unless the surface queried is a display surface.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSurfaceCapabilities2EXT)~^~
+VALIDATION_ERROR_02655~^~N~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'The bits in surfaceCounters must be supported by VkSwapchainCreateInfoKHR::surface, as reported by vkGetPhysicalDeviceSurfaceCapabilities2EXT.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~
+VALIDATION_ERROR_02656~^~N~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'sType must be VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
+VALIDATION_ERROR_02657~^~N~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
+VALIDATION_ERROR_02658~^~N~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'surfaceCounters must be a valid combination of VkSurfaceCounterFlagBitsEXT values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCounterCreateInfoEXT)~^~implicit
+VALIDATION_ERROR_02659~^~N~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'One or more present commands on swapchain must have been processed by the presentation engine.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~
+VALIDATION_ERROR_02660~^~N~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
+VALIDATION_ERROR_02661~^~N~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'swapchain must be a valid VkSwapchainKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
+VALIDATION_ERROR_02662~^~N~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'counter must be a valid VkSurfaceCounterFlagBitsEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
+VALIDATION_ERROR_02663~^~N~^~Unknown~^~vkGetSwapchainCounterEXT~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pCounterValue must be a pointer to a uint64_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetSwapchainCounterEXT)~^~implicit
+VALIDATION_ERROR_02664~^~N~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'swapchain must not have been replaced by being passed as the VkSwapchainCreateInfoKHR::oldSwapchain value to vkCreateSwapchainKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~
+VALIDATION_ERROR_02665~^~N~^~Unknown~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pNext must be NULL, or a pointer to a valid instance of VkDisplayPresentInfoKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPresentInfoKHR)~^~implicit
+VALIDATION_ERROR_02666~^~N~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFeatures2KHR)~^~implicit
+VALIDATION_ERROR_02667~^~N~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'pFeatures must be a pointer to a VkPhysicalDeviceFeatures2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFeatures2KHR)~^~implicit
+VALIDATION_ERROR_02668~^~N~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceFeatures2KHR)~^~implicit
+VALIDATION_ERROR_02669~^~N~^~Unknown~^~vkGetPhysicalDeviceFeatures2KHR~^~For more information refer to Vulkan Spec Section '32.1. Features' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceFeatures2KHR)~^~implicit
+VALIDATION_ERROR_02670~^~N~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02671~^~N~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02672~^~N~^~Unknown~^~vkGetPhysicalDeviceFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.3.2. Format Properties' which states 'pFormatProperties must be a pointer to a VkFormatProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02673~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02674~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pImageFormatInfo must be a pointer to a valid VkPhysicalDeviceImageFormatInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02675~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pImageFormatProperties must be a pointer to a VkImageFormatProperties2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR)~^~implicit
+VALIDATION_ERROR_02676~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02677~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02678~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02679~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'type must be a valid VkImageType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02680~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'tiling must be a valid VkImageTiling value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02681~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02682~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
+VALIDATION_ERROR_02683~^~N~^~Unknown~^~vkGetPhysicalDeviceImageFormatProperties2KHR~^~For more information refer to Vulkan Spec Section '32.4. Additional Image Capabilities' which states 'flags must be a valid combination of VkImageCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPhysicalDeviceImageFormatInfo2KHR)~^~implicit
 
index f34fb06..acf73ae 100755 (executable)
@@ -1,8 +1,8 @@
 #!/usr/bin/env python3
-# Copyright (c) 2015-2016 The Khronos Group Inc.
-# Copyright (c) 2015-2016 Valve Corporation
-# Copyright (c) 2015-2016 LunarG, Inc.
-# Copyright (c) 2015-2016 Google Inc.
+# Copyright (c) 2015-2017 The Khronos Group Inc.
+# Copyright (c) 2015-2017 Valve Corporation
+# Copyright (c) 2015-2017 LunarG, Inc.
+# Copyright (c) 2015-2017 Google Inc.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -89,6 +89,7 @@ class ValidationDatabase:
         self.db_implemented_enums = [] # list of all error enums claiming to be implemented in database file
         self.db_unimplemented_implicit = [] # list of all implicit checks that aren't marked implemented
         self.db_enum_to_tests = {} # dict where enum is key to lookup list of tests implementing the enum
+        self.db_invalid_implemented = [] # list of checks with invalid check_implemented flags
         #self.src_implemented_enums
     def read(self):
         """Read a database file into internal data structures, format of each line is <enum><implemented Y|N?><testname><api><errormsg><notes>"""
@@ -120,6 +121,8 @@ class ValidationDatabase:
                     self.db_implemented_enums.append(error_enum)
                 elif 'implicit' in note: # only make note of non-implemented implicit checks
                     self.db_unimplemented_implicit.append(error_enum)
+                if implemented not in ['Y', 'N']:
+                    self.db_invalid_implemented.append(error_enum)
                 if testname.lower() not in ['unknown', 'none']:
                     self.db_enum_to_tests[error_enum] = testname.split(',')
                     #if len(self.db_enum_to_tests[error_enum]) > 1:
@@ -288,12 +291,23 @@ def main(argv=None):
     # Process stats - Just doing this inline in main, could make a fancy class to handle
     #   all the processing of data and then get results from that
     txt_color = bcolors()
+
     print("Validation Statistics")
     # First give number of checks in db & header and report any discrepancies
     db_enums = len(val_db.db_dict.keys())
     hdr_enums = len(val_header.enums)
     print(" Database file includes %d unique checks" % (db_enums))
     print(" Header file declares %d unique checks" % (hdr_enums))
+
+    # Report any checks that have an invalid check_implemented flag
+    if len(val_db.db_invalid_implemented) > 0:
+        result = 1
+        print(txt_color.red() + "The following checks have an invalid check_implemented flag (must be 'Y' or 'N'):" + txt_color.endc())
+        for invalid_imp_enum in val_db.db_invalid_implemented:
+            check_implemented = val_db.db_dict[invalid_imp_enum]['check_implemented']
+            print(txt_color.red() + "    %s has check_implemented flag '%s'" % (invalid_imp_enum, check_implemented) + txt_color.endc())
+
+    # Report details about how well the Database and Header are synchronized.
     tmp_db_dict = val_db.db_dict
     db_missing = []
     for enum in val_header.enums:
@@ -312,6 +326,7 @@ def main(argv=None):
             print(txt_color.red() + "   The following checks are in database but haven't been declared in the header:" + txt_color.endc())
             for extra_enum in tmp_db_dict:
                 print(txt_color.red() + "    %s" % (extra_enum) + txt_color.endc())
+
     # Report out claimed implemented checks vs. found actual implemented checks
     imp_not_found = [] # Checks claimed to implemented in DB file but no source found
     imp_not_claimed = [] # Checks found implemented but not claimed to be in DB
@@ -325,6 +340,7 @@ def main(argv=None):
         if src_enum not in val_db.db_implemented_enums:
             imp_not_claimed.append(src_enum)
     print(" Database file claims that %d checks (%s) are implemented in source." % (len(val_db.db_implemented_enums), "{0:.0f}%".format(float(len(val_db.db_implemented_enums))/db_enums * 100)))
+
     if len(val_db.db_unimplemented_implicit) > 0:
         print(" Database file claims %d implicit checks (%s) that are not implemented." % (len(val_db.db_unimplemented_implicit), "{0:.0f}%".format(float(len(val_db.db_unimplemented_implicit))/db_enums * 100)))
         total_checks = len(val_db.db_implemented_enums) + len(val_db.db_unimplemented_implicit)
@@ -342,6 +358,7 @@ def main(argv=None):
             print(txt_color.red() + "   The following checks are implemented in source, but not claimed to be in Database:" + txt_color.endc())
             for imp_enum in imp_not_claimed:
                 print(txt_color.red() + "    %s" % (imp_enum) + txt_color.endc())
+
     if multiple_uses:
         print(txt_color.yellow() + "  Note that some checks are used multiple times. These may be good candidates for new valid usage spec language." + txt_color.endc())
         print(txt_color.yellow() + "  Here is a list of each check used multiple times with its number of uses:" + txt_color.endc())
@@ -350,6 +367,7 @@ def main(argv=None):
                 print(txt_color.yellow() + "   %s: %d uses in file,line:" % (enum, val_source.enum_count_dict[enum]['count']) + txt_color.endc())
                 for file_line in val_source.enum_count_dict[enum]['file_line']:
                     print(txt_color.yellow() + "   \t%s" % (file_line) + txt_color.endc())
+
     # Now check that tests claimed to be implemented are actual test names
     bad_testnames = []
     tests_missing_enum = {} # Report tests that don't use validation error enum to check for error case
@@ -374,6 +392,7 @@ def main(argv=None):
             print(txt_color.yellow() + "   Testname %s does not explicitly check for these ids:" % (testname) + txt_color.endc())
             for enum in tests_missing_enum[testname]:
                 print(txt_color.yellow() + "    %s" % (enum) + txt_color.endc())
+
     # TODO : Go through all enums found in the test file and make sure they're correctly documented in the database file
     print(" Database file claims that %d checks have tests written." % len(val_db.db_enum_to_tests))
     if len(bad_testnames) == 0: