diff options
author | Petr Kraus <petr_kraus@email.cz> | 2019-08-12 03:06:46 +0200 |
---|---|---|
committer | Mark Lobodzinski <mark@lunarg.com> | 2019-08-16 10:03:16 -0600 |
commit | 907c3783ef5cc8df8ff820d2ae80eb70319f2fc4 (patch) | |
tree | 2b43be7378c9d00d0a0df2ea6bb98c475b242796 | |
parent | 52758be62c01542003ada6cb0ceb3764897548d2 (diff) | |
download | vulkan-validation-layers-907c3783ef5cc8df8ff820d2ae80eb70319f2fc4.tar.gz |
layers: Skip manual checks if validation fails
layers: Skip manual checks if scripted ones fail
-rw-r--r-- | layers/generated/parameter_validation.cpp | 88 | ||||
-rw-r--r-- | scripts/parameter_validation_generator.py | 2 | ||||
-rw-r--r-- | tests/vklayertests_command.cpp | 16 |
3 files changed, 47 insertions, 59 deletions
diff --git a/layers/generated/parameter_validation.cpp b/layers/generated/parameter_validation.cpp index b06303af4..e0de66886 100644 --- a/layers/generated/parameter_validation.cpp +++ b/layers/generated/parameter_validation.cpp @@ -1551,7 +1551,7 @@ bool StatelessValidation::PreCallValidateCreateInstance( } } skip |= validate_required_pointer("vkCreateInstance", "pInstance", pInstance, "VUID-vkCreateInstance-pInstance-parameter"); - skip |= manual_PreCallValidateCreateInstance(pCreateInfo, pAllocator, pInstance); + if (!skip) skip |= manual_PreCallValidateCreateInstance(pCreateInfo, pAllocator, pInstance); return skip; } @@ -1844,7 +1844,7 @@ bool StatelessValidation::PreCallValidateCreateDevice( } } skip |= validate_required_pointer("vkCreateDevice", "pDevice", pDevice, "VUID-vkCreateDevice-pDevice-parameter"); - skip |= manual_PreCallValidateCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice); + if (!skip) skip |= manual_PreCallValidateCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice); return skip; } @@ -1960,7 +1960,7 @@ bool StatelessValidation::PreCallValidateAllocateMemory( } } skip |= validate_required_pointer("vkAllocateMemory", "pMemory", pMemory, "VUID-vkAllocateMemory-pMemory-parameter"); - skip |= manual_PreCallValidateAllocateMemory(device, pAllocateInfo, pAllocator, pMemory); + if (!skip) skip |= manual_PreCallValidateAllocateMemory(device, pAllocateInfo, pAllocator, pMemory); return skip; } @@ -2617,7 +2617,7 @@ bool StatelessValidation::PreCallValidateCreateBuffer( } } skip |= validate_required_pointer("vkCreateBuffer", "pBuffer", pBuffer, "VUID-vkCreateBuffer-pBuffer-parameter"); - skip |= manual_PreCallValidateCreateBuffer(device, pCreateInfo, pAllocator, pBuffer); + if (!skip) skip |= manual_PreCallValidateCreateBuffer(device, pCreateInfo, pAllocator, pBuffer); return skip; } @@ -2770,7 +2770,7 @@ bool StatelessValidation::PreCallValidateCreateImage( } } skip |= validate_required_pointer("vkCreateImage", "pImage", pImage, "VUID-vkCreateImage-pImage-parameter"); - skip |= manual_PreCallValidateCreateImage(device, pCreateInfo, pAllocator, pImage); + if (!skip) skip |= manual_PreCallValidateCreateImage(device, pCreateInfo, pAllocator, pImage); return skip; } @@ -3177,7 +3177,7 @@ bool StatelessValidation::PreCallValidateCreateGraphicsPipelines( } } skip |= validate_array("vkCreateGraphicsPipelines", "createInfoCount", "pPipelines", createInfoCount, &pPipelines, true, true, "VUID-vkCreateGraphicsPipelines-createInfoCount-arraylength", "VUID-vkCreateGraphicsPipelines-pPipelines-parameter"); - skip |= manual_PreCallValidateCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + if (!skip) skip |= manual_PreCallValidateCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); return skip; } @@ -3253,7 +3253,7 @@ bool StatelessValidation::PreCallValidateCreateComputePipelines( } } skip |= validate_array("vkCreateComputePipelines", "createInfoCount", "pPipelines", createInfoCount, &pPipelines, true, true, "VUID-vkCreateComputePipelines-createInfoCount-arraylength", "VUID-vkCreateComputePipelines-pPipelines-parameter"); - skip |= manual_PreCallValidateCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + if (!skip) skip |= manual_PreCallValidateCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); return skip; } @@ -3416,7 +3416,7 @@ bool StatelessValidation::PreCallValidateCreateSampler( } } skip |= validate_required_pointer("vkCreateSampler", "pSampler", pSampler, "VUID-vkCreateSampler-pSampler-parameter"); - skip |= manual_PreCallValidateCreateSampler(device, pCreateInfo, pAllocator, pSampler); + if (!skip) skip |= manual_PreCallValidateCreateSampler(device, pCreateInfo, pAllocator, pSampler); return skip; } @@ -3494,7 +3494,7 @@ bool StatelessValidation::PreCallValidateCreateDescriptorSetLayout( } } skip |= validate_required_pointer("vkCreateDescriptorSetLayout", "pSetLayout", pSetLayout, "VUID-vkCreateDescriptorSetLayout-pSetLayout-parameter"); - skip |= manual_PreCallValidateCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout); + if (!skip) skip |= manual_PreCallValidateCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout); return skip; } @@ -3572,7 +3572,7 @@ bool StatelessValidation::PreCallValidateCreateDescriptorPool( } } skip |= validate_required_pointer("vkCreateDescriptorPool", "pDescriptorPool", pDescriptorPool, "VUID-vkCreateDescriptorPool-pDescriptorPool-parameter"); - skip |= manual_PreCallValidateCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool); + if (!skip) skip |= manual_PreCallValidateCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool); return skip; } @@ -3643,7 +3643,7 @@ bool StatelessValidation::PreCallValidateFreeDescriptorSets( const VkDescriptorSet* pDescriptorSets) { bool skip = false; skip |= validate_required_handle("vkFreeDescriptorSets", "descriptorPool", descriptorPool); - skip |= manual_PreCallValidateFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets); + if (!skip) skip |= manual_PreCallValidateFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets); return skip; } @@ -3678,7 +3678,7 @@ bool StatelessValidation::PreCallValidateUpdateDescriptorSets( skip |= validate_required_handle("vkUpdateDescriptorSets", ParameterName("pDescriptorCopies[%i].dstSet", ParameterName::IndexVector{ descriptorCopyIndex }), pDescriptorCopies[descriptorCopyIndex].dstSet); } } - skip |= manual_PreCallValidateUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); + if (!skip) skip |= manual_PreCallValidateUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); return skip; } @@ -3720,7 +3720,7 @@ bool StatelessValidation::PreCallValidateCreateFramebuffer( } } skip |= validate_required_pointer("vkCreateFramebuffer", "pFramebuffer", pFramebuffer, "VUID-vkCreateFramebuffer-pFramebuffer-parameter"); - skip |= manual_PreCallValidateCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer); + if (!skip) skip |= manual_PreCallValidateCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer); return skip; } @@ -3877,7 +3877,7 @@ bool StatelessValidation::PreCallValidateCreateRenderPass( } } skip |= validate_required_pointer("vkCreateRenderPass", "pRenderPass", pRenderPass, "VUID-vkCreateRenderPass-pRenderPass-parameter"); - skip |= manual_PreCallValidateCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass); + if (!skip) skip |= manual_PreCallValidateCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass); return skip; } @@ -4037,7 +4037,7 @@ bool StatelessValidation::PreCallValidateBeginCommandBuffer( skip |= validate_flags("vkBeginCommandBuffer", "pBeginInfo->flags", "VkCommandBufferUsageFlagBits", AllVkCommandBufferUsageFlagBits, pBeginInfo->flags, kOptionalFlags, "VUID-VkCommandBufferBeginInfo-flags-parameter"); } - skip |= manual_PreCallValidateBeginCommandBuffer(commandBuffer, pBeginInfo); + if (!skip) skip |= manual_PreCallValidateBeginCommandBuffer(commandBuffer, pBeginInfo); return skip; } @@ -4080,7 +4080,7 @@ bool StatelessValidation::PreCallValidateCmdSetViewport( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports); + if (!skip) skip |= manual_PreCallValidateCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports); return skip; } @@ -4100,7 +4100,7 @@ bool StatelessValidation::PreCallValidateCmdSetScissor( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors); + if (!skip) skip |= manual_PreCallValidateCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors); return skip; } @@ -4109,7 +4109,7 @@ bool StatelessValidation::PreCallValidateCmdSetLineWidth( float lineWidth) { bool skip = false; // No xml-driven validation - skip |= manual_PreCallValidateCmdSetLineWidth(commandBuffer, lineWidth); + if (!skip) skip |= manual_PreCallValidateCmdSetLineWidth(commandBuffer, lineWidth); return skip; } @@ -4215,7 +4215,7 @@ bool StatelessValidation::PreCallValidateCmdDraw( uint32_t firstInstance) { bool skip = false; // No xml-driven validation - skip |= manual_PreCallValidateCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); + if (!skip) skip |= manual_PreCallValidateCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); return skip; } @@ -4239,7 +4239,7 @@ bool StatelessValidation::PreCallValidateCmdDrawIndirect( uint32_t stride) { bool skip = false; skip |= validate_required_handle("vkCmdDrawIndirect", "buffer", buffer); - skip |= manual_PreCallValidateCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride); + if (!skip) skip |= manual_PreCallValidateCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride); return skip; } @@ -4251,7 +4251,7 @@ bool StatelessValidation::PreCallValidateCmdDrawIndexedIndirect( uint32_t stride) { bool skip = false; skip |= validate_required_handle("vkCmdDrawIndexedIndirect", "buffer", buffer); - skip |= manual_PreCallValidateCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride); + if (!skip) skip |= manual_PreCallValidateCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride); return skip; } @@ -4262,7 +4262,7 @@ bool StatelessValidation::PreCallValidateCmdDispatch( uint32_t groupCountZ) { bool skip = false; // No xml-driven validation - skip |= manual_PreCallValidateCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ); + if (!skip) skip |= manual_PreCallValidateCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ); return skip; } @@ -4272,7 +4272,7 @@ bool StatelessValidation::PreCallValidateCmdDispatchIndirect( VkDeviceSize offset) { bool skip = false; skip |= validate_required_handle("vkCmdDispatchIndirect", "buffer", buffer); - skip |= manual_PreCallValidateCmdDispatchIndirect(commandBuffer, buffer, offset); + if (!skip) skip |= manual_PreCallValidateCmdDispatchIndirect(commandBuffer, buffer, offset); return skip; } @@ -4325,7 +4325,7 @@ bool StatelessValidation::PreCallValidateCmdCopyImage( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + if (!skip) skip |= manual_PreCallValidateCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); return skip; } @@ -4354,7 +4354,7 @@ bool StatelessValidation::PreCallValidateCmdBlitImage( } } skip |= validate_ranged_enum("vkCmdBlitImage", "filter", "VkFilter", AllVkFilterEnums, filter, "VUID-vkCmdBlitImage-filter-parameter"); - skip |= manual_PreCallValidateCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); + if (!skip) skip |= manual_PreCallValidateCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); return skip; } @@ -4381,7 +4381,7 @@ bool StatelessValidation::PreCallValidateCmdCopyBufferToImage( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + if (!skip) skip |= manual_PreCallValidateCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); return skip; } @@ -4408,7 +4408,7 @@ bool StatelessValidation::PreCallValidateCmdCopyImageToBuffer( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + if (!skip) skip |= manual_PreCallValidateCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); return skip; } @@ -4421,7 +4421,7 @@ bool StatelessValidation::PreCallValidateCmdUpdateBuffer( bool skip = false; skip |= validate_required_handle("vkCmdUpdateBuffer", "dstBuffer", dstBuffer); skip |= validate_array("vkCmdUpdateBuffer", "dataSize", "pData", dataSize, &pData, true, true, "VUID-vkCmdUpdateBuffer-dataSize-arraylength", "VUID-vkCmdUpdateBuffer-pData-parameter"); - skip |= manual_PreCallValidateCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData); + if (!skip) skip |= manual_PreCallValidateCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData); return skip; } @@ -4433,7 +4433,7 @@ bool StatelessValidation::PreCallValidateCmdFillBuffer( uint32_t data) { bool skip = false; skip |= validate_required_handle("vkCmdFillBuffer", "dstBuffer", dstBuffer); - skip |= manual_PreCallValidateCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data); + if (!skip) skip |= manual_PreCallValidateCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data); return skip; } @@ -4518,7 +4518,7 @@ bool StatelessValidation::PreCallValidateCmdClearAttachments( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects); + if (!skip) skip |= manual_PreCallValidateCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects); return skip; } @@ -5566,7 +5566,7 @@ bool StatelessValidation::PreCallValidateCreateSwapchainKHR( } } skip |= validate_required_pointer("vkCreateSwapchainKHR", "pSwapchain", pSwapchain, "VUID-vkCreateSwapchainKHR-pSwapchain-parameter"); - skip |= manual_PreCallValidateCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain); + if (!skip) skip |= manual_PreCallValidateCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain); return skip; } @@ -5649,7 +5649,7 @@ bool StatelessValidation::PreCallValidateQueuePresentKHR( skip |= validate_array("vkQueuePresentKHR", "pPresentInfo->swapchainCount", "pPresentInfo->pResults", pPresentInfo->swapchainCount, &pPresentInfo->pResults, true, false, "VUID-VkPresentInfoKHR-swapchainCount-arraylength", "VUID-VkPresentInfoKHR-pResults-parameter"); } - skip |= manual_PreCallValidateQueuePresentKHR(queue, pPresentInfo); + if (!skip) skip |= manual_PreCallValidateQueuePresentKHR(queue, pPresentInfo); return skip; } @@ -6386,7 +6386,7 @@ bool StatelessValidation::PreCallValidateCmdDispatchBaseKHR( if (!device_extensions.vk_khr_device_group_creation) skip |= OutputExtensionError("vkCmdDispatchBaseKHR", VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME); if (!device_extensions.vk_khr_device_group) skip |= OutputExtensionError("vkCmdDispatchBaseKHR", VK_KHR_DEVICE_GROUP_EXTENSION_NAME); // No xml-driven validation - skip |= manual_PreCallValidateCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + if (!skip) skip |= manual_PreCallValidateCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); return skip; } @@ -6928,7 +6928,7 @@ bool StatelessValidation::PreCallValidateCreateRenderPass2KHR( } } skip |= validate_required_pointer("vkCreateRenderPass2KHR", "pRenderPass", pRenderPass, "VUID-vkCreateRenderPass2KHR-pRenderPass-parameter"); - skip |= manual_PreCallValidateCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass); + if (!skip) skip |= manual_PreCallValidateCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass); return skip; } @@ -9319,7 +9319,7 @@ bool StatelessValidation::PreCallValidateCmdSetViewportShadingRatePaletteNV( skip |= validate_ranged_enum_array("vkCmdSetViewportShadingRatePaletteNV", ParameterName("pShadingRatePalettes[%i].shadingRatePaletteEntryCount", ParameterName::IndexVector{ viewportIndex }), ParameterName("pShadingRatePalettes[%i].pShadingRatePaletteEntries", ParameterName::IndexVector{ viewportIndex }), "VkShadingRatePaletteEntryNV", AllVkShadingRatePaletteEntryNVEnums, pShadingRatePalettes[viewportIndex].shadingRatePaletteEntryCount, pShadingRatePalettes[viewportIndex].pShadingRatePaletteEntries, true, true); } } - skip |= manual_PreCallValidateCmdSetViewportShadingRatePaletteNV(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes); + if (!skip) skip |= manual_PreCallValidateCmdSetViewportShadingRatePaletteNV(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes); return skip; } @@ -9350,7 +9350,7 @@ bool StatelessValidation::PreCallValidateCmdSetCoarseSampleOrderNV( } } } - skip |= manual_PreCallValidateCmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders); + if (!skip) skip |= manual_PreCallValidateCmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders); return skip; } @@ -9425,7 +9425,7 @@ bool StatelessValidation::PreCallValidateCreateAccelerationStructureNV( } } skip |= validate_required_pointer("vkCreateAccelerationStructureNV", "pAccelerationStructure", pAccelerationStructure, "VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameter"); - skip |= manual_PreCallValidateCreateAccelerationStructureNV(device, pCreateInfo, pAllocator, pAccelerationStructure); + if (!skip) skip |= manual_PreCallValidateCreateAccelerationStructureNV(device, pCreateInfo, pAllocator, pAccelerationStructure); return skip; } @@ -9559,7 +9559,7 @@ bool StatelessValidation::PreCallValidateCmdBuildAccelerationStructureNV( skip |= validate_bool32("vkCmdBuildAccelerationStructureNV", "update", update); skip |= validate_required_handle("vkCmdBuildAccelerationStructureNV", "dst", dst); skip |= validate_required_handle("vkCmdBuildAccelerationStructureNV", "scratch", scratch); - skip |= manual_PreCallValidateCmdBuildAccelerationStructureNV(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset); + if (!skip) skip |= manual_PreCallValidateCmdBuildAccelerationStructureNV(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset); return skip; } @@ -9695,7 +9695,7 @@ bool StatelessValidation::PreCallValidateCreateRayTracingPipelinesNV( } } skip |= validate_array("vkCreateRayTracingPipelinesNV", "createInfoCount", "pPipelines", createInfoCount, &pPipelines, true, true, "VUID-vkCreateRayTracingPipelinesNV-createInfoCount-arraylength", "VUID-vkCreateRayTracingPipelinesNV-pPipelines-parameter"); - skip |= manual_PreCallValidateCreateRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + if (!skip) skip |= manual_PreCallValidateCreateRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); return skip; } @@ -9726,7 +9726,7 @@ bool StatelessValidation::PreCallValidateGetAccelerationStructureHandleNV( if (!device_extensions.vk_nv_ray_tracing) skip |= OutputExtensionError("vkGetAccelerationStructureHandleNV", VK_NV_RAY_TRACING_EXTENSION_NAME); skip |= validate_required_handle("vkGetAccelerationStructureHandleNV", "accelerationStructure", accelerationStructure); skip |= validate_array("vkGetAccelerationStructureHandleNV", "dataSize", "pData", dataSize, &pData, true, true, "VUID-vkGetAccelerationStructureHandleNV-dataSize-arraylength", "VUID-vkGetAccelerationStructureHandleNV-pData-parameter"); - skip |= manual_PreCallValidateGetAccelerationStructureHandleNV(device, accelerationStructure, dataSize, pData); + if (!skip) skip |= manual_PreCallValidateGetAccelerationStructureHandleNV(device, accelerationStructure, dataSize, pData); return skip; } @@ -9862,7 +9862,7 @@ bool StatelessValidation::PreCallValidateCmdDrawMeshTasksNV( if (!device_extensions.vk_khr_get_physical_device_properties_2) skip |= OutputExtensionError("vkCmdDrawMeshTasksNV", VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); if (!device_extensions.vk_nv_mesh_shader) skip |= OutputExtensionError("vkCmdDrawMeshTasksNV", VK_NV_MESH_SHADER_EXTENSION_NAME); // No xml-driven validation - skip |= manual_PreCallValidateCmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask); + if (!skip) skip |= manual_PreCallValidateCmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask); return skip; } @@ -9876,7 +9876,7 @@ bool StatelessValidation::PreCallValidateCmdDrawMeshTasksIndirectNV( if (!device_extensions.vk_khr_get_physical_device_properties_2) skip |= OutputExtensionError("vkCmdDrawMeshTasksIndirectNV", VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME); if (!device_extensions.vk_nv_mesh_shader) skip |= OutputExtensionError("vkCmdDrawMeshTasksIndirectNV", VK_NV_MESH_SHADER_EXTENSION_NAME); skip |= validate_required_handle("vkCmdDrawMeshTasksIndirectNV", "buffer", buffer); - skip |= manual_PreCallValidateCmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset, drawCount, stride); + if (!skip) skip |= manual_PreCallValidateCmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset, drawCount, stride); return skip; } @@ -9893,7 +9893,7 @@ bool StatelessValidation::PreCallValidateCmdDrawMeshTasksIndirectCountNV( if (!device_extensions.vk_nv_mesh_shader) skip |= OutputExtensionError("vkCmdDrawMeshTasksIndirectCountNV", VK_NV_MESH_SHADER_EXTENSION_NAME); skip |= validate_required_handle("vkCmdDrawMeshTasksIndirectCountNV", "buffer", buffer); skip |= validate_required_handle("vkCmdDrawMeshTasksIndirectCountNV", "countBuffer", countBuffer); - skip |= manual_PreCallValidateCmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + if (!skip) skip |= manual_PreCallValidateCmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); return skip; } @@ -9921,7 +9921,7 @@ bool StatelessValidation::PreCallValidateCmdSetExclusiveScissorNV( // No xml-driven validation } } - skip |= manual_PreCallValidateCmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors); + if (!skip) skip |= manual_PreCallValidateCmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors); return skip; } diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index 1a12599b9..50bec7f30 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -1295,7 +1295,7 @@ class ParameterValidationOutputGenerator(OutputGenerator): for param in command.params: params_text += '%s, ' % param.name params_text = params_text[:-2] + ');\n' - cmdDef += ' skip |= manual_PreCallValidate'+ command.name[2:] + '(' + params_text + cmdDef += ' if (!skip) skip |= manual_PreCallValidate'+ command.name[2:] + '(' + params_text cmdDef += '%sreturn skip;\n' % indent cmdDef += '}\n' self.validation.append(cmdDef) diff --git a/tests/vklayertests_command.cpp b/tests/vklayertests_command.cpp index 9ca91a8c3..ef852e7d9 100644 --- a/tests/vklayertests_command.cpp +++ b/tests/vklayertests_command.cpp @@ -3845,11 +3845,6 @@ TEST_F(VkLayerTest, SetDynViewportParamTests) { m_errorMonitor->VerifyFound(); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-firstViewport-01224"); - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-viewportCount-arraylength"); - vkCmdSetViewport(m_commandBuffer->handle(), 1, 0, viewports); - m_errorMonitor->VerifyFound(); - - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-firstViewport-01224"); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-viewportCount-01225"); vkCmdSetViewport(m_commandBuffer->handle(), 1, 2, viewports); m_errorMonitor->VerifyFound(); @@ -3975,8 +3970,7 @@ TEST_F(VkLayerTest, SetDynViewportParamMultiviewportTests) { m_errorMonitor->VerifyFound(); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-viewportCount-arraylength"); - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetViewport-firstViewport-01223"); - vkCmdSetViewport(m_commandBuffer->handle(), max_viewports + 1, 0, viewports.data()); + vkCmdSetViewport(m_commandBuffer->handle(), 1, 0, viewports.data()); m_errorMonitor->VerifyFound(); } @@ -4233,11 +4227,6 @@ TEST_F(VkLayerTest, SetDynScissorParamTests) { m_errorMonitor->VerifyFound(); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-firstScissor-00593"); - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-scissorCount-arraylength"); - vkCmdSetScissor(m_commandBuffer->handle(), 1, 0, scissors); - m_errorMonitor->VerifyFound(); - - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-firstScissor-00593"); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-scissorCount-00594"); vkCmdSetScissor(m_commandBuffer->handle(), 1, 2, scissors); m_errorMonitor->VerifyFound(); @@ -4317,8 +4306,7 @@ TEST_F(VkLayerTest, SetDynScissorParamMultiviewportTests) { m_errorMonitor->VerifyFound(); m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-scissorCount-arraylength"); - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetScissor-firstScissor-00592"); - vkCmdSetScissor(m_commandBuffer->handle(), max_scissors + 1, 0, scissors.data()); + vkCmdSetScissor(m_commandBuffer->handle(), 1, 0, scissors.data()); m_errorMonitor->VerifyFound(); } |