KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Add VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561

Open
#7,481 0 comments 0 reactions 0 assignees View on GitHub
Incomplete RT
Dominant language
C++
Stars
1k
Forks
504
Avg merge
11h 35m
Merged PRs (30d)
224

Description

TL;DR:
Adding validation for this VU is of low priority

**VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561**
The memory pointed to by dst must be at least as large as the serialization size of src, as reported by [vkWriteAccelerationStructuresPropertiesKHR](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkWriteAccelerationStructuresPropertiesKHR.html) or [vkCmdWriteAccelerationStructuresPropertiesKHR](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdWriteAccelerationStructuresPropertiesKHR.html) with a query type of VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR

Validation for this VU will only be done when the struct is used in `vkCmdCopyAccelerationStructureToMemoryKHR`, as for the host version, making sure that the CPU memory has been allocated properly is out of the scope of the VVL.

Doing a call to vkCmdWriteAccelerationStructuresPropertiesKHR demands to setup a query pool, dispatching the query, submit the command buffer to a queue, wait for its completion, and finally read back the result.
Falling back on the host version requires the [accelerationStructureHostCommands](https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands) feature, a feature that is likely to not be enabled when one uses `vkCmdCopyAccelerationStructureToMemoryKHR`, so this is not really a solution.

Contributor guide

Open the contributing guide

Research direction

The requested change concerns VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561 for vkCmdCopyAccelerationStructureToMemoryKHR; no source files or tests are named. Start by tracing validation for this command and the related vkCmdWriteAccelerationStructuresPropertiesKHR query path. Done means validating the device-command case while leaving host-memory allocation out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.