KhronosGroup / Vulkan-ValidationLayers

Vulkan Validation Layers (VVL)
https://vulkan.lunarg.com/doc/sdk/latest/linux/khronos_validation_layer.html
Other
759 stars 403 forks source link

VUID-vkDestroyFence-fence-01120 message #8745

Open ziga-lunarg opened 5 hours ago

ziga-lunarg commented 5 hours ago

I'm running into VUID-vkDestroyFence-fence-01120, but the message doesn't make much sense.

Validation Error: [ VUID-vkDestroyFence-fence-01120 ] | MessageID = 0x5d296248 | vkDestroyFence(): fence can't be called on VkFence 0xf56c9b0000000004[] that is currently in use by VkFence 0xf56c9b0000000004[].

The word fence seems extra in that sentence, but more importantly the fence is in use by itself?

Test to reproduce:

TEST_F(PositiveSyncObject, DestroyFenceInUse) {
    RETURN_IF_SKIP(Init());

    VkFenceCreateInfo fci = vku::InitStructHelper();
    fci.flags = VK_FENCE_CREATE_SIGNALED_BIT;
    vkt::Fence fence(*m_device, fci);

    vk::WaitForFences(device(), 1, &fence.handle(), VK_TRUE, kWaitTimeout);
    vk::ResetFences(device(), 1u, &fence.handle());

    m_default_queue->Submit(vkt::no_cmd, fence);
}
artem-lunarg commented 4 hours ago

It looks similar issues with other objects, saw the same in Semaphore messages.