From 8927077645a7a482908e5792dfd9038551c4881b Mon Sep 17 00:00:00 2001 From: Schell Carl Scivally Date: Sat, 22 Jul 2023 20:35:28 +1200 Subject: [PATCH] fix: macOS - added portability bit and extension when creating vulkan instance (#3958) * fix: added portability bit and extension when creating vulkan instance * fmt --- wgpu-hal/src/vulkan/instance.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/wgpu-hal/src/vulkan/instance.rs b/wgpu-hal/src/vulkan/instance.rs index 8ae477da9f..81ecbaf3e3 100644 --- a/wgpu-hal/src/vulkan/instance.rs +++ b/wgpu-hal/src/vulkan/instance.rs @@ -215,6 +215,8 @@ impl super::Instance { if cfg!(target_os = "macos") { // VK_EXT_metal_surface extensions.push(ext::MetalSurface::name()); + extensions + .push(CStr::from_bytes_with_nul(b"VK_KHR_portability_enumeration\0").unwrap()); } if flags.contains(crate::InstanceFlags::DEBUG) { @@ -648,8 +650,11 @@ impl crate::Instance for super::Instance { }) .collect::>(); + const VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR: u32 = 0x00000001; let create_info = vk::InstanceCreateInfo::builder() - .flags(vk::InstanceCreateFlags::empty()) + .flags(vk::InstanceCreateFlags::from_raw( + VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR, + )) .application_info(&app_info) .enabled_layer_names(&str_pointers[..layers.len()]) .enabled_extension_names(&str_pointers[layers.len()..]);