KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Add error handling validation / fuzzing
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
It is quite common for applications to not correctly handle runtime errors such as swapchain out of date or device lost. To make it easier for developers to test their handling of these errors, it would be helpful to have a way to generate these errors semi-randomly (every N seconds or N api calls). It is unclear if this should be part of VVL or a completely separate layer.
Some error cases that would be good to handle:
- All errors that can be returned from vkAcquireNextImageKHR() and vkQueuePresentKHR()
- All api calls that can return VK_DEVICE_LOST
- All api calls that can return VK_ERROR_OUT_OF_HOST_MEMORY or VK_ERROR_OUT_OF_DEVICE_MEMORY
- All api calls that can return VK_TIMEOUT
Contributor guide
Research direction
Start by defining whether this belongs in VVL or a separate layer, then scope error injection around vkAcquireNextImageKHR(), vkQueuePresentKHR(), VK_DEVICE_LOST, out-of-memory errors, and VK_TIMEOUT. Done should mean the intended injection controls, supported error cases, and project location are agreed before implementation begins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100