KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Possible missing validation check for GPU-AV with BLAS builds and non-triangle index data
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
**Describe the situation in which you encountered the missing validation**
Issue description:
I unfortunately can't provide a reproducer app, but @spencer-lunarg suggested I file a bug describing the issue I ran into anyway. I was hitting a device lost on RTX 4080 in vkCmdBuildAccelerationStructuresKHR. The Aftermath dumps were just pointing to the internal AS building. I ran with GPU-AV and it did not report any errors.
I did figure out the bug: we had debug rendering code that was taking triangle geometry and creating line index buffers out of the geometry to draw in wireframe. The code that did this was using the same code we use for triangle mesh objects to build a BLAS. So in other words - the bug was that we were using index data that was for line pairs and trying to build a BLAS for it. I'm not precisely sure the reason for the device lost...it wouldn't have had out-of-bound indices but it also wasn't valid triangle data.
Maybe it's worth trying to make a test case and see if it repros?
Contributor guide
Research direction
Start by constructing a minimal test case for GPU-AV and vkCmdBuildAccelerationStructuresKHR using BLAS triangle geometry with line-pair index data, since no reproducer or file is provided. Investigate whether validation reports the invalid non-triangle index data; done when the behavior is reproduced and covered by a focused validation test or the investigation is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100