comp/client: Clean up Vulkan extension list, and add Windows extensions.

This commit is contained in:
Ryan Pavlik 2020-11-19 10:49:14 -06:00
parent d3ccbce76c
commit 69a33c642d

View file

@ -7,32 +7,53 @@
* @ingroup comp_client
*/
#include <stdlib.h>
#include "client/comp_vk_client.h"
#include <stdlib.h>
// Note: Most of the time, the instance extensions required do **not** vary by
// platform!
const char *xrt_gfx_vk_instance_extensions =
"VK_KHR_external_fence_capabilities"
" VK_KHR_external_memory_capabilities"
" VK_KHR_external_semaphore_capabilities"
" VK_KHR_get_physical_device_properties2"
" VK_KHR_surface";
VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME
" " VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
" " VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME
" " VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
// The device extensions do vary by platform, but in a very regular way.
// This should match the list in comp_compositor, except it shouldn't include
// VK_KHR_SWAPCHAIN_EXTENSION_NAME
const char *xrt_gfx_vk_device_extensions =
"VK_KHR_dedicated_allocation"
" VK_KHR_external_fence"
" VK_KHR_external_fence_fd"
" VK_KHR_external_memory"
" VK_KHR_external_memory_fd"
" VK_KHR_external_semaphore"
" VK_KHR_external_semaphore_fd"
" VK_KHR_get_memory_requirements2"
" VK_KHR_swapchain"
#if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER)
" VK_ANDROID_external_memory_android_hardware_buffer"
VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME
" " VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME
" " VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME
" " VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME
" " VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
// Platform version of "external_memory"
#if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_FD)
" " VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME
#elif defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER)
" " VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME
#elif defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_WIN32_HANDLE)
" " VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME
#else
#error "Need port!"
#endif
// Platform version of "external_fence" and "external_semaphore"
#if defined(XRT_GRAPHICS_SYNC_HANDLE_IS_FD)
" " VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME
" " VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
#elif defined(XRT_GRAPHICS_SYNC_HANDLE_IS_WIN32_HANDLE)
" " VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME
" " VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
#else
#error "Need port!"
#endif
;
void
xrt_gfx_vk_get_versions(struct xrt_api_requirements *ver)