On 7 August 2018 at 23:24, Chip Davis cdavis@codeweavers.com wrote:
August 7, 2018 1:42 PM, "Henri Verbeet" hverbeet@gmail.com wrote:
On 4 August 2018 at 01:42, Chip Davis cdavis@codeweavers.com wrote:
static const char * const instance_extensions[] = { VK_KHR_SURFACE_EXTENSION_NAME, +#ifdef HAVE_MOLTENVK_VK_MVK_MOLTENVK_H
- VK_MVK_MACOS_SURFACE_EXTENSION_NAME,
+#elif defined(HAVE_XCB_XCB_H) VK_KHR_XCB_SURFACE_EXTENSION_NAME, +#endif
I don't think those are necessarily mutually exclusive.
Except that these are passed as required extensions. That means that if any aren't present, VkInstance creation will fail.
Hmm, right, that's a bit of an issue. The case of supporting both MoltenVK and XCB is probably mostly theoretic for the foreseeable future, but the case of supporting both XCB and Wayland with a single build of vkd3d is very real. Other than the "adapter" argument, D3D12CreateDevice() doesn't provide a lot of opportunities to request a specific windowing system. We may have to try what works at runtime.