KhronosGroup / Vulkan-ValidationLayers

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

sync: Report descriptor resources #8221

Closed artem-lunarg closed 3 days ago

artem-lunarg commented 3 days ago

One more PR to track resource handles for submit time validation. This adds the resource handles referenced by the descriptors. New option sync_report_descriptor_resources controls this feature (disabled by default).

The previous PRs added handle reporting for handles specified directly through API commands, as in vkCmdCopyBuffer(buffer_a, buffer_b). Those handles have fixed and small memory footprint and they are always collected.

Shader can reference a lot of resources and it can take significant amount of memory depending on the application. That's the reason configuration option is introduced. Some numbers for the required amount of memory for descriptor resource handles from the test sessions: CS2: 70 Mb, Doom eternal: 600 Mb.

The next PR will use the information about tracked handles to detect a specific resource that caused hazard during submit time validation.

ci-tester-lunarg commented 3 days ago

CI Vulkan-ValidationLayers build queued with queue ID 209809.

ci-tester-lunarg commented 3 days ago

CI Vulkan-ValidationLayers build # 16970 running.

ci-tester-lunarg commented 3 days ago

CI Vulkan-ValidationLayers build # 16970 passed.