KhronosGroup / Vulkan-ValidationLayers

Vulkan Validation Layers (VVL)
https://vulkan.lunarg.com/doc/sdk/latest/linux/khronos_validation_layer.html
Other
755 stars 403 forks source link

False positive when using descriptor buffers: UNASSIGNED-Descriptor index out of bounds #8316

Open cyanreg opened 2 months ago

cyanreg commented 2 months ago

Although the layer explicitly warns that no validation will be performed when using descriptor buffers, GPU assisted validation still results in errors for basic storage buffers in descriptors:

Validation Error: [ UNASSIGNED-Descriptor index out of bounds ] Object 0: handle = 0x55d6a51bf2e0, type = VK_OBJECT_TYPE_QUEUE; Object 1: handle = 0x55d6a52b6e80, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x68698324 | vkCmdDispatch(): (set = 0, binding = 0) Index of 0 used to index descriptor array of length 0.

The code to replicate this can be found here: https://github.com/cyanreg/ldpc_matrix_opt/commit/d0693c6b590866c654b77008d2cbce8e1110589d Just run ./build/src/lmo after compiling (requires my fork of ffmpeg to build).

Silencing the issue would be a fix, though proper support for descriptor buffers would be most optimal. Are there any plans to add support?

spencer-lunarg commented 2 months ago

@cyanreg what version of Validation Layers were you using? ToT or an SDK build?

cyanreg commented 2 months ago

git master from 5 days ago (69d78b7b4404f76be557df4b14cda6f97f672c2c).

spencer-lunarg commented 2 months ago

@cyanreg thanks, wanted to make sure it wasn't an old SDK version... currently backed up by things I need to do, but will try to find time to take a look into this, thanks again for reporting this and giving a example to help reproduce it.

cyanreg commented 4 weeks ago

Ping.