GPUOpen-Effects / FidelityFX-FSR2

FidelityFX Super Resolution 2
Other
1.96k stars 180 forks source link

Vulkan validation errors associated with descriptor set frees #66

Open jeremyong-az opened 2 years ago

jeremyong-az commented 2 years ago

On the most recent FSR2 release, I'm seeing the following validation errors due to invalid descriptor set frees on dsets in use by the command buffer from what I can tell:

<17:07:39> [Error] (vkDebugMessage) - [ERROR][Validation] Validation Error: [ VUID-vkFreeDescriptorSets-pDescriptorSets-00309 ] Object 0: handle = 0xef6209000000197b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xbfce1114 | vkUpdateDescriptorSets() pDescriptorWrites[1] failed write update validation for VkDescriptorSet 0xef6209000000197b[] with error: Cannot call vkUpdateDescriptorSets() to perform write update on VkDescriptorSet 0xef6209000000197b[] allocated with VkDescriptorSetLayout 0xe144aa0000001978[] that is in use by a command buffer. The Vulkan spec states: All submitted commands that refer to any element of pDescriptorSets must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkFreeDescriptorSets-pDescriptorSets-00309) <17:07:39> [Error] (vkDebugMessage) - [ERROR][Validation] Validation Error: [ VUID-vkFreeDescriptorSets-pDescriptorSets-00309 ] Object 0: handle = 0xef6209000000197b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xbfce1114 | vkUpdateDescriptorSets() pDescriptorWrites[2] failed write update validation for VkDescriptorSet 0xef6209000000197b[] with error: Cannot call vkUpdateDescriptorSets() to perform write update on VkDescriptorSet 0xef6209000000197b[] allocated with VkDescriptorSetLayout 0xe144aa0000001978[] that is in use by a command buffer. The Vulkan spec states: All submitted commands that refer to any element of pDescriptorSets must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkFreeDescriptorSets-pDescriptorSets-00309) <17:07:39> [Error] (vkDebugMessage) - [ERROR][Validation] Validation Error: [ VUID-vkFreeDescriptorSets-pDescriptorSets-00309 ] Object 0: handle = 0xef6209000000197b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xbfce1114 | vkUpdateDescriptorSets() pDescriptorWrites[3] failed write update validation for VkDescriptorSet 0xef6209000000197b[] with error: Cannot call vkUpdateDescriptorSets() to perform write update on VkDescriptorSet 0xef6209000000197b[] allocated with VkDescriptorSetLayout 0xe144aa0000001978[] that is in use by a command buffer. The Vulkan spec states: All submitted commands that refer to any element of pDescriptorSets must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkFreeDescriptorSets-pDescriptorSets-00309) <17:07:39> [Error] (vkDebugMessage) - [ERROR][Validation] Validation Error: [ VUID-vkFreeDescriptorSets-pDescriptorSets-00309 ] Object 0: handle = 0xef6209000000197b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xbfce1114 | vkUpdateDescriptorSets() pDescriptorWrites[4] failed write update validation for VkDescriptorSet 0xef6209000000197b[] with error: Cannot call vkUpdateDescriptorSets() to perform write update on VkDescriptorSet 0xef6209000000197b[] allocated with VkDescriptorSetLayout 0xe144aa0000001978[] that is in use by a command buffer. The Vulkan spec states: All submitted commands that refer to any element of pDescriptorSets must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkFreeDescriptorSets-pDescriptorSets-00309)
adevaykin commented 1 year ago

Did you manage to sort it out? Was it your integration bug or still on the FSR side? In our case it happens with descriptor set updates inside FSR.

adevaykin commented 1 year ago

FYI: it may be a bug in validation layers. With a recent Vulkan SDK update we don't see them any more, and we could not explain where they could originate from with the older SDK.