KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Possible missing validation check for GPU-AV with BLAS builds and non-triangle index data

Open
#12,339 0 comments 0 reactions 0 assignees View on GitHub
GPU-AV Incomplete RT
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.