gfxstream: add GFXSTREAM_ENABLE_GUEST_GOLDFISH

Reduces the need for goldfish sync headers in guest Linux VK build.

BUG=311486792
TEST=compile

Change-Id: Id0fc1f697fbbae7adb516de848bc7e3d49484750
diff --git a/guest/Android.bp b/guest/Android.bp
index cca359b..b34299d 100644
--- a/guest/Android.bp
+++ b/guest/Android.bp
@@ -23,6 +23,7 @@
     name: "libgfxstream_guest_cc_defaults",
     cflags: [
         "-DVK_GFXSTREAM_STRUCTURE_TYPE_EXT",
+        "-DGFXSTREAM_ENABLE_GUEST_GOLDFISH=1",
         "-Wno-missing-field-initializers",
         "-Wno-unused-parameter",
     ],
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index e51c795..eef58e6 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -995,7 +995,7 @@
 }
 
 void ResourceTracker::ensureSyncDeviceFd() {
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
     if (mSyncDeviceFd >= 0) return;
     mSyncDeviceFd = goldfish_sync_open();
     if (mSyncDeviceFd >= 0) {
@@ -4509,7 +4509,7 @@
         auto& info = it->second;
         if (!info.external) continue;
 
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
         if (info.syncFd >= 0) {
             ALOGV("%s: resetting fence. make fd -1\n", __func__);
             goldfish_sync_signal(info.syncFd);
@@ -4558,11 +4558,13 @@
     auto& info = it->second;
 
     auto* syncHelper = ResourceTracker::threadingCallbacks.hostConnectionGetFunc()->syncHelper();
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
     if (info.syncFd >= 0) {
         ALOGV("%s: previous sync fd exists, close it\n", __func__);
         goldfish_sync_signal(info.syncFd);
         syncHelper->close(info.syncFd);
     }
+#endif
 
     if (pImportFenceFdInfo->fd < 0) {
         ALOGV("%s: import -1, set to -1 and exit\n", __func__);
@@ -4644,10 +4646,12 @@
 
             *pFd = osHandle;
         } else {
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
             goldfish_sync_queue_work(
                 mSyncDeviceFd, get_host_u64_VkFence(pGetFdInfo->fence) /* the handle */,
                 GOLDFISH_SYNC_VULKAN_SEMAPHORE_SYNC /* thread handle (doubling as type field) */,
                 pFd);
+#endif
         }
 
         // relinquish ownership
@@ -5418,6 +5422,7 @@
 
             info.syncFd.emplace(osHandle);
         } else {
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
             ensureSyncDeviceFd();
 
             if (exportSyncFd) {
@@ -5429,6 +5434,7 @@
                     &syncFd);
                 info.syncFd.emplace(syncFd);
             }
+#endif
         }
     }
 #endif
@@ -5876,7 +5882,7 @@
                 zx_object_signal(event, 0, ZX_EVENT_SIGNALED);
             }
 #endif
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
             for (auto& fd : post_wait_sync_fds) {
                 goldfish_sync_signal(fd);
             }
@@ -6906,10 +6912,12 @@
 
         *fd = exec.handle.osHandle;
     } else {
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
         ensureSyncDeviceFd();
         goldfish_sync_queue_work(
             mSyncDeviceFd, get_host_u64_VkImage(image) /* the handle */,
             GOLDFISH_SYNC_VULKAN_QSRI /* thread handle (doubling as type field) */, fd);
+#endif
     }
 
     ALOGV("%s: got fd: %d\n", __func__, *fd);
diff --git a/guest/vulkan_enc/ResourceTracker.h b/guest/vulkan_enc/ResourceTracker.h
index 07e09cb..8173579 100644
--- a/guest/vulkan_enc/ResourceTracker.h
+++ b/guest/vulkan_enc/ResourceTracker.h
@@ -85,20 +85,17 @@
 
 /// Use installed headers or locally defined Android-specific bits
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-
-/// Goldfish sync only used for AEMU -- should replace in virtio-gpu when possibe
-#include "../egl/goldfish_sync.h"
 #include "AndroidHardwareBuffer.h"
-
-#else
-
-#if defined(__linux__)
-#include "../egl/goldfish_sync.h"
 #endif
 
+#if defined(__linux__)
 #include <android/hardware_buffer.h>
+#endif
 
-#endif  // VK_USE_PLATFORM_ANDROID_KHR
+#if GFXSTREAM_ENABLE_GUEST_GOLDFISH
+/// Goldfish sync only used for AEMU -- should replace in virtio-gpu when possibe
+#include "../egl/goldfish_sync.h"
+#endif
 
 struct EmulatorFeatureInfo;