KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

Missing External memory/sync VUs

Open
#5,431 2 comments 0 reactions 0 assignees View on GitHub
Incomplete
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.