vulkan: make meson build work
Change-Id: I7865e5c398569efae43b7c2b2c6433d23fe1e9ca
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index c73bbda..fcdc603 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -77,44 +77,6 @@
#include <android/hardware_buffer.h>
-native_handle_t *AHardwareBuffer_getNativeHandle(AHardwareBuffer*) { return NULL; }
-
-uint64_t getAndroidHardwareBufferUsageFromVkUsage(
- const VkImageCreateFlags vk_create,
- const VkImageUsageFlags vk_usage) {
- return AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE;
-}
-
-VkResult importAndroidHardwareBuffer(
- Gralloc *grallocHelper,
- const VkImportAndroidHardwareBufferInfoANDROID* info,
- struct AHardwareBuffer **importOut) {
- return VK_SUCCESS;
-}
-
-VkResult createAndroidHardwareBuffer(
- bool hasDedicatedImage,
- bool hasDedicatedBuffer,
- const VkExtent3D& imageExtent,
- uint32_t imageLayers,
- VkFormat imageFormat,
- VkImageUsageFlags imageUsage,
- VkImageCreateFlags imageCreateFlags,
- VkDeviceSize bufferSize,
- VkDeviceSize allocationInfoAllocSize,
- struct AHardwareBuffer **out) {
- return VK_SUCCESS;
-}
-
-VkResult getAndroidHardwareBufferPropertiesANDROID(
- Gralloc *grallocHelper,
- const VkPhysicalDeviceMemoryProperties* memProps,
- VkDevice,
- const AHardwareBuffer*,
- VkAndroidHardwareBufferPropertiesANDROID*) { return VK_SUCCESS; }
-
-VkResult getMemoryAndroidHardwareBufferANDROID(struct AHardwareBuffer **) { return VK_SUCCESS; }
-
#endif // VK_USE_PLATFORM_ANDROID_KHR
#include "HostVisibleMemoryVirtualization.h"
@@ -126,7 +88,9 @@
#include "goldfish_address_space.h"
#include "goldfish_vk_private_defs.h"
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
#include "vk_format_info.h"
+#endif
#include "vk_struct_id.h"
#include "vk_util.h"
@@ -315,7 +279,9 @@
bool dedicated = false;
bool imported = false;
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
AHardwareBuffer* ahw = nullptr;
+#endif
zx_handle_t vmoHandle = ZX_HANDLE_INVALID;
VkDevice device;
@@ -529,9 +495,11 @@
auto& memInfo = it->second;
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (memInfo.ahw) {
AHardwareBuffer_release(memInfo.ahw);
}
+#endif
if (memInfo.vmoHandle != ZX_HANDLE_INVALID) {
zx_handle_close(memInfo.vmoHandle);
@@ -873,7 +841,9 @@
info.allocationSize = allocationSize;
info.ptr = ptr;
info.memoryTypeIndex = memoryTypeIndex;
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
info.ahw = ahw;
+#endif
info.imported = imported;
info.vmoHandle = vmoHandle;
}
@@ -1673,6 +1643,7 @@
}
}
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkResult on_vkGetAndroidHardwareBufferPropertiesANDROID(
void*, VkResult,
VkDevice device,
@@ -1720,6 +1691,7 @@
return queryRes;
}
+#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
VkResult on_vkGetMemoryZirconHandleFUCHSIA(
@@ -3182,8 +3154,12 @@
const VkExportMemoryAllocateInfo* exportAllocateInfoPtr =
vk_find_struct<VkExportMemoryAllocateInfo>(pAllocateInfo);
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
const VkImportAndroidHardwareBufferInfoANDROID* importAhbInfoPtr =
vk_find_struct<VkImportAndroidHardwareBufferInfoANDROID>(pAllocateInfo);
+#else
+ const void* importAhbInfoPtr = nullptr;
+#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
const VkImportMemoryBufferCollectionFUCHSIA*
@@ -3760,9 +3736,11 @@
if (it == info_VkDeviceMemory.end()) return;
auto& info = it->second;
uint64_t memoryObjectId = (uint64_t)(void*)memory;
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (info.ahw) {
memoryObjectId = getAHardwareBufferId(info.ahw);
}
+#endif
emitDeviceMemoryReport(
info_VkDevice[device],
info.imported ? VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT
@@ -6032,6 +6010,7 @@
return enc->vkQueueWaitIdle(queue, true /* do lock */);
}
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
void unwrap_VkNativeBufferANDROID(
const VkImageCreateInfo* pCreateInfo,
VkImageCreateInfo* local_pCreateInfo) {
@@ -6063,7 +6042,6 @@
}
void unwrap_vkAcquireImageANDROID_nativeFenceFd(int fd, int*) {
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
if (fd != -1) {
AEMU_SCOPED_TRACE("waitNativeFenceInAcquire");
// Implicit Synchronization
@@ -6081,8 +6059,8 @@
// Therefore, assume contract where we need to close fd in this driver
close(fd);
}
-#endif
}
+#endif
// Action of vkMapMemoryIntoAddressSpaceGOOGLE:
// 1. preprocess (on_vkMapMemoryIntoAddressSpaceGOOGLE_pre):
@@ -6461,8 +6439,10 @@
}
#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkAndroidHardwareBufferUsageANDROID* output_ahw_usage =
vk_find_struct<VkAndroidHardwareBufferUsageANDROID>(pImageFormatProperties);
+#endif
VkResult hostRes;
@@ -6499,12 +6479,14 @@
}
#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
if (output_ahw_usage) {
output_ahw_usage->androidHardwareBufferUsage =
getAndroidHardwareBufferUsageFromVkUsage(
pImageFormatInfo->flags,
pImageFormatInfo->usage);
}
+#endif
return hostRes;
}
@@ -7003,6 +6985,7 @@
return fd;
}
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkResult on_vkQueueSignalReleaseImageANDROID(
void* context,
VkResult input_result,
@@ -7014,7 +6997,6 @@
(void)input_result;
-#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
VkEncoder* enc = (VkEncoder*)context;
if (!mFeatureInfo->hasVulkanAsyncQsri) {
@@ -7040,9 +7022,9 @@
int syncFd = exportSyncFdForQSRILocked(image);
if (syncFd >= 0) close(syncFd);
}
-#endif
return VK_SUCCESS;
}
+#endif
VkResult on_vkCreateGraphicsPipelines(
void* context,
@@ -7738,11 +7720,15 @@
void ResourceTracker::unwrap_VkNativeBufferANDROID(
const VkImageCreateInfo* pCreateInfo,
VkImageCreateInfo* local_pCreateInfo) {
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
mImpl->unwrap_VkNativeBufferANDROID(pCreateInfo, local_pCreateInfo);
+#endif
}
void ResourceTracker::unwrap_vkAcquireImageANDROID_nativeFenceFd(int fd, int* fd_out) {
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
mImpl->unwrap_vkAcquireImageANDROID_nativeFenceFd(fd, fd_out);
+#endif
}
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -7834,6 +7820,7 @@
}
#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkResult ResourceTracker::on_vkGetAndroidHardwareBufferPropertiesANDROID(
void* context, VkResult input_result,
VkDevice device,
@@ -7851,6 +7838,7 @@
context, input_result,
device, pInfo, pBuffer);
}
+#endif
VkResult ResourceTracker::on_vkCreateSamplerYcbcrConversion(
void* context, VkResult input_result,
@@ -8271,6 +8259,7 @@
return mImpl->on_vkAllocateCommandBuffers(context, input_result, device, pAllocateInfo, pCommandBuffers);
}
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
VkResult ResourceTracker::on_vkQueueSignalReleaseImageANDROID(
void* context,
VkResult input_result,
@@ -8281,6 +8270,7 @@
int* pNativeFenceFd) {
return mImpl->on_vkQueueSignalReleaseImageANDROID(context, input_result, queue, waitSemaphoreCount, pWaitSemaphores, image, pNativeFenceFd);
}
+#endif
VkResult ResourceTracker::on_vkCreateGraphicsPipelines(
void* context,