ngscopeclient / scopehal

Test and measurement hardware abstraction library and protocol decodes. This is the library only. Most users should use scopehal-apps.
BSD 3-Clause "New" or "Revised" License
207 stars 94 forks source link

Correct ascending sort of Vulkan queues by feature flag count #794

Closed hansemro closed 1 year ago

hansemro commented 1 year ago

This corrects Vulkan queue sort order from descending to ascending order of feature flag count. This is the intended sort behavior as stated in the sort comment.

This addresses the side effect from descending order sort, where QueueManager assigns a more featureful queue even though a more appropriate queue with fewer features is available. This side effect manifests on AMD integrated GPUs by assigning the only graphics-capable queue to g_vkTransferQueue (which only require Transfer capability) and rendering tasks.

For reference, we want to prioritize queues with the fewest features and reserve more general-purpose queues (with graphics capabilities) for graphics/rendering tasks. This works on the assumption that graphics-capable queues support more features.