vulkan: add initial device selection layer. (v6.1)
This is code Bas has out of tree but I think mesa should be shipping it, and I've improved it.
Initially-written-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
v2: add infinite recursion fix (Bas)
v3: Fix wayland/xcb barrier, whitespace
v4: use a macro for getting apis, shorten some lines, use outarray
v5: rewrite in C, use hash_table/mutex.
v6: use once_init to init the mutex, fix freeing ht
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1766>
- [DH] src/vulkan/device-select-layer/VkLayer_MESA_device_select.json
- [DH] src/vulkan/device-select-layer/device_select.h
- [DH] src/vulkan/device-select-layer/device_select_layer.c
- [DH] src/vulkan/device-select-layer/device_select_wayland.c
- [DH] src/vulkan/device-select-layer/device_select_x11.c
- [DH] src/vulkan/device-select-layer/meson.build