ash-rs / ash

Vulkan bindings for Rust
Apache License 2.0
1.85k stars 187 forks source link

ERROR: VALIDATION on examples #917

Open nixpulvis opened 6 months ago

nixpulvis commented 6 months ago

After getting setup with the VulkanSDK on macOS, I'm getting a lot of these errors at runtime when running either of the examples.

ERROR:
VALIDATION [VUID-vkAcquireNextImageKHR-semaphore-01779 (1461184347)] : Validation Error: [ VUID-vkAcquireNextImageKHR-semaphore-01779 ] Object 0: handle = 0xd5b26f0000000010, type = VK_OBJECT_TYPE_SEMAPHORE; | MessageID = 0x5717e75b | vkAcquireNextImageKHR():  Semaphore must not have any pending operations. The Vulkan spec states: If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending (https://vulkan.lunarg.com/doc/view/1.3.280.0/mac/1.3-extensions/vkspec.html#VUID-vkAcquireNextImageKHR-semaphore-01779)

I haven't tested this on Linux so I can't say if it's my environment or something in ash itself, but I thought I'd open this issue since I don't see what else I should change without changing source code.

MarijnS95 commented 6 months ago

@nixpulvis Yup I've seen this as well (on Linux), the example is violating some semaphore rules that are caught in newer validation layers. It's not a problem with ash itself (since it doesn't implement any Vulkan logic) but it is a problem with the example that should be fixed. I just haven't gotten around to it as the example is in quite a sad and unmaintained state.

nixpulvis commented 6 months ago

@MarijnS95 good to know, thanks.

I'm just now starting out learning Vulkan (for the second time). So if I don't give up again and figure it out I'll be sure to come back around with a PR. No promises tho :P

filnet commented 6 months ago

Could also be a VVL false positive. Timeline semaphores validation is currently broken.

See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues?q=is%3Aissue+is%3Aopen+semaphore

MarijnS95 commented 6 months ago

@filnet swapchain functionality doesn't support the usage of timeline semaphores.