KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Missing External memory/sync VUs
- Dominant language
- C++
- Stars
- 1k
- Forks
- 504
- Avg merge
- 11h 35m
- Merged PRs (30d)
- 224
Description
Some remaining external memory/sync VU - possible they might belong in `unimplementable_validation.h`
Win32 in https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/11376
memory allocate time
- [x] VUID-VkMemoryAllocateInfo-pNext-00641
- [x] VUID-VkMemoryAllocateInfo-allocationSize-01742
- [x] VUID-VkMemoryAllocateInfo-allocationSize-01743
- [x] VUID-VkMemoryAllocateInfo-allocationSize-01745
- [x] VUID-VkMemoryAllocateInfo-allocationSize-07897
- [ ] VUID-VkMemoryAllocateInfo-memoryTypeIndex-00648
- [ ] VUID-VkMemoryAllocateInfo-None-00643
- [ ] VUID-VkMemoryAllocateInfo-None-00644
- [ ] VUID-VkMemoryAllocateInfo-allocationSize-00647
- [x] VUID-VkMemoryAllocateInfo-pNext-02806
- [x] VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744
dedicated memory
- [x] VUID-VkMemoryAllocateInfo-pNext-00639
- [x] VUID-VkMemoryDedicatedAllocateInfo-image-01878
- [x] VUID-VkMemoryDedicatedAllocateInfo-buffer-01879
VK_KHR_external_memory_fd
- [x] VUID-vkGetMemoryFdPropertiesKHR-fd-00673
- [x] VUID-vkGetMemoryFdPropertiesKHR-handleType-00674
Some decisions behind design: https://gitlab.khronos.org/vulkan/vulkan/-/issues/3423#note_405999
- [x] VUID-VkMemoryGetFdInfoKHR-handleType-00671
- [x] VUID-VkMemoryGetFdInfoKHR-handleType-00672
VkImportMemoryFdInfoKHR
- [x] VUID-VkImportMemoryFdInfoKHR-handleType-00667 (https://gitlab.khronos.org/vulkan/vulkan/-/issues/3667)
- [x] VUID-VkImportMemoryFdInfoKHR-handleType-00669
- [x] VUID-VkImportMemoryFdInfoKHR-handleType-00670
VK_KHR_external_semaphore_fd
- [x] VUID-VkSemaphoreGetFdInfoKHR-handleType-01132
- [x] VUID-VkImportSemaphoreFdInfoKHR-handleType-03263
- [x] VUID-VkImportSemaphoreFdInfoKHR-handleType-03264
- [x] VUID-VkImportSemaphoreFdInfoKHR-flags-03323
- [x] VUID-VkSemaphoreGetFdInfoKHR-handleType-03253
VK_EXT_external_memory_host
- [ ] VUID-VkImportMemoryHostPointerInfoEXT-handleType-01747 (https://gitlab.khronos.org/vulkan/vulkan/-/issues/3671)
- [x] VUID-VkImportMemoryHostPointerInfoEXT-handleType-01748
- [x] VUID-VkImportMemoryHostPointerInfoEXT-pHostPointer-01749
- [ ] VUID-VkImportMemoryHostPointerInfoEXT-handleType-01750
- [ ] VUID-VkImportMemoryHostPointerInfoEXT-handleType-01751
- [ ] VUID-vkGetMemoryHostPointerPropertiesEXT-handleType-01754
- [ ] VUID-vkGetMemoryHostPointerPropertiesEXT-handleType-01755
exportFromImportedHandleTypes
- [x] VUID-VkSemaphoreGetFdInfoKHR-semaphore-01133 (https://gitlab.khronos.org/vulkan/vulkan/-/issues/3670)
- [x] VUID-VkFenceGetFdInfoKHR-fence-01455
Multi device
- [ ] VUID-VkImportMemoryFdInfoKHR-fd-00668
- [ ] VUID-VkImportMemoryFdInfoKHR-fd-01746
From `VK_KHR_external_fence_fd`
- [ ] VUID-VkSemaphoreGetFdInfoKHR-handleType-01134
- [ ] VUID-VkSemaphoreGetFdInfoKHR-handleType-01135
These check the values from VkPhysicalDeviceIDProperties
- [ ] VUID-VkImportMemoryFdInfoKHR-fd-01520
- [ ] VUID-VkImportSemaphoreFdInfoKHR-fd-01544
- [ ] VUID-VkImportFenceFdInfoKHR-fd-01541
- [ ] VUID-VkImportMemoryWin32HandleInfoKHR-handle-01518
- [ ] VUID-VkImportMemoryWin32HandleInfoKHR-name-01519
- [ ] VUID-VkImportSemaphoreWin32HandleInfoKHR-handle-01542
- [ ] VUID-VkImportSemaphoreWin32HandleInfoKHR-name-01543
- [ ] VUID-VkImportFenceWin32HandleInfoKHR-handle-01539
- [ ] VUID-VkImportFenceWin32HandleInfoKHR-name-01540
Fro D3D11 handles
- [ ] VUID-VkImageMemoryBarrier-dstQueueFamilyIndex-12331
- [ ] VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-12332
Contributor guide
Research direction
Read the unchecked VUID checklist, `unimplementable_validation.h`, and the linked Vulkan and GitLab issues first. Locate the corresponding Vulkan Validation Layers checks and determine which remaining external memory, semaphore, fence, host-pointer, multi-device, and D3D11 cases are implementable; done means the unchecked applicable VUIDs are covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, operating-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100