SDK or header version if building from repo: Latest LunarG package (1.3.283.0~rc2-1lunarg22.04-1)
Options enabled (synchronization, best practices, etc.): Best Practices (including vendor-specific options)
Describe the Issue
Enable VK_EXT_pageable_device_local_memory for a device. Create a VkDeviceMemory with VkMemoryPriorityAllocateInfoEXT in the pNext chain. Attempt to bind that memory to an object. BestPractices-NVIDIA-BindMemory-NoPriority is raised as it only checks for usage of vkSetDeviceMemoryPriorityEXT when VK_EXT_pageable_device_local_memory is enabled.
Expected behavior
Setting a priority via VkMemoryPriorityAllocateInfoEXT has identical behavior to calling vkSetDeviceMemoryPriorityEXT exactly once immediately after creation of a VkDeviceMemory.
Environment:
Describe the Issue
Enable
VK_EXT_pageable_device_local_memory
for a device. Create aVkDeviceMemory
withVkMemoryPriorityAllocateInfoEXT
in thepNext
chain. Attempt to bind that memory to an object.BestPractices-NVIDIA-BindMemory-NoPriority
is raised as it only checks for usage ofvkSetDeviceMemoryPriorityEXT
whenVK_EXT_pageable_device_local_memory
is enabled.Expected behavior
Setting a priority via
VkMemoryPriorityAllocateInfoEXT
has identical behavior to callingvkSetDeviceMemoryPriorityEXT
exactly once immediately after creation of aVkDeviceMemory
.Valid Usage ID
BestPractices-NVIDIA-BindMemory-NoPriority
Related checks:
BestPractices-CreateDevice-PageableDeviceLocalMemory
BestPractices-AllocateMemory-SetPriority
Additional context
VMA currently has no support for
vkSetDeviceMemoryPriorityEXT
, which is how I encountered this BPA warning.