diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 6088f814f9..9a6dd942e7 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -5490,14 +5490,8 @@ VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets(VkCommandBuffer commandBuffer, if (cb_state->lastBound[pipelineBindPoint].boundDescriptorSets[i] && !verify_set_layout_compatibility(cb_state->lastBound[pipelineBindPoint].boundDescriptorSets[i], pipeline_layout, i, error_string)) { - skip |= log_msg( - dev_data->report_data, VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, - VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, - HandleToUint64(cb_state->lastBound[pipelineBindPoint].boundDescriptorSets[i]), __LINE__, DRAWSTATE_NONE, - "DS", "DescriptorSet 0x%" PRIxLEAST64 - " previously bound as set #%u was disturbed by newly bound pipelineLayout (0x%" PRIxLEAST64 ")", - HandleToUint64(cb_state->lastBound[pipelineBindPoint].boundDescriptorSets[i]), i, - HandleToUint64(layout)); + // TODO: Flag descriptor as disturbed and then if/when attempt to be used when unbound, note that it was + // previously disturbed cb_state->lastBound[pipelineBindPoint].boundDescriptorSets[i] = VK_NULL_HANDLE; } } diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp index 4b78634a4b..7f3cf169d9 100644 --- a/tests/layer_validation_tests.cpp +++ b/tests/layer_validation_tests.cpp @@ -8225,11 +8225,12 @@ TEST_F(VkLayerTest, DescriptorSetCompatibility) { // First bind sets 0 & 1 vkCmdBindDescriptorSets(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL); + // TODO: Removed this perf warning and planning to update to only note disturbed descriptor when used unbound (See #2022) // 1. Disturb bound set0 by re-binding set1 w/ updated pipelineLayout - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, " previously bound as set #0 was disturbed "); - vkCmdBindDescriptorSets(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_bad_set0, 1, 1, - &descriptorSet[1], 0, NULL); - m_errorMonitor->VerifyFound(); +// m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, " previously bound as set #0 was disturbed "); +// vkCmdBindDescriptorSets(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_bad_set0, 1, 1, +// &descriptorSet[1], 0, NULL); +// m_errorMonitor->VerifyFound(); vkCmdBindDescriptorSets(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL);