KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Best practices layer warns about enabling deprecated extension even when promoted variant isn't supported
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
**Environment:**
- OS: Linux Opensuse Thumbleweed
- GPU and driver version: AMD Radeon RX 7600 (RADV NAVI33), Mesa 25.2.2
- SDK or header version if building from repo: 1.4.321
- Options enabled (synchronization, best practices, etc.): best practices
**Describe the Issue**
Creating instance with extension `VK_EXT_surface_maintenance1` enabled results in warning
`vkCreateInstance(): Attempting to enable deprecated extension VK_EXT_surface_maintenance1, but this extension has been promoted to VK_KHR_surface_maintenance1.` But KHR version is not (yet) supported on my platform, so there is nothing I can do about it.
Same issue with `VK_EXT_swapchain_maintenance1`.
**Expected behavior**
Validation layer should check if the newer extension is supported by the instance or device before issuing a warning.
**Valid Usage ID**
If applicable, please include the validation messages encountered leading up to the issue
**Additional context**
According to gpuinfo there are only a handful reports with KHR version being supported on windows and none on linux https://vulkan.gpuinfo.org/listreports.php?instanceextension=VK_KHR_surface_maintenance1
Contributor guide
Research direction
Start by locating the best-practices validation path that emits the deprecated-extension warning, then reproduce the behavior with VK_EXT_surface_maintenance1 and VK_EXT_swapchain_maintenance1 on the stated Linux environment. Done means the warning is issued only when the promoted KHR extension is supported, with coverage for both extensions.
Written by the indexing model from the issue text.
Assessment
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100