Vulkan: Use EXT_metal_surface instead of MVK_macos_surface
All Vulkan implementations on macOS have EXT_metal_surface available
(MoltenVk, Swiftshader and gfx-rs), and it matches webgpu.h's surface
creation from a CAMetalLayer more closely.
Bug: dawn:269
Change-Id: I313cd366b3509fb8930552406d150f08fc8e3666
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/17962
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn_native/vulkan/BackendVk.cpp b/src/dawn_native/vulkan/BackendVk.cpp
index ab797df..8cd2492 100644
--- a/src/dawn_native/vulkan/BackendVk.cpp
+++ b/src/dawn_native/vulkan/BackendVk.cpp
@@ -196,9 +196,9 @@
layersToRequest.push_back(kLayerNameFuchsiaImagePipeSwapchain);
usedKnobs.fuchsiaImagePipeSwapchain = true;
}
- if (mGlobalInfo.macosSurface) {
- extensionsToRequest.push_back(kExtensionNameMvkMacosSurface);
- usedKnobs.macosSurface = true;
+ if (mGlobalInfo.metalSurface) {
+ extensionsToRequest.push_back(kExtensionNameExtMetalSurface);
+ usedKnobs.metalSurface = true;
}
if (mGlobalInfo.surface) {
extensionsToRequest.push_back(kExtensionNameKhrSurface);
diff --git a/src/dawn_native/vulkan/VulkanInfo.cpp b/src/dawn_native/vulkan/VulkanInfo.cpp
index 61e1c19..70aa8c5 100644
--- a/src/dawn_native/vulkan/VulkanInfo.cpp
+++ b/src/dawn_native/vulkan/VulkanInfo.cpp
@@ -56,7 +56,7 @@
const char kExtensionNameExtDebugMarker[] = "VK_EXT_debug_marker";
const char kExtensionNameExtDebugReport[] = "VK_EXT_debug_report";
- const char kExtensionNameMvkMacosSurface[] = "VK_MVK_macos_surface";
+ const char kExtensionNameExtMetalSurface[] = "VK_EXT_metal_surface";
const char kExtensionNameKhrExternalMemory[] = "VK_KHR_external_memory";
const char kExtensionNameKhrExternalMemoryCapabilities[] =
"VK_KHR_external_memory_capabilities";
@@ -130,8 +130,8 @@
if (IsExtensionName(extension, kExtensionNameExtDebugReport)) {
info.debugReport = true;
}
- if (IsExtensionName(extension, kExtensionNameMvkMacosSurface)) {
- info.macosSurface = true;
+ if (IsExtensionName(extension, kExtensionNameExtMetalSurface)) {
+ info.metalSurface = true;
}
if (IsExtensionName(extension, kExtensionNameKhrExternalMemoryCapabilities)) {
info.externalMemoryCapabilities = true;
diff --git a/src/dawn_native/vulkan/VulkanInfo.h b/src/dawn_native/vulkan/VulkanInfo.h
index 00254cf..b62b32a 100644
--- a/src/dawn_native/vulkan/VulkanInfo.h
+++ b/src/dawn_native/vulkan/VulkanInfo.h
@@ -32,7 +32,7 @@
extern const char kExtensionNameExtDebugMarker[];
extern const char kExtensionNameExtDebugReport[];
- extern const char kExtensionNameMvkMacosSurface[];
+ extern const char kExtensionNameExtMetalSurface[];
extern const char kExtensionNameKhrExternalMemory[];
extern const char kExtensionNameKhrExternalMemoryCapabilities[];
extern const char kExtensionNameKhrExternalMemoryFD[];
@@ -66,7 +66,7 @@
bool externalMemoryCapabilities = false;
bool externalSemaphoreCapabilities = false;
bool getPhysicalDeviceProperties2 = false;
- bool macosSurface = false;
+ bool metalSurface = false;
bool surface = false;
bool waylandSurface = false;
bool win32Surface = false;