StratoSDK is a framework with a declarative approach similar to Flutter/React, written and designed entirely for Rust.
| 1 | # Vulkan Validation Warnings - Known Issues |
| 2 | |
| 3 | ## VUID-vkQueueSubmit-pSignalSemaphores-00067 |
| 4 | |
| 5 | ### Problem Description |
| 6 | When running StratoSDK applications, you might see Vulkan validation warnings similar to: |
| 7 | |
| 8 | ``` |
| 9 | VALIDATION [VUID-vkQueueSubmit-pSignalSemaphores-00067] vkQueueSubmit(): |
| 10 | pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x...) is being signaled by VkQueue 0x..., |
| 11 | but it may still be in use by VkSwapchainKHR 0x... |
| 12 | ``` |
| 13 | |
| 14 | ### Cause |
| 15 | This is a **known issue in WGPU** (the rendering backend used by StratoSDK) related to unsafe reuse of semaphores in the Vulkan swapchain. The problem occurs because: |
| 16 | |
| 17 | 1. WGPU reuses the same semaphore for different frames before the previous presentation operation is completed |
| 18 | 2. Synchronization is based on frames in flight rather than swapchain images |
| 19 | 3. There are no guarantees that previous presentation operations are completed |
| 20 | |
| 21 | ### Impact |
| 22 | - **Functionality**: The application continues to work correctly |
| 23 | - **Performance**: No significant impact on performance |
| 24 | - **Stability**: No crashes or undefined behavior observed |
| 25 | - **Validation**: Vulkan validation warnings (not fatal errors) |
| 26 | |
| 27 | ### Resolution Status |
| 28 | This is an issue that must be resolved **upstream in WGPU**: |
| 29 | - Tracked issues: [#5559](https://github.com/gfx-rs/wgpu/issues/5559), [#7957](https://github.com/gfx-rs/wgpu/issues/7957) |
| 30 | - Requires changes to WGPU's HAL (Hardware Abstraction Layer) |
| 31 | - Cannot be resolved at the application level |
| 32 | |
| 33 | ### Temporary Solutions |
| 34 | To reduce warnings during development: |
| 35 | |
| 36 | 1. **Disable Vulkan validation** (development only): |
| 37 | ```bash |
| 38 | # Windows |
| 39 | set VK_INSTANCE_LAYERS= |
| 40 | |
| 41 | # Linux/macOS |
| 42 | export VK_INSTANCE_LAYERS= |
| 43 | ``` |
| 44 | |
| 45 | 2. **Use DX12 backend on Windows** (if available): |
| 46 | ```rust |
| 47 | let backends = wgpu::Backends::DX12; |
| 48 | ``` |
| 49 | |
| 50 | ### Notes for Developers |
| 51 | - These warnings do not indicate errors in the application code |
| 52 | - The problem is limited to WGPU's Vulkan backend |
| 53 | - Other backends (DX12, Metal) are not affected by this issue |
| 54 | - The definitive resolution will come with future versions of WGPU |
| 55 | |
| 56 | --- |
| 57 | *Last updated: December 2025* |
| 58 | *WGPU Version: 0.20+* |