-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Description
I keep getting validation errors from Vulkan anytime I run my own code or given examples and it seems to be from the low-level Vulkan API. I've tried updating my drivers and reading anything I could find relating to the output from my logs to no avail. To be honest, I'm probably a little out of my depth here as this is my first time diving into anything this close to the graphics card. Thanks.
Repro steps
- Copy the standalone hello_windows example from the wgpu repo.
(Anything after step one seems to be optional as I see the validation error regardless, it just doesn't seem to fail visually) - Change wgpu::LoadOp::Clear() from wgpu::Color::GREEN to wgpu::Color::TRANSPARENT.
- Add .with_transparent(true) to Window::default_attributes()
Expected vs observed behavior
I expect to see a transparent window, but anytime I run the same program on my desktop I get validation errors and a black opaque window.
Extra materials
Logs:
[2025-07-16T22:16:06Z ERROR wgpu_hal::vulkan::instance] VALIDATION [VUID-vkQueueSubmit-pSignalSemaphores-00067 (0x539277af)] vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x460000000046) is being signaled by VkQueue 0x1fc47134d00, but it may still be in use by VkSwapchainKHR 0x2e000000002e. Here are the most recently acquired image indices: 0, 1, [2], 0, 1, 1, 0. (brackets mark the last use of VkSemaphore 0x460000000046 in a presentation operation) Swapchain image 2 was presented but was not re-acquired, so VkSemaphore 0x460000000046 may still be in use and cannot be safely reused with image index 0. Vulkan insight: One solution is to assign each image its own semaphore. Here are some common methods to ensure that a semaphore passed to vkQueuePresentKHR is not in use and can be safely reused: a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image. b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation. The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of any element of pSubmits must be unsignaled when the semaphore signal operation it defines is executed on the device (https://vulkan.lunarg.com/doc/view/1.4.321.0/windows/antora/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)
This is on my desktop where I'm having the problem
This is on my laptop where I see the expected result
Platform
Windows 11
WGPU 26.0.0
Winit 0.38.8
Nvidia 3080 ti (driver: 576.88)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status