diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-06-28 14:23:22 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-07-03 14:00:45 -0600 |
| commit | ab3bf2238c154013dc5fb229b5689a482e97b04a (patch) | |
| tree | 398a1d9d400cc25a19000432e52ed11ad57cde08 | |
| parent | 9f65aec9916b7380184f13788c8eb1b90e55bcf5 (diff) | |
| download | usermoji-ab3bf2238c154013dc5fb229b5689a482e97b04a.tar.xz | |
layers: Add VUs to more PV struct-type_array checks
Change-Id: I9aa1ea41550d24113117d40617689688b96227db
| -rw-r--r-- | layers/parameter_validation_utils.h | 9 | ||||
| -rw-r--r-- | layers/vk_validation_error_database.txt | 38 | ||||
| -rw-r--r-- | scripts/parameter_validation_generator.py | 14 |
3 files changed, 32 insertions, 29 deletions
diff --git a/layers/parameter_validation_utils.h b/layers/parameter_validation_utils.h index a83a6a53..b9ec355f 100644 --- a/layers/parameter_validation_utils.h +++ b/layers/parameter_validation_utils.h @@ -324,12 +324,12 @@ bool validate_struct_type(debug_report_data *report_data, const char *apiName, c template <typename T> bool validate_struct_type_array(debug_report_data *report_data, const char *apiName, const ParameterName &countName, const ParameterName &arrayName, const char *sTypeName, uint32_t count, const T *array, - VkStructureType sType, bool countRequired, bool arrayRequired) { + VkStructureType sType, bool countRequired, bool arrayRequired, UNIQUE_VALIDATION_ERROR_CODE vuid) { bool skip_call = false; if ((count == 0) || (array == NULL)) { skip_call |= validate_array(report_data, apiName, countName, arrayName, count, array, countRequired, arrayRequired, - VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, vuid); } else { // Verify that all structs in the array have the correct type for (uint32_t i = 0; i < count; ++i) { @@ -368,7 +368,8 @@ bool validate_struct_type_array(debug_report_data *report_data, const char *apiN template <typename T> bool validate_struct_type_array(debug_report_data *report_data, const char *apiName, const ParameterName &countName, const ParameterName &arrayName, const char *sTypeName, uint32_t *count, const T *array, - VkStructureType sType, bool countPtrRequired, bool countValueRequired, bool arrayRequired) { + VkStructureType sType, bool countPtrRequired, bool countValueRequired, bool arrayRequired, + UNIQUE_VALIDATION_ERROR_CODE vuid) { bool skip_call = false; if (count == NULL) { @@ -379,7 +380,7 @@ bool validate_struct_type_array(debug_report_data *report_data, const char *apiN } } else { skip_call |= validate_struct_type_array(report_data, apiName, countName, arrayName, sTypeName, (*count), array, sType, - countValueRequired, arrayRequired); + countValueRequired, arrayRequired, vuid); } return skip_call; diff --git a/layers/vk_validation_error_database.txt b/layers/vk_validation_error_database.txt index 92551f45..215a69f2 100644 --- a/layers/vk_validation_error_database.txt +++ b/layers/vk_validation_error_database.txt @@ -330,7 +330,7 @@ VALIDATION_ERROR_056002ec~^~N~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateIn VALIDATION_ERROR_05609005~^~Y~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-flags-zerobitmask~^~core~^~The spec valid usage text states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-flags-zerobitmask)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_05615a01~^~N~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter~^~core~^~The spec valid usage text states 'If pEnabledFeatures is not NULL, pEnabledFeatures must be a pointer to a valid VkPhysicalDeviceFeatures structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pEnabledFeatures-parameter)~^~implicit VALIDATION_ERROR_0561c40d~^~N~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states 'Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPhysicalDeviceFeatures2KHR, VkPhysicalDeviceMultiviewFeaturesKHX, or VkDeviceGroupDeviceCreateInfoKHX' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pNext-pNext)~^~implicit -VALIDATION_ERROR_0561fe01~^~N~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter~^~core~^~The spec valid usage text states 'pQueueCreateInfos must be a pointer to an array of queueCreateInfoCount valid VkDeviceQueueCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter)~^~implicit +VALIDATION_ERROR_0561fe01~^~Y~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter~^~core~^~The spec valid usage text states 'pQueueCreateInfos must be a pointer to an array of queueCreateInfoCount valid VkDeviceQueueCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-pQueueCreateInfos-parameter)~^~implicit VALIDATION_ERROR_05628e01~^~Y~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-parameter~^~core~^~The spec valid usage text states 'If enabledExtensionCount is not 0, ppEnabledExtensionNames must be a pointer to an array of enabledExtensionCount null-terminated UTF-8 strings' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-parameter)~^~implicit VALIDATION_ERROR_05629001~^~Y~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-ppEnabledLayerNames-parameter~^~core~^~The spec valid usage text states 'If enabledLayerCount is not 0, ppEnabledLayerNames must be a pointer to an array of enabledLayerCount null-terminated UTF-8 strings' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-ppEnabledLayerNames-parameter)~^~implicit VALIDATION_ERROR_0562a01b~^~N~^~Unknown~^~vkCreateDevice~^~VUID-VkDeviceCreateInfo-queueCreateInfoCount-arraylength~^~core~^~The spec valid usage text states 'queueCreateInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkDeviceCreateInfo-queueCreateInfoCount-arraylength)~^~implicit @@ -536,7 +536,7 @@ VALIDATION_ERROR_09615601~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGra VALIDATION_ERROR_09619801~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pInputAssemblyState-parameter~^~core~^~The spec valid usage text states 'pInputAssemblyState must be a pointer to a valid VkPipelineInputAssemblyStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pInputAssemblyState-parameter)~^~implicit VALIDATION_ERROR_0961c40d~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pNext-pNext~^~core~^~The spec valid usage text states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pNext-pNext)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_09620801~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-parameter~^~core~^~The spec valid usage text states 'pRasterizationState must be a pointer to a valid VkPipelineRasterizationStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-parameter)~^~implicit -VALIDATION_ERROR_09623e01~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pStages-parameter~^~core~^~The spec valid usage text states 'pStages must be a pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pStages-parameter)~^~implicit +VALIDATION_ERROR_09623e01~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pStages-parameter~^~core~^~The spec valid usage text states 'pStages must be a pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pStages-parameter)~^~implicit VALIDATION_ERROR_09626801~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-parameter~^~core~^~The spec valid usage text states 'pVertexInputState must be a pointer to a valid VkPipelineVertexInputStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-parameter)~^~implicit VALIDATION_ERROR_0962ae01~^~Y~^~None~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-renderPass-parameter~^~core~^~The spec valid usage text states 'renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-renderPass-parameter)~^~implicit VALIDATION_ERROR_0962b00b~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-VkGraphicsPipelineCreateInfo-sType-sType~^~core~^~The spec valid usage text states 'sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-sType-sType)~^~implicit, TBD in parameter validation layer. @@ -1477,7 +1477,7 @@ VALIDATION_ERROR_1700c601~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~VUID-vk VALIDATION_ERROR_1700c607~^~Y~^~Unknown~^~vkBindBufferMemory~^~VUID-vkBindBufferMemory-memory-parent~^~core~^~The spec valid usage text states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory-memory-parent)~^~implicit VALIDATION_ERROR_1720161b~^~N~^~Unknown~^~vkBindBufferMemory2KHX~^~VUID-vkBindBufferMemory2KHX-bindInfoCount-arraylength~^~core~^~The spec valid usage text states 'bindInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory2KHX-bindInfoCount-arraylength)~^~implicit VALIDATION_ERROR_17205601~^~N~^~Unknown~^~vkBindBufferMemory2KHX~^~VUID-vkBindBufferMemory2KHX-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory2KHX-device-parameter)~^~implicit -VALIDATION_ERROR_1720fa01~^~N~^~Unknown~^~vkBindBufferMemory2KHX~^~VUID-vkBindBufferMemory2KHX-pBindInfos-parameter~^~core~^~The spec valid usage text states 'pBindInfos must be a pointer to an array of bindInfoCount valid VkBindBufferMemoryInfoKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory2KHX-pBindInfos-parameter)~^~implicit +VALIDATION_ERROR_1720fa01~^~Y~^~Unknown~^~vkBindBufferMemory2KHX~^~VUID-vkBindBufferMemory2KHX-pBindInfos-parameter~^~core~^~The spec valid usage text states 'pBindInfos must be a pointer to an array of bindInfoCount valid VkBindBufferMemoryInfoKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindBufferMemory2KHX-pBindInfos-parameter)~^~implicit VALIDATION_ERROR_17400828~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01044~^~core~^~The spec valid usage text states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-01044)~^~ VALIDATION_ERROR_1740082a~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~VUID-vkBindImageMemory-image-01045~^~core~^~The spec valid usage text states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-image-01045)~^~ VALIDATION_ERROR_1740082c~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~VUID-vkBindImageMemory-memoryOffset-01046~^~core~^~The spec valid usage text states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-memoryOffset-01046)~^~ @@ -1493,7 +1493,7 @@ VALIDATION_ERROR_1740c601~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~VUID-vkB VALIDATION_ERROR_1740c607~^~Y~^~Unknown~^~vkBindImageMemory~^~VUID-vkBindImageMemory-memory-parent~^~core~^~The spec valid usage text states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory-memory-parent)~^~implicit VALIDATION_ERROR_1760161b~^~N~^~Unknown~^~vkBindImageMemory2KHX~^~VUID-vkBindImageMemory2KHX-bindInfoCount-arraylength~^~core~^~The spec valid usage text states 'bindInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory2KHX-bindInfoCount-arraylength)~^~implicit VALIDATION_ERROR_17605601~^~N~^~Unknown~^~vkBindImageMemory2KHX~^~VUID-vkBindImageMemory2KHX-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory2KHX-device-parameter)~^~implicit -VALIDATION_ERROR_1760fa01~^~N~^~Unknown~^~vkBindImageMemory2KHX~^~VUID-vkBindImageMemory2KHX-pBindInfos-parameter~^~core~^~The spec valid usage text states 'pBindInfos must be a pointer to an array of bindInfoCount valid VkBindImageMemoryInfoKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory2KHX-pBindInfos-parameter)~^~implicit +VALIDATION_ERROR_1760fa01~^~Y~^~Unknown~^~vkBindImageMemory2KHX~^~VUID-vkBindImageMemory2KHX-pBindInfos-parameter~^~core~^~The spec valid usage text states 'pBindInfos must be a pointer to an array of bindInfoCount valid VkBindImageMemoryInfoKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkBindImageMemory2KHX-pBindInfos-parameter)~^~implicit VALIDATION_ERROR_17800009~^~Y~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-commonparent~^~core~^~The spec valid usage text states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-commonparent)~^~implicit VALIDATION_ERROR_1780063c~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-queryPool-00798~^~core~^~The spec valid usage text states 'The query identified by queryPool and query must currently not be active' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-queryPool-00798)~^~ VALIDATION_ERROR_1780063e~^~N~^~Unknown~^~vkCmdBeginQuery~^~VUID-vkCmdBeginQuery-queryPool-00799~^~core~^~The spec valid usage text states 'The query identified by queryPool and query must be unavailable' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdBeginQuery-queryPool-00799)~^~ @@ -2091,7 +2091,7 @@ VALIDATION_ERROR_1b807801~^~N~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipel VALIDATION_ERROR_1b807803~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-dstStageMask-requiredbitmask~^~core~^~The spec valid usage text states 'dstStageMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-dstStageMask-requiredbitmask)~^~implicit VALIDATION_ERROR_1b810401~^~Y~^~None~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-pBufferMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If bufferMemoryBarrierCount is not 0, pBufferMemoryBarriers must be a pointer to an array of bufferMemoryBarrierCount valid VkBufferMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pBufferMemoryBarriers-parameter)~^~implicit VALIDATION_ERROR_1b818a01~^~Y~^~None~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-pImageMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If imageMemoryBarrierCount is not 0, pImageMemoryBarriers must be a pointer to an array of imageMemoryBarrierCount valid VkImageMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pImageMemoryBarriers-parameter)~^~implicit -VALIDATION_ERROR_1b81ac01~^~N~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-pMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If memoryBarrierCount is not 0, pMemoryBarriers must be a pointer to an array of memoryBarrierCount valid VkMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-parameter)~^~implicit +VALIDATION_ERROR_1b81ac01~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-pMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If memoryBarrierCount is not 0, pMemoryBarriers must be a pointer to an array of memoryBarrierCount valid VkMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-parameter)~^~implicit VALIDATION_ERROR_1b82d401~^~N~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-srcStageMask-parameter~^~core~^~The spec valid usage text states 'srcStageMask must be a valid combination of VkPipelineStageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-srcStageMask-parameter)~^~implicit VALIDATION_ERROR_1b82d403~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~VUID-vkCmdPipelineBarrier-srcStageMask-requiredbitmask~^~core~^~The spec valid usage text states 'srcStageMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdPipelineBarrier-srcStageMask-requiredbitmask)~^~implicit VALIDATION_ERROR_1ba00017~^~N~^~Unknown~^~vkCmdProcessCommandsNVX~^~VUID-vkCmdProcessCommandsNVX-renderpass~^~core~^~The spec valid usage text states 'This command must only be called inside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdProcessCommandsNVX-renderpass)~^~implicit @@ -2323,7 +2323,7 @@ VALIDATION_ERROR_1e60801b~^~N~^~Unknown~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents VALIDATION_ERROR_1e610401~^~Y~^~None~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-pBufferMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If bufferMemoryBarrierCount is not 0, pBufferMemoryBarriers must be a pointer to an array of bufferMemoryBarrierCount valid VkBufferMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-pBufferMemoryBarriers-parameter)~^~implicit VALIDATION_ERROR_1e616001~^~Y~^~None~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-pEvents-parameter~^~core~^~The spec valid usage text states 'pEvents must be a pointer to an array of eventCount valid VkEvent handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-pEvents-parameter)~^~implicit VALIDATION_ERROR_1e618a01~^~Y~^~None~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-pImageMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If imageMemoryBarrierCount is not 0, pImageMemoryBarriers must be a pointer to an array of imageMemoryBarrierCount valid VkImageMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-pImageMemoryBarriers-parameter)~^~implicit -VALIDATION_ERROR_1e61ac01~^~N~^~Unknown~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-pMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If memoryBarrierCount is not 0, pMemoryBarriers must be a pointer to an array of memoryBarrierCount valid VkMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-pMemoryBarriers-parameter)~^~implicit +VALIDATION_ERROR_1e61ac01~^~Y~^~Unknown~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-pMemoryBarriers-parameter~^~core~^~The spec valid usage text states 'If memoryBarrierCount is not 0, pMemoryBarriers must be a pointer to an array of memoryBarrierCount valid VkMemoryBarrier structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-pMemoryBarriers-parameter)~^~implicit VALIDATION_ERROR_1e62d401~^~Y~^~Unknown~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-srcStageMask-parameter~^~core~^~The spec valid usage text states 'srcStageMask must be a valid combination of VkPipelineStageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-srcStageMask-parameter)~^~implicit VALIDATION_ERROR_1e62d403~^~Y~^~Unknown~^~vkCmdWaitEvents~^~VUID-vkCmdWaitEvents-srcStageMask-requiredbitmask~^~core~^~The spec valid usage text states 'srcStageMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWaitEvents-srcStageMask-requiredbitmask)~^~implicit VALIDATION_ERROR_1e800009~^~Y~^~Unknown~^~vkCmdWriteTimestamp~^~VUID-vkCmdWriteTimestamp-commonparent~^~core~^~The spec valid usage text states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdWriteTimestamp-commonparent)~^~implicit @@ -2359,7 +2359,7 @@ VALIDATION_ERROR_1f200570~^~N~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCrea VALIDATION_ERROR_1f20381b~^~Y~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-createInfoCount-arraylength~^~core~^~The spec valid usage text states 'createInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-createInfoCount-arraylength)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_1f205601~^~Y~^~None~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-device-parameter)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_1f20ec01~^~N~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pAllocator-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkCreateComputePipelines-pAllocator-parameter)~^~implicit -VALIDATION_ERROR_1f212001~^~N~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pCreateInfos-parameter~^~core~^~The spec valid usage text states 'pCreateInfos must be a pointer to an array of createInfoCount valid VkComputePipelineCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-pCreateInfos-parameter)~^~implicit +VALIDATION_ERROR_1f212001~^~Y~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pCreateInfos-parameter~^~core~^~The spec valid usage text states 'pCreateInfos must be a pointer to an array of createInfoCount valid VkComputePipelineCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-pCreateInfos-parameter)~^~implicit VALIDATION_ERROR_1f21e201~^~Y~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pPipelines-parameter~^~core~^~The spec valid usage text states 'pPipelines must be a pointer to an array of createInfoCount VkPipeline handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-pPipelines-parameter)~^~implicit VALIDATION_ERROR_1f228001~^~Y~^~None~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pipelineCache-parameter~^~core~^~The spec valid usage text states 'If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-pipelineCache-parameter)~^~implicit VALIDATION_ERROR_1f228007~^~Y~^~Unknown~^~vkCreateComputePipelines~^~VUID-vkCreateComputePipelines-pipelineCache-parent~^~core~^~The spec valid usage text states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateComputePipelines-pipelineCache-parent)~^~implicit @@ -2410,7 +2410,7 @@ VALIDATION_ERROR_208005a2~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCre VALIDATION_ERROR_2080381b~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-createInfoCount-arraylength~^~core~^~The spec valid usage text states 'createInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-createInfoCount-arraylength)~^~implicit VALIDATION_ERROR_20805601~^~Y~^~None~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-device-parameter)~^~implicit VALIDATION_ERROR_2080ec01~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pAllocator-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pAllocator-parameter)~^~implicit -VALIDATION_ERROR_20812001~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pCreateInfos-parameter~^~core~^~The spec valid usage text states 'pCreateInfos must be a pointer to an array of createInfoCount valid VkGraphicsPipelineCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pCreateInfos-parameter)~^~implicit +VALIDATION_ERROR_20812001~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pCreateInfos-parameter~^~core~^~The spec valid usage text states 'pCreateInfos must be a pointer to an array of createInfoCount valid VkGraphicsPipelineCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pCreateInfos-parameter)~^~implicit VALIDATION_ERROR_2081e201~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pPipelines-parameter~^~core~^~The spec valid usage text states 'pPipelines must be a pointer to an array of createInfoCount VkPipeline handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pPipelines-parameter)~^~implicit VALIDATION_ERROR_20828001~^~Y~^~None~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pipelineCache-parameter~^~core~^~The spec valid usage text states 'If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pipelineCache-parameter)~^~implicit VALIDATION_ERROR_20828007~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~VUID-vkCreateGraphicsPipelines-pipelineCache-parent~^~core~^~The spec valid usage text states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateGraphicsPipelines-pipelineCache-parent)~^~implicit @@ -2712,13 +2712,13 @@ VALIDATION_ERROR_27c1f401~^~N~^~Unknown~^~vkEnumerateInstanceLayerProperties~^~V VALIDATION_ERROR_27c1f601~^~N~^~Unknown~^~vkEnumerateInstanceLayerProperties~^~VUID-vkEnumerateInstanceLayerProperties-pPropertyCount-parameter~^~core~^~The spec valid usage text states 'pPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumerateInstanceLayerProperties-pPropertyCount-parameter)~^~implicit VALIDATION_ERROR_27e0bc01~^~N~^~Unknown~^~vkEnumeratePhysicalDeviceGroupsKHX~^~VUID-vkEnumeratePhysicalDeviceGroupsKHX-instance-parameter~^~core~^~The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDeviceGroupsKHX-instance-parameter)~^~implicit VALIDATION_ERROR_27e1d801~^~N~^~Unknown~^~vkEnumeratePhysicalDeviceGroupsKHX~^~VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupCount-parameter~^~core~^~The spec valid usage text states 'pPhysicalDeviceGroupCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupCount-parameter)~^~implicit -VALIDATION_ERROR_27e1da01~^~N~^~Unknown~^~vkEnumeratePhysicalDeviceGroupsKHX~^~VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupProperties-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pPhysicalDeviceGroupCount is not 0, and pPhysicalDeviceGroupProperties is not NULL, pPhysicalDeviceGroupProperties must be a pointer to an array of pPhysicalDeviceGroupCount VkPhysicalDeviceGroupPropertiesKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupProperties-parameter)~^~implicit +VALIDATION_ERROR_27e1da01~^~Y~^~Unknown~^~vkEnumeratePhysicalDeviceGroupsKHX~^~VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupProperties-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pPhysicalDeviceGroupCount is not 0, and pPhysicalDeviceGroupProperties is not NULL, pPhysicalDeviceGroupProperties must be a pointer to an array of pPhysicalDeviceGroupCount VkPhysicalDeviceGroupPropertiesKHX structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDeviceGroupsKHX-pPhysicalDeviceGroupProperties-parameter)~^~implicit VALIDATION_ERROR_2800bc01~^~Y~^~None~^~vkEnumeratePhysicalDevices~^~VUID-vkEnumeratePhysicalDevices-instance-parameter~^~core~^~The spec valid usage text states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDevices-instance-parameter)~^~implicit VALIDATION_ERROR_2801d601~^~N~^~Unknown~^~vkEnumeratePhysicalDevices~^~VUID-vkEnumeratePhysicalDevices-pPhysicalDeviceCount-parameter~^~core~^~The spec valid usage text states 'pPhysicalDeviceCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDevices-pPhysicalDeviceCount-parameter)~^~implicit VALIDATION_ERROR_2801dc01~^~Y~^~Unknown~^~vkEnumeratePhysicalDevices~^~VUID-vkEnumeratePhysicalDevices-pPhysicalDevices-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pPhysicalDeviceCount is not 0, and pPhysicalDevices is not NULL, pPhysicalDevices must be a pointer to an array of pPhysicalDeviceCount VkPhysicalDevice handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkEnumeratePhysicalDevices-pPhysicalDevices-parameter)~^~implicit VALIDATION_ERROR_28205601~^~Y~^~None~^~vkFlushMappedMemoryRanges~^~VUID-vkFlushMappedMemoryRanges-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFlushMappedMemoryRanges-device-parameter)~^~implicit VALIDATION_ERROR_2820c81b~^~N~^~Unknown~^~vkFlushMappedMemoryRanges~^~VUID-vkFlushMappedMemoryRanges-memoryRangeCount-arraylength~^~core~^~The spec valid usage text states 'memoryRangeCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFlushMappedMemoryRanges-memoryRangeCount-arraylength)~^~implicit -VALIDATION_ERROR_2821b201~^~N~^~Unknown~^~vkFlushMappedMemoryRanges~^~VUID-vkFlushMappedMemoryRanges-pMemoryRanges-parameter~^~core~^~The spec valid usage text states 'pMemoryRanges must be a pointer to an array of memoryRangeCount valid VkMappedMemoryRange structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFlushMappedMemoryRanges-pMemoryRanges-parameter)~^~implicit +VALIDATION_ERROR_2821b201~^~Y~^~Unknown~^~vkFlushMappedMemoryRanges~^~VUID-vkFlushMappedMemoryRanges-pMemoryRanges-parameter~^~core~^~The spec valid usage text states 'pMemoryRanges must be a pointer to an array of memoryRangeCount valid VkMappedMemoryRange structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFlushMappedMemoryRanges-pMemoryRanges-parameter)~^~implicit VALIDATION_ERROR_2840005e~^~Y~^~None~^~vkFreeCommandBuffers~^~VUID-vkFreeCommandBuffers-pCommandBuffers-00047~^~core~^~The spec valid usage text states 'All elements of pCommandBuffers must not be in the pending state' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFreeCommandBuffers-pCommandBuffers-00047)~^~ VALIDATION_ERROR_28400060~^~Y~^~Unknown~^~vkFreeCommandBuffers~^~VUID-vkFreeCommandBuffers-pCommandBuffers-00048~^~core~^~The spec valid usage text states 'pCommandBuffers must be a pointer to an array of commandBufferCount VkCommandBuffer handles, each element of which must either be a valid handle or NULL' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFreeCommandBuffers-pCommandBuffers-00048)~^~ VALIDATION_ERROR_2840261b~^~N~^~Unknown~^~vkFreeCommandBuffers~^~VUID-vkFreeCommandBuffers-commandBufferCount-arraylength~^~core~^~The spec valid usage text states 'commandBufferCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkFreeCommandBuffers-commandBufferCount-arraylength)~^~implicit @@ -2902,7 +2902,7 @@ VALIDATION_ERROR_2d827a01~^~N~^~Unknown~^~vkGetPhysicalDeviceProperties2KHR~^~VU VALIDATION_ERROR_2da20001~^~Y~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties-pQueueFamilyProperties-parameter~^~core~^~The spec valid usage text 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 VkQueueFamilyProperties structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties-pQueueFamilyProperties-parameter)~^~implicit VALIDATION_ERROR_2da20201~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties-pQueueFamilyPropertyCount-parameter~^~core~^~The spec valid usage text states 'pQueueFamilyPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties-pQueueFamilyPropertyCount-parameter)~^~implicit VALIDATION_ERROR_2da27a01~^~Y~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties-physicalDevice-parameter~^~core~^~The spec valid usage text states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties-physicalDevice-parameter)~^~implicit -VALIDATION_ERROR_2dc20001~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyProperties-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyProperties-parameter)~^~implicit +VALIDATION_ERROR_2dc20001~^~Y~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyProperties-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyProperties-parameter)~^~implicit VALIDATION_ERROR_2dc20201~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyPropertyCount-parameter~^~core~^~The spec valid usage text states 'pQueueFamilyPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-pQueueFamilyPropertyCount-parameter)~^~implicit VALIDATION_ERROR_2dc27a01~^~N~^~Unknown~^~vkGetPhysicalDeviceQueueFamilyProperties2KHR~^~VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-physicalDevice-parameter~^~core~^~The spec valid usage text states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceQueueFamilyProperties2KHR-physicalDevice-parameter)~^~implicit VALIDATION_ERROR_2de0088c~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094)~^~ @@ -2916,7 +2916,7 @@ VALIDATION_ERROR_2de30401~^~Y~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatPr VALIDATION_ERROR_2de30601~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties-usage-parameter~^~core~^~The spec valid usage text states 'usage must be a valid combination of VkImageUsageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties-usage-parameter)~^~implicit VALIDATION_ERROR_2de30603~^~Y~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties-usage-requiredbitmask~^~core~^~The spec valid usage text states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties-usage-requiredbitmask)~^~implicit VALIDATION_ERROR_2e017401~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pFormatInfo-parameter~^~core~^~The spec valid usage text states 'pFormatInfo must be a pointer to a valid VkPhysicalDeviceSparseImageFormatInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pFormatInfo-parameter)~^~implicit -VALIDATION_ERROR_2e01f401~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pProperties-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pProperties-parameter)~^~implicit +VALIDATION_ERROR_2e01f401~^~Y~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pProperties-parameter~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pProperties-parameter)~^~implicit VALIDATION_ERROR_2e01f601~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pPropertyCount-parameter~^~core~^~The spec valid usage text states 'pPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-pPropertyCount-parameter)~^~implicit VALIDATION_ERROR_2e027a01~^~N~^~Unknown~^~vkGetPhysicalDeviceSparseImageFormatProperties2KHR~^~VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-physicalDevice-parameter~^~core~^~The spec valid usage text states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSparseImageFormatProperties2KHR-physicalDevice-parameter)~^~implicit VALIDATION_ERROR_2e224a01~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities2EXT~^~VUID-vkGetPhysicalDeviceSurfaceCapabilities2EXT-pSurfaceCapabilities-parameter~^~core~^~The spec valid usage text states 'pSurfaceCapabilities must be a pointer to a VkSurfaceCapabilities2EXT structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceCapabilities2EXT-pSurfaceCapabilities-parameter)~^~implicit @@ -2929,7 +2929,7 @@ VALIDATION_ERROR_2e624a01~^~Y~^~Unknown~^~vkGetPhysicalDeviceSurfaceCapabilities VALIDATION_ERROR_2e627a01~^~Y~^~None~^~vkGetPhysicalDeviceSurfaceCapabilitiesKHR~^~VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-physicalDevice-parameter~^~core~^~The spec valid usage text states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-physicalDevice-parameter)~^~implicit VALIDATION_ERROR_2e62ec01~^~Y~^~None~^~vkGetPhysicalDeviceSurfaceCapabilitiesKHR~^~VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-parameter~^~core~^~The spec valid usage text states 'surface must be a valid VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-parameter)~^~implicit VALIDATION_ERROR_2e824c01~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormats2KHR~^~VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormatCount-parameter~^~core~^~The spec valid usage text states 'pSurfaceFormatCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormatCount-parameter)~^~implicit -VALIDATION_ERROR_2e824e01~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormats2KHR~^~VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormats-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pSurfaceFormatCount is not 0, and pSurfaceFormats is not NULL, pSurfaceFormats must be a pointer to an array of pSurfaceFormatCount VkSurfaceFormat2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormats-parameter)~^~implicit +VALIDATION_ERROR_2e824e01~^~Y~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormats2KHR~^~VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormats-parameter~^~core~^~The spec valid usage text states 'If the value referenced by pSurfaceFormatCount is not 0, and pSurfaceFormats is not NULL, pSurfaceFormats must be a pointer to an array of pSurfaceFormatCount VkSurfaceFormat2KHR structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceFormats-parameter)~^~implicit VALIDATION_ERROR_2e825001~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormats2KHR~^~VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-parameter~^~core~^~The spec valid usage text states 'pSurfaceInfo must be a pointer to a valid VkPhysicalDeviceSurfaceInfo2KHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-parameter)~^~implicit VALIDATION_ERROR_2e827a01~^~Y~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormats2KHR~^~VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-physicalDevice-parameter~^~core~^~The spec valid usage text states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-physicalDevice-parameter)~^~implicit VALIDATION_ERROR_2ea24c01~^~N~^~Unknown~^~vkGetPhysicalDeviceSurfaceFormatsKHR~^~VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-pSurfaceFormatCount-parameter~^~core~^~The spec valid usage text states 'pSurfaceFormatCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-pSurfaceFormatCount-parameter)~^~implicit @@ -3021,7 +3021,7 @@ VALIDATION_ERROR_30e05601~^~N~^~Unknown~^~vkImportSemaphoreWin32HandleKHX~^~VUID VALIDATION_ERROR_30e19001~^~N~^~Unknown~^~vkImportSemaphoreWin32HandleKHX~^~VUID-vkImportSemaphoreWin32HandleKHX-pImportSemaphoreWin32HandleInfo-parameter~^~core~^~The spec valid usage text states 'pImportSemaphoreWin32HandleInfo must be a pointer to a valid VkImportSemaphoreWin32HandleInfoKHX structure' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkImportSemaphoreWin32HandleKHX-pImportSemaphoreWin32HandleInfo-parameter)~^~implicit VALIDATION_ERROR_31005601~^~Y~^~None~^~vkInvalidateMappedMemoryRanges~^~VUID-vkInvalidateMappedMemoryRanges-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkInvalidateMappedMemoryRanges-device-parameter)~^~implicit VALIDATION_ERROR_3100c81b~^~N~^~Unknown~^~vkInvalidateMappedMemoryRanges~^~VUID-vkInvalidateMappedMemoryRanges-memoryRangeCount-arraylength~^~core~^~The spec valid usage text states 'memoryRangeCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkInvalidateMappedMemoryRanges-memoryRangeCount-arraylength)~^~implicit -VALIDATION_ERROR_3101b201~^~N~^~Unknown~^~vkInvalidateMappedMemoryRanges~^~VUID-vkInvalidateMappedMemoryRanges-pMemoryRanges-parameter~^~core~^~The spec valid usage text states 'pMemoryRanges must be a pointer to an array of memoryRangeCount valid VkMappedMemoryRange structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkInvalidateMappedMemoryRanges-pMemoryRanges-parameter)~^~implicit +VALIDATION_ERROR_3101b201~^~Y~^~Unknown~^~vkInvalidateMappedMemoryRanges~^~VUID-vkInvalidateMappedMemoryRanges-pMemoryRanges-parameter~^~core~^~The spec valid usage text states 'pMemoryRanges must be a pointer to an array of memoryRangeCount valid VkMappedMemoryRange structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkInvalidateMappedMemoryRanges-pMemoryRanges-parameter)~^~implicit VALIDATION_ERROR_3120054c~^~N~^~Unknown~^~vkMapMemory~^~VUID-vkMapMemory-memory-00678~^~core~^~The spec valid usage text states 'memory must not currently be mapped' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkMapMemory-memory-00678)~^~ VALIDATION_ERROR_3120054e~^~N~^~Unknown~^~vkMapMemory~^~VUID-vkMapMemory-offset-00679~^~core~^~The spec valid usage text states 'offset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkMapMemory-offset-00679)~^~ VALIDATION_ERROR_31200550~^~N~^~Unknown~^~vkMapMemory~^~VUID-vkMapMemory-size-00680~^~core~^~The spec valid usage text states 'If size is not equal to VK_WHOLE_SIZE, size must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkMapMemory-size-00680)~^~ @@ -3048,7 +3048,7 @@ VALIDATION_ERROR_316008b6~^~N~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSp VALIDATION_ERROR_316008b8~^~N~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-pWaitSemaphores-01116~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkQueueBindSparse-pWaitSemaphores-01116)~^~ VALIDATION_ERROR_316008ba~^~N~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-pWaitSemaphores-01117~^~core~^~The spec valid usage text 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/html/vkspec.html#VUID-vkQueueBindSparse-pWaitSemaphores-01117)~^~ VALIDATION_ERROR_31608801~^~Y~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-fence-parameter~^~core~^~The spec valid usage text states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueBindSparse-fence-parameter)~^~implicit -VALIDATION_ERROR_3160f801~^~N~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-pBindInfo-parameter~^~core~^~The spec valid usage text states 'If bindInfoCount is not 0, pBindInfo must be a pointer to an array of bindInfoCount valid VkBindSparseInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueBindSparse-pBindInfo-parameter)~^~implicit +VALIDATION_ERROR_3160f801~^~Y~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-pBindInfo-parameter~^~core~^~The spec valid usage text states 'If bindInfoCount is not 0, pBindInfo must be a pointer to an array of bindInfoCount valid VkBindSparseInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueBindSparse-pBindInfo-parameter)~^~implicit VALIDATION_ERROR_31629c01~^~Y~^~Unknown~^~vkQueueBindSparse~^~VUID-vkQueueBindSparse-queue-parameter~^~core~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueBindSparse-queue-parameter)~^~implicit VALIDATION_ERROR_31800a18~^~Y~^~Unknown~^~vkQueuePresentKHR~^~VUID-vkQueuePresentKHR-pSwapchains-01292~^~core~^~The spec valid usage text states 'Any given element of pSwapchains member of pPresentInfo must be a swapchain that is created for a surface for which presentation is supported from queue as determined using a call to vkGetPhysicalDeviceSurfaceSupportKHR' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueuePresentKHR-pSwapchains-01292)~^~ VALIDATION_ERROR_31800a1a~^~N~^~Unknown~^~vkQueuePresentKHR~^~VUID-vkQueuePresentKHR-pSwapchains-01293~^~(VK_KHR_display_swapchain)~^~The spec valid usage text states 'If more than one member of pSwapchains was created from a display surface, all display surfaces referenced that refer to the same display must use the same display mode' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-vkQueuePresentKHR-pSwapchains-01293)~^~ @@ -3070,7 +3070,7 @@ VALIDATION_ERROR_31a00090~^~Y~^~ExecuteUnrecordedSecondaryCB~^~vkQueueSubmit~^~V VALIDATION_ERROR_31a00092~^~Y~^~Unknown~^~vkQueueSubmit~^~VUID-vkQueueSubmit-pCommandBuffers-00073~^~core~^~The spec valid usage text states 'If any secondary command buffers recorded into any given element of the pCommandBuffers member of any element of pSubmits was not recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, it must not be in the pending state.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00073)~^~ VALIDATION_ERROR_31a00094~^~Y~^~Unknown~^~vkQueueSubmit~^~VUID-vkQueueSubmit-pCommandBuffers-00074~^~core~^~The spec valid usage text states 'Any given element of the pCommandBuffers member of any element of pSubmits must have been allocated from a VkCommandPool that was created for the same queue family queue belongs to.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00074)~^~ VALIDATION_ERROR_31a08801~^~Y~^~None~^~vkQueueSubmit~^~VUID-vkQueueSubmit-fence-parameter~^~core~^~The spec valid usage text states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-fence-parameter)~^~implicit -VALIDATION_ERROR_31a24001~^~N~^~Unknown~^~vkQueueSubmit~^~VUID-vkQueueSubmit-pSubmits-parameter~^~core~^~The spec valid usage text states 'If submitCount is not 0, pSubmits must be a pointer to an array of submitCount valid VkSubmitInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-pSubmits-parameter)~^~implicit +VALIDATION_ERROR_31a24001~^~Y~^~Unknown~^~vkQueueSubmit~^~VUID-vkQueueSubmit-pSubmits-parameter~^~core~^~The spec valid usage text states 'If submitCount is not 0, pSubmits must be a pointer to an array of submitCount valid VkSubmitInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-pSubmits-parameter)~^~implicit VALIDATION_ERROR_31a29c01~^~Y~^~None~^~vkQueueSubmit~^~VUID-vkQueueSubmit-queue-parameter~^~core~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueSubmit-queue-parameter)~^~implicit VALIDATION_ERROR_31c29c01~^~Y~^~None~^~vkQueueWaitIdle~^~VUID-vkQueueWaitIdle-queue-parameter~^~core~^~The spec valid usage text states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkQueueWaitIdle-queue-parameter)~^~implicit VALIDATION_ERROR_31e05601~^~N~^~Unknown~^~vkRegisterDeviceEventEXT~^~VUID-vkRegisterDeviceEventEXT-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkRegisterDeviceEventEXT-device-parameter)~^~implicit @@ -3120,7 +3120,7 @@ VALIDATION_ERROR_33005601~^~Y~^~None~^~vkSetEvent~^~VUID-vkSetEvent-device-param VALIDATION_ERROR_33007e01~^~Y~^~None~^~vkSetEvent~^~VUID-vkSetEvent-event-parameter~^~core~^~The spec valid usage text states 'event must be a valid VkEvent handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetEvent-event-parameter)~^~implicit VALIDATION_ERROR_33007e07~^~Y~^~Unknown~^~vkSetEvent~^~VUID-vkSetEvent-event-parent~^~core~^~The spec valid usage text states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetEvent-event-parent)~^~implicit VALIDATION_ERROR_33205601~^~N~^~Unknown~^~vkSetHdrMetadataEXT~^~VUID-vkSetHdrMetadataEXT-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetHdrMetadataEXT-device-parameter)~^~implicit -VALIDATION_ERROR_3321ba01~^~N~^~Unknown~^~vkSetHdrMetadataEXT~^~VUID-vkSetHdrMetadataEXT-pMetadata-parameter~^~core~^~The spec valid usage text states 'pMetadata must be a pointer to an array of swapchainCount valid VkHdrMetadataEXT structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetHdrMetadataEXT-pMetadata-parameter)~^~implicit +VALIDATION_ERROR_3321ba01~^~Y~^~Unknown~^~vkSetHdrMetadataEXT~^~VUID-vkSetHdrMetadataEXT-pMetadata-parameter~^~core~^~The spec valid usage text states 'pMetadata must be a pointer to an array of swapchainCount valid VkHdrMetadataEXT structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetHdrMetadataEXT-pMetadata-parameter)~^~implicit VALIDATION_ERROR_33225801~^~N~^~Unknown~^~vkSetHdrMetadataEXT~^~VUID-vkSetHdrMetadataEXT-pSwapchains-parameter~^~core~^~The spec valid usage text states 'pSwapchains must be a pointer to an array of swapchainCount valid VkSwapchainKHR handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetHdrMetadataEXT-pSwapchains-parameter)~^~implicit VALIDATION_ERROR_3322f21b~^~N~^~Unknown~^~vkSetHdrMetadataEXT~^~VUID-vkSetHdrMetadataEXT-swapchainCount-arraylength~^~core~^~The spec valid usage text states 'swapchainCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkSetHdrMetadataEXT-swapchainCount-arraylength)~^~implicit VALIDATION_ERROR_33402801~^~N~^~Unknown~^~vkTrimCommandPoolKHR~^~VUID-vkTrimCommandPoolKHR-commandPool-parameter~^~core~^~The spec valid usage text states 'commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkTrimCommandPoolKHR-commandPool-parameter)~^~implicit @@ -3147,8 +3147,8 @@ VALIDATION_ERROR_33a05601~^~Y~^~Unknown~^~vkUpdateDescriptorSetWithTemplateKHR~^ VALIDATION_ERROR_33a12201~^~Y~^~Unknown~^~vkUpdateDescriptorSetWithTemplateKHR~^~VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-parameter~^~core~^~The spec valid usage text states 'pData must be a pointer' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-parameter)~^~implicit VALIDATION_ERROR_33c00274~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-dstSet-00314~^~core~^~The spec valid usage text states 'The dstSet member of any given element of pDescriptorWrites or pDescriptorCopies must not be used by any command that was recorded to a command buffer which is in the pending state.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-dstSet-00314)~^~ VALIDATION_ERROR_33c05601~^~Y~^~None~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-device-parameter)~^~implicit -VALIDATION_ERROR_33c12c01~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-pDescriptorCopies-parameter~^~core~^~The spec valid usage text states 'If descriptorCopyCount is not 0, pDescriptorCopies must be a pointer to an array of descriptorCopyCount valid VkCopyDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-pDescriptorCopies-parameter)~^~implicit -VALIDATION_ERROR_33c13601~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-pDescriptorWrites-parameter~^~core~^~The spec valid usage text states 'If descriptorWriteCount is not 0, pDescriptorWrites must be a pointer to an array of descriptorWriteCount valid VkWriteDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-pDescriptorWrites-parameter)~^~implicit +VALIDATION_ERROR_33c12c01~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-pDescriptorCopies-parameter~^~core~^~The spec valid usage text states 'If descriptorCopyCount is not 0, pDescriptorCopies must be a pointer to an array of descriptorCopyCount valid VkCopyDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-pDescriptorCopies-parameter)~^~implicit +VALIDATION_ERROR_33c13601~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~VUID-vkUpdateDescriptorSets-pDescriptorWrites-parameter~^~core~^~The spec valid usage text states 'If descriptorWriteCount is not 0, pDescriptorWrites must be a pointer to an array of descriptorWriteCount valid VkWriteDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkUpdateDescriptorSets-pDescriptorWrites-parameter)~^~implicit VALIDATION_ERROR_33e05601~^~Y~^~None~^~vkWaitForFences~^~VUID-vkWaitForFences-device-parameter~^~core~^~The spec valid usage text states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkWaitForFences-device-parameter)~^~implicit VALIDATION_ERROR_33e08a1b~^~N~^~Unknown~^~vkWaitForFences~^~VUID-vkWaitForFences-fenceCount-arraylength~^~core~^~The spec valid usage text states 'fenceCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkWaitForFences-fenceCount-arraylength)~^~implicit VALIDATION_ERROR_33e17201~^~Y~^~Unknown~^~vkWaitForFences~^~VUID-vkWaitForFences-pFences-parameter~^~core~^~The spec valid usage text states 'pFences must be a pointer to an array of fenceCount valid VkFence handles' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkWaitForFences-pFences-parameter)~^~implicit diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index 1c5c094b..86cb7c18 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -734,19 +734,21 @@ class ParamCheckerOutputGenerator(OutputGenerator): return vuid # # Generate the sType check string - def makeStructTypeCheck(self, prefix, value, lenValue, valueRequired, lenValueRequired, lenPtrRequired, funcPrintName, lenPrintName, valuePrintName, postProcSpec): + def makeStructTypeCheck(self, prefix, value, lenValue, valueRequired, lenValueRequired, lenPtrRequired, funcPrintName, lenPrintName, valuePrintName, postProcSpec, struct_type_name): checkExpr = [] stype = self.structTypes[value.type] if lenValue: + vuid_name = struct_type_name if struct_type_name is not None else funcPrintName + vuid = self.GetVuid("VUID-%s-%s-parameter" % (vuid_name, value.name)) # This is an array with a pointer to a count value if lenValue.ispointer: # When the length parameter is a pointer, there is an extra Boolean parameter in the function call to indicate if it is required - checkExpr.append('skipCall |= validate_struct_type_array(layer_data->report_data, "{}", {ppp}"{ldn}"{pps}, {ppp}"{dn}"{pps}, "{sv}", {pf}{ln}, {pf}{vn}, {sv}, {}, {}, {});\n'.format( - funcPrintName, lenPtrRequired, lenValueRequired, valueRequired, ln=lenValue.name, ldn=lenPrintName, dn=valuePrintName, vn=value.name, sv=stype.value, pf=prefix, **postProcSpec)) + checkExpr.append('skipCall |= validate_struct_type_array(layer_data->report_data, "{}", {ppp}"{ldn}"{pps}, {ppp}"{dn}"{pps}, "{sv}", {pf}{ln}, {pf}{vn}, {sv}, {}, {}, {}, {});\n'.format( + funcPrintName, lenPtrRequired, lenValueRequired, valueRequired, vuid, ln=lenValue.name, ldn=lenPrintName, dn=valuePrintName, vn=value.name, sv=stype.value, pf=prefix, **postProcSpec)) # This is an array with an integer count value else: - checkExpr.append('skipCall |= validate_struct_type_array(layer_data->report_data, "{}", {ppp}"{ldn}"{pps}, {ppp}"{dn}"{pps}, "{sv}", {pf}{ln}, {pf}{vn}, {sv}, {}, {});\n'.format( - funcPrintName, lenValueRequired, valueRequired, ln=lenValue.name, ldn=lenPrintName, dn=valuePrintName, vn=value.name, sv=stype.value, pf=prefix, **postProcSpec)) + checkExpr.append('skipCall |= validate_struct_type_array(layer_data->report_data, "{}", {ppp}"{ldn}"{pps}, {ppp}"{dn}"{pps}, "{sv}", {pf}{ln}, {pf}{vn}, {sv}, {}, {}, {});\n'.format( + funcPrintName, lenValueRequired, valueRequired, vuid, ln=lenValue.name, ldn=lenPrintName, dn=valuePrintName, vn=value.name, sv=stype.value, pf=prefix, **postProcSpec)) # This is an individual struct else: vuid = self.GetVuid("VUID-%s-sType-sType" % value.type) @@ -987,7 +989,7 @@ class ParamCheckerOutputGenerator(OutputGenerator): # # If this is a pointer to a struct with an sType field, verify the type if value.type in self.structTypes: - usedLines += self.makeStructTypeCheck(valuePrefix, value, lenParam, req, cvReq, cpReq, funcName, lenDisplayName, valueDisplayName, postProcSpec) + usedLines += self.makeStructTypeCheck(valuePrefix, value, lenParam, req, cvReq, cpReq, funcName, lenDisplayName, valueDisplayName, postProcSpec, structTypeName) # If this is an input handle array that is not allowed to contain NULL handles, verify that none of the handles are VK_NULL_HANDLE elif value.type in self.handleTypes and value.isconst and not self.isHandleOptional(value, lenParam): usedLines += self.makeHandleCheck(valuePrefix, value, lenParam, req, cvReq, funcName, lenDisplayName, valueDisplayName, postProcSpec) |
