KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Add error handling validation / fuzzing

Open
#7,319 0 comments 2 reactions 0 assignees View on GitHub
Enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.