-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
layers: Refactor and improve acceleration structure state tracking #3782
layers: Refactor and improve acceleration structure state tracking #3782
Conversation
CI Vulkan-ValidationLayers build queued with queue ID 17756. |
CI Vulkan-ValidationLayers build # 6249 running. |
CI Vulkan-ValidationLayers build # 6249 failed. |
14b66d5
to
1f9e461
Compare
CI Vulkan-ValidationLayers build queued with queue ID 17826. |
CI Vulkan-ValidationLayers build # 6250 running. |
CI Vulkan-ValidationLayers build # 6250 failed. |
1f9e461
to
f045a0d
Compare
CI Vulkan-ValidationLayers build queued with queue ID 17905. |
CI Vulkan-ValidationLayers build # 6252 running. |
CI Vulkan-ValidationLayers build # 6252 passed. |
I can break this up into a few other PRs if people prefer... |
f045a0d
to
037aa49
Compare
CI Vulkan-ValidationLayers build queued with queue ID 19430. |
CI Vulkan-ValidationLayers build # 6273 running. |
CI Vulkan-ValidationLayers build # 6273 failed. |
Remove unneeded data members and make many others const. The NV and KHR state objects cannot be combined because the NV version has a VkDeviceMemory bound to by vkBindAccelerationStructureMemoryNV(), but the KHR version gets its memory from a VkBuffer included in the VkAccelerationStructureCreateInfoKHR struct.
Add tracking for vkCmdCopyMemoryToAccelerationStructureKHR() and vkCmdCopyMemoryToAccelerationStructureKHR().
Make sure the state tracker can detect if buffers used by this command are freed prematurely.
Because the buffers are passed by a VkDeviceAddress that might not be the start of the VkBuffer, the entire buffer address range needs to be tracked.
This tests makes sure the buffers used are tracked even if a device address after the start of the buffer is used.
037aa49
to
dca83f6
Compare
CI Vulkan-ValidationLayers build queued with queue ID 19459. |
CI Vulkan-ValidationLayers build # 6276 running. |
CI Vulkan-ValidationLayers build # 6276 passed. |
Remove unneeded data members and make many others const.
The KHR state object shouldn't inherit from BINDABLE, because memory is never bound to it.
Add tracking for buffers used in the build acceleration structure commands, including those that are passed by VkDeviceAddress.
Fixes #3664