vulkan-cereal: (reland) Improved MacOS support

- No need to build fake Android guest
- Enable MoltenVK when it is supported

BUG=281527670
TEST=emulator gfxstream mac os ATBD run

Change-Id: I18d2e32082e69268de3dbc8084485c8789e7fbe6
GitOrigin-RevId: e26be87092a5bd555bee54c97c717d6d44bc4e07
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d085e8..0a8cc12 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,7 +150,7 @@
 
 # Fake Android guest#########################3##################################
 
-if (NOT WIN32)
+if (NOT WIN32 AND NOT APPLE)
     add_subdirectory(fake-android-guest)
 endif()
 
diff --git a/stream-servers/vulkan/VkCommonOperations.cpp b/stream-servers/vulkan/VkCommonOperations.cpp
index 4fe147e..5e702c4 100644
--- a/stream-servers/vulkan/VkCommonOperations.cpp
+++ b/stream-servers/vulkan/VkCommonOperations.cpp
@@ -583,6 +583,13 @@
     for (auto extension : SwapChainStateVk::getRequiredInstanceExtensions()) {
         enabledExtensions.emplace(extension);
     }
+
+#ifdef VK_MVK_moltenvk
+    if (moltenVKSupported) {
+        enabledExtensions.emplace(VK_MVK_MOLTENVK_EXTENSION_NAME);
+    }
+#endif
+
     std::vector<const char*> enabledExtensions_(enabledExtensions.begin(), enabledExtensions.end());
     instCi.enabledExtensionCount = static_cast<uint32_t>(enabledExtensions_.size());
     instCi.ppEnabledExtensionNames = enabledExtensions_.data();