Merge "Revert "goldfish-opengl: use VirtGpuDevice abstraction for ASG""
diff --git a/system/vulkan/goldfish_vulkan.cpp b/system/vulkan/goldfish_vulkan.cpp
index 40b2193..7817bd2 100644
--- a/system/vulkan/goldfish_vulkan.cpp
+++ b/system/vulkan/goldfish_vulkan.cpp
@@ -236,63 +236,6 @@
AEMU_SCOPED_TRACE("vkstubhal::GetBufferCollectionPropertiesFUCHSIA");
return VK_SUCCESS;
}
-
-VkResult CreateBufferCollectionFUCHSIAX(
- VkDevice /*device*/,
- const VkBufferCollectionCreateInfoFUCHSIAX* /*pInfo*/,
- const VkAllocationCallbacks* /*pAllocator*/,
- VkBufferCollectionFUCHSIAX* /*pCollection*/) {
- AEMU_SCOPED_TRACE("vkstubhal::CreateBufferCollectionFUCHSIAX");
- return VK_SUCCESS;
-}
-
-void DestroyBufferCollectionFUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- const VkAllocationCallbacks* /*pAllocator*/) {
- AEMU_SCOPED_TRACE("vkstubhal::DestroyBufferCollectionFUCHSIAX");
-}
-
-VkResult SetBufferCollectionConstraintsFUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- const VkImageCreateInfo* /*pImageInfo*/) {
- AEMU_SCOPED_TRACE("vkstubhal::SetBufferCollectionConstraintsFUCHSIAX");
- return VK_SUCCESS;
-}
-
-VkResult SetBufferCollectionImageConstraintsFUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- const VkImageConstraintsInfoFUCHSIAX* /*pImageConstraintsInfo*/) {
- AEMU_SCOPED_TRACE("vkstubhal::SetBufferCollectionImageConstraintsFUCHSIAX");
- return VK_SUCCESS;
-}
-
-VkResult SetBufferCollectionBufferConstraintsFUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- const VkBufferConstraintsInfoFUCHSIAX* /*pBufferConstraintsInfo*/) {
- AEMU_SCOPED_TRACE(
- "vkstubhal::SetBufferCollectionBufferConstraintsFUCHSIAX");
- return VK_SUCCESS;
-}
-
-VkResult GetBufferCollectionPropertiesFUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- VkBufferCollectionPropertiesFUCHSIAX* /*pProperties*/) {
- AEMU_SCOPED_TRACE("vkstubhal::GetBufferCollectionPropertiesFUCHSIAX");
- return VK_SUCCESS;
-}
-
-VkResult GetBufferCollectionProperties2FUCHSIAX(
- VkDevice /*device*/,
- VkBufferCollectionFUCHSIAX /*collection*/,
- VkBufferCollectionProperties2FUCHSIAX* /*pProperties*/) {
- AEMU_SCOPED_TRACE("vkstubhal::GetBufferCollectionProperties2FUCHSIAX");
- return VK_SUCCESS;
-}
#endif
PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance,
@@ -353,27 +296,6 @@
if (strcmp(name, "vkGetBufferCollectionPropertiesFUCHSIA") == 0)
return reinterpret_cast<PFN_vkVoidFunction>(
GetBufferCollectionPropertiesFUCHSIA);
- if (strcmp(name, "vkCreateBufferCollectionFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- CreateBufferCollectionFUCHSIAX);
- if (strcmp(name, "vkDestroyBufferCollectionFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- DestroyBufferCollectionFUCHSIAX);
- if (strcmp(name, "vkSetBufferCollectionConstraintsFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- SetBufferCollectionConstraintsFUCHSIAX);
- if (strcmp(name, "vkSetBufferCollectionImageConstraintsFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- SetBufferCollectionImageConstraintsFUCHSIAX);
- if (strcmp(name, "vkSetBufferCollectionBufferConstraintsFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- SetBufferCollectionBufferConstraintsFUCHSIAX);
- if (strcmp(name, "vkGetBufferCollectionPropertiesFUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- GetBufferCollectionPropertiesFUCHSIAX);
- if (strcmp(name, "vkGetBufferCollectionProperties2FUCHSIAX") == 0)
- return reinterpret_cast<PFN_vkVoidFunction>(
- GetBufferCollectionProperties2FUCHSIAX);
#endif
// Return NoOp for entrypoints that should never be called.
if (strcmp(name, "vkGetPhysicalDeviceFeatures") == 0 ||
@@ -696,157 +618,6 @@
return res;
}
-VKAPI_ATTR
-VkResult CreateBufferCollectionFUCHSIAX(
- VkDevice device,
- const VkBufferCollectionCreateInfoFUCHSIAX* pInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferCollectionFUCHSIAX* pCollection) {
- AEMU_SCOPED_TRACE("goldfish_vulkan::CreateBufferCollectionFUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::CreateBufferCollectionFUCHSIAX(
- device, pInfo, pAllocator, pCollection);
- }
-
- VkResult res =
- goldfish_vk::ResourceTracker::get()
- ->on_vkCreateBufferCollectionFUCHSIAX(
- vkEnc, VK_SUCCESS, device, pInfo, pAllocator, pCollection);
-
- return res;
-}
-
-VKAPI_ATTR
-void DestroyBufferCollectionFUCHSIAX(VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkAllocationCallbacks* pAllocator) {
- AEMU_SCOPED_TRACE("goldfish_vulkan::DestroyBufferCollectionFUCHSIAX");
-
- VK_HOST_CONNECTION()
-
- if (!hostSupportsVulkan) {
- vkstubhal::DestroyBufferCollectionFUCHSIAX(device, collection,
- pAllocator);
- return;
- }
-
- goldfish_vk::ResourceTracker::get()->on_vkDestroyBufferCollectionFUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pAllocator);
-}
-
-VKAPI_ATTR
-VkResult SetBufferCollectionConstraintsFUCHSIAX(
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageCreateInfo* pImageInfo) {
- AEMU_SCOPED_TRACE(
- "goldfish_vulkan::SetBufferCollectionConstraintsFUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::SetBufferCollectionConstraintsFUCHSIAX(
- device, collection, pImageInfo);
- }
-
- VkResult res = goldfish_vk::ResourceTracker::get()
- ->on_vkSetBufferCollectionConstraintsFUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pImageInfo);
-
- return res;
-}
-
-VKAPI_ATTR
-VkResult SetBufferCollectionBufferConstraintsFUCHSIAX(
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo) {
- AEMU_SCOPED_TRACE(
- "goldfish_vulkan::SetBufferCollectionBufferConstraintsFUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::SetBufferCollectionBufferConstraintsFUCHSIAX(
- device, collection, pBufferConstraintsInfo);
- }
-
- VkResult res =
- goldfish_vk::ResourceTracker::get()
- ->on_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pBufferConstraintsInfo);
-
- return res;
-}
-
-VKAPI_ATTR
-VkResult SetBufferCollectionImageConstraintsFUCHSIAX(
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo) {
- AEMU_SCOPED_TRACE(
- "goldfish_vulkan::SetBufferCollectionBufferConstraintsFUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::SetBufferCollectionImageConstraintsFUCHSIAX(
- device, collection, pImageConstraintsInfo);
- }
-
- VkResult res =
- goldfish_vk::ResourceTracker::get()
- ->on_vkSetBufferCollectionImageConstraintsFUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pImageConstraintsInfo);
-
- return res;
-}
-
-VKAPI_ATTR
-VkResult GetBufferCollectionPropertiesFUCHSIAX(
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionPropertiesFUCHSIAX* pProperties) {
- AEMU_SCOPED_TRACE("goldfish_vulkan::GetBufferCollectionPropertiesFUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::GetBufferCollectionPropertiesFUCHSIAX(
- device, collection, pProperties);
- }
-
- VkResult res = goldfish_vk::ResourceTracker::get()
- ->on_vkGetBufferCollectionPropertiesFUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pProperties);
-
- return res;
-}
-
-VKAPI_ATTR
-VkResult GetBufferCollectionProperties2FUCHSIAX(
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionProperties2FUCHSIAX* pProperties) {
- AEMU_SCOPED_TRACE(
- "goldfish_vulkan::GetBufferCollectionProperties2FUCHSIAX");
-
- VK_HOST_CONNECTION(VK_ERROR_DEVICE_LOST)
-
- if (!hostSupportsVulkan) {
- return vkstubhal::GetBufferCollectionProperties2FUCHSIAX(
- device, collection, pProperties);
- }
-
- VkResult res = goldfish_vk::ResourceTracker::get()
- ->on_vkGetBufferCollectionProperties2FUCHSIAX(
- vkEnc, VK_SUCCESS, device, collection, pProperties);
-
- return res;
-}
#endif
uint64_t currGuestTimeNs() {
@@ -937,27 +708,6 @@
if (!strcmp(name, "vkGetBufferCollectionPropertiesFUCHSIA")) {
return (PFN_vkVoidFunction)GetBufferCollectionPropertiesFUCHSIA;
}
- if (!strcmp(name, "vkCreateBufferCollectionFUCHSIAX")) {
- return (PFN_vkVoidFunction)CreateBufferCollectionFUCHSIAX;
- }
- if (!strcmp(name, "vkDestroyBufferCollectionFUCHSIAX")) {
- return (PFN_vkVoidFunction)DestroyBufferCollectionFUCHSIAX;
- }
- if (!strcmp(name, "vkSetBufferCollectionConstraintsFUCHSIAX")) {
- return (PFN_vkVoidFunction)SetBufferCollectionConstraintsFUCHSIAX;
- }
- if (!strcmp(name, "vkSetBufferCollectionImageConstraintsFUCHSIAX")) {
- return (PFN_vkVoidFunction)SetBufferCollectionImageConstraintsFUCHSIAX;
- }
- if (!strcmp(name, "vkSetBufferCollectionBufferConstraintsFUCHSIAX")) {
- return (PFN_vkVoidFunction)SetBufferCollectionBufferConstraintsFUCHSIAX;
- }
- if (!strcmp(name, "vkGetBufferCollectionPropertiesFUCHSIAX")) {
- return (PFN_vkVoidFunction)GetBufferCollectionPropertiesFUCHSIAX;
- }
- if (!strcmp(name, "vkGetBufferCollectionProperties2FUCHSIAX")) {
- return (PFN_vkVoidFunction)GetBufferCollectionProperties2FUCHSIAX;
- }
#endif
if (!strcmp(name, "vkQueueSignalReleaseImageANDROID")) {
if (!sQueueSignalReleaseImageAndroidImpl) {
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index 11c97bd..46329a8 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -439,20 +439,6 @@
#endif // VK_USE_PLATFORM_FUCHSIA
};
- struct VkBufferCollectionFUCHSIAX_Info {
-#ifdef VK_USE_PLATFORM_FUCHSIA
- android::base::Optional<
- fuchsia_sysmem::wire::BufferCollectionConstraints>
- constraints;
- android::base::Optional<VkBufferCollectionProperties2FUCHSIAX>
- properties;
-
- // the index of corresponding createInfo for each image format
- // constraints in |constraints|.
- std::vector<uint32_t> createInfoIndex;
-#endif // VK_USE_PLATFORM_FUCHSIA
- };
-
#define HANDLE_REGISTER_IMPL_IMPL(type) \
std::unordered_map<type, type##_Info> info_##type; \
void register_##type(type obj) { \
@@ -647,14 +633,6 @@
}
#endif
-#ifdef VK_USE_PLATFORM_FUCHSIA
- void unregister_VkBufferCollectionFUCHSIAX(
- VkBufferCollectionFUCHSIAX collection) {
- AutoLock<RecursiveLock> lock(mLock);
- info_VkBufferCollectionFUCHSIAX.erase(collection);
- }
-#endif
-
void unregister_VkDescriptorSet_locked(VkDescriptorSet set) {
struct goldfish_VkDescriptorSet* ds = as_goldfish_VkDescriptorSet(set);
delete ds->reified;
@@ -1406,8 +1384,6 @@
VkExtensionProperties { "VK_FUCHSIA_external_memory", 1});
filteredExts.push_back(
VkExtensionProperties { "VK_FUCHSIA_buffer_collection", 1 });
- filteredExts.push_back(
- VkExtensionProperties { "VK_FUCHSIA_buffer_collection_x", 1});
#endif
#if !defined(VK_USE_PLATFORM_ANDROID_KHR) && defined(__linux__)
filteredExts.push_back(
@@ -2018,59 +1994,6 @@
return VK_SUCCESS;
}
- VkResult on_vkCreateBufferCollectionFUCHSIAX(
- void*,
- VkResult,
- VkDevice,
- const VkBufferCollectionCreateInfoFUCHSIAX* pInfo,
- const VkAllocationCallbacks*,
- VkBufferCollectionFUCHSIAX* pCollection) {
- fidl::ClientEnd<::fuchsia_sysmem::BufferCollectionToken> token_client;
-
- if (pInfo->collectionToken) {
- token_client = fidl::ClientEnd<::fuchsia_sysmem::BufferCollectionToken>(
- zx::channel(pInfo->collectionToken));
- } else {
- auto endpoints =
- fidl::CreateEndpoints<::fuchsia_sysmem::BufferCollectionToken>();
- if (!endpoints.is_ok()) {
- ALOGE("zx_channel_create failed: %d", endpoints.status_value());
- return VK_ERROR_INITIALIZATION_FAILED;
- }
-
- auto result = mSysmemAllocator->AllocateSharedCollection(
- std::move(endpoints->server));
- if (!result.ok()) {
- ALOGE("AllocateSharedCollection failed: %d", result.status());
- return VK_ERROR_INITIALIZATION_FAILED;
- }
- token_client = std::move(endpoints->client);
- }
-
- auto endpoints = fidl::CreateEndpoints<::fuchsia_sysmem::BufferCollection>();
- if (!endpoints.is_ok()) {
- ALOGE("zx_channel_create failed: %d", endpoints.status_value());
- return VK_ERROR_INITIALIZATION_FAILED;
- }
- auto [collection_client, collection_server] = std::move(endpoints.value());
-
- auto result = mSysmemAllocator->BindSharedCollection(
- std::move(token_client), std::move(collection_server));
- if (!result.ok()) {
- ALOGE("BindSharedCollection failed: %d", result.status());
- return VK_ERROR_INITIALIZATION_FAILED;
- }
-
- auto* sysmem_collection =
- new fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>(
- std::move(collection_client));
- *pCollection =
- reinterpret_cast<VkBufferCollectionFUCHSIAX>(sysmem_collection);
-
- register_VkBufferCollectionFUCHSIAX(*pCollection);
- return VK_SUCCESS;
- }
-
void on_vkDestroyBufferCollectionFUCHSIA(
void*,
VkResult,
@@ -2088,22 +2011,6 @@
unregister_VkBufferCollectionFUCHSIA(collection);
}
- void on_vkDestroyBufferCollectionFUCHSIAX(
- void*,
- VkResult,
- VkDevice,
- VkBufferCollectionFUCHSIAX collection,
- const VkAllocationCallbacks*) {
- auto sysmem_collection = reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(collection);
- if (sysmem_collection) {
- (*sysmem_collection)->Close();
- }
- delete sysmem_collection;
-
- unregister_VkBufferCollectionFUCHSIAX(collection);
- }
-
inline fuchsia_sysmem::wire::BufferCollectionConstraints
defaultBufferCollectionConstraints(
size_t minSizeBytes,
@@ -2195,13 +2102,6 @@
return getBufferCollectionConstraintsVulkanBufferUsage(bufferUsage);
}
- uint32_t getBufferCollectionConstraintsVulkanBufferUsage(
- const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo) {
- VkBufferUsageFlags bufferUsage =
- pBufferConstraintsInfo->pBufferCreateInfo->usage;
- return getBufferCollectionConstraintsVulkanBufferUsage(bufferUsage);
- }
-
static fuchsia_sysmem::wire::PixelFormatType vkFormatTypeToSysmem(
VkFormat format) {
switch (format) {
@@ -2375,50 +2275,6 @@
enc, device, collection, &imageConstraints);
}
- VkResult setBufferCollectionConstraintsFUCHSIAX(
- VkEncoder* enc,
- VkDevice device,
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>* collection,
- const VkImageCreateInfo* pImageInfo) {
- if (pImageInfo == nullptr) {
- ALOGE("setBufferCollectionConstraints: pImageInfo cannot be null.");
- return VK_ERROR_OUT_OF_DEVICE_MEMORY;
- }
-
- std::vector<VkImageCreateInfo> createInfos;
- if (pImageInfo->format == VK_FORMAT_UNDEFINED) {
- const auto kFormats = {
- VK_FORMAT_B8G8R8A8_SRGB,
- VK_FORMAT_R8G8B8A8_SRGB,
- };
- for (auto format : kFormats) {
- // shallow copy, using pNext from pImageInfo directly.
- auto createInfo = *pImageInfo;
- createInfo.format = format;
- createInfos.push_back(createInfo);
- }
- } else {
- createInfos.push_back(*pImageInfo);
- }
-
- VkImageConstraintsInfoFUCHSIAX imageConstraints;
- imageConstraints.sType =
- VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX;
- imageConstraints.pNext = nullptr;
- imageConstraints.createInfoCount = createInfos.size();
- imageConstraints.pCreateInfos = createInfos.data();
- imageConstraints.pFormatConstraints = nullptr;
- imageConstraints.maxBufferCount = 0;
- imageConstraints.minBufferCount = 1;
- imageConstraints.minBufferCountForCamping = 0;
- imageConstraints.minBufferCountForDedicatedSlack = 0;
- imageConstraints.minBufferCountForSharedSlack = 0;
- imageConstraints.flags = 0u;
-
- return setBufferCollectionImageConstraintsFUCHSIAX(
- enc, device, collection, &imageConstraints);
- }
-
VkResult addImageBufferCollectionConstraintsFUCHSIA(
VkEncoder* enc,
VkDevice device,
@@ -2562,10 +2418,8 @@
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) {
const auto& collection = *pCollection;
if (!pImageConstraintsInfo ||
- (pImageConstraintsInfo->sType !=
- VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX &&
pImageConstraintsInfo->sType !=
- VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA)) {
+ VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA) {
ALOGE("%s: invalid pImageConstraintsInfo", __func__);
return {VK_ERROR_INITIALIZATION_FAILED};
}
@@ -2733,104 +2587,6 @@
return VK_SUCCESS;
}
- VkResult setBufferCollectionImageConstraintsFUCHSIAX(
- VkEncoder* enc,
- VkDevice device,
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>* pCollection,
- const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo) {
- const auto& collection = *pCollection;
-
- const VkSysmemColorSpaceFUCHSIA kDefaultColorSpace = {
- .sType = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
- .pNext = nullptr,
- .colorSpace = static_cast<uint32_t>(
- fuchsia_sysmem::wire::ColorSpaceType::kSrgb),
- };
-
- std::vector<VkImageFormatConstraintsInfoFUCHSIA> formatConstraints;
- for (size_t i = 0; i < pImageConstraintsInfo->createInfoCount; i++) {
- VkImageFormatConstraintsInfoFUCHSIA constraints = {
- .sType =
- VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
- .pNext = nullptr,
- .imageCreateInfo = pImageConstraintsInfo->pCreateInfos[i],
- .requiredFormatFeatures = {},
- .flags = {},
- .sysmemPixelFormat = 0u,
- .colorSpaceCount = 1u,
- .pColorSpaces = &kDefaultColorSpace,
- };
-
- if (pImageConstraintsInfo->pFormatConstraints) {
- const auto* formatConstraintsFUCHSIAX =
- &pImageConstraintsInfo->pFormatConstraints[i];
- constraints.pNext = formatConstraintsFUCHSIAX->pNext;
- constraints.requiredFormatFeatures =
- formatConstraintsFUCHSIAX->requiredFormatFeatures;
- constraints.flags =
- reinterpret_cast<VkImageFormatConstraintsFlagsFUCHSIA>(
- formatConstraintsFUCHSIAX->flags);
- constraints.sysmemPixelFormat =
- formatConstraintsFUCHSIAX->sysmemFormat;
- constraints.colorSpaceCount =
- formatConstraintsFUCHSIAX->colorSpaceCount > 0
- ? formatConstraintsFUCHSIAX->colorSpaceCount
- : 1;
- // VkSysmemColorSpaceFUCHSIA and VkSysmemColorSpaceFUCHSIAX have
- // identical definitions so we can just do a reinterpret_cast.
- constraints.pColorSpaces =
- formatConstraintsFUCHSIAX->colorSpaceCount > 0
- ? reinterpret_cast<const VkSysmemColorSpaceFUCHSIA*>(
- formatConstraintsFUCHSIAX->pColorSpaces)
- : &kDefaultColorSpace;
- }
- formatConstraints.push_back(constraints);
- }
-
- VkImageConstraintsInfoFUCHSIA imageConstraintsInfoFUCHSIA = {
- .sType = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
- .pNext = pImageConstraintsInfo->pNext,
- .formatConstraintsCount = pImageConstraintsInfo->createInfoCount,
- .pFormatConstraints = formatConstraints.data(),
- .bufferCollectionConstraints =
- VkBufferCollectionConstraintsInfoFUCHSIA{
- .sType = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
- .pNext = nullptr,
- .minBufferCount = pImageConstraintsInfo->minBufferCount,
- .maxBufferCount = pImageConstraintsInfo->maxBufferCount,
- .minBufferCountForCamping =
- pImageConstraintsInfo->minBufferCountForCamping,
- .minBufferCountForDedicatedSlack =
- pImageConstraintsInfo->minBufferCountForDedicatedSlack,
- .minBufferCountForSharedSlack =
- pImageConstraintsInfo->minBufferCountForSharedSlack,
- },
- .flags = pImageConstraintsInfo->flags,
- };
-
- auto setConstraintsResult = setBufferCollectionImageConstraintsImpl(
- enc, device, pCollection, &imageConstraintsInfoFUCHSIA);
- if (setConstraintsResult.result != VK_SUCCESS) {
- return setConstraintsResult.result;
- }
-
- // copy constraints to info_VkBufferCollectionFUCHSIAX if
- // |collection| is a valid VkBufferCollectionFUCHSIAX handle.
- AutoLock<RecursiveLock> lock(mLock);
- VkBufferCollectionFUCHSIAX buffer_collection =
- reinterpret_cast<VkBufferCollectionFUCHSIAX>(pCollection);
- if (info_VkBufferCollectionFUCHSIAX.find(buffer_collection) !=
- info_VkBufferCollectionFUCHSIAX.end()) {
- info_VkBufferCollectionFUCHSIAX[buffer_collection].constraints =
- android::base::makeOptional(
- std::move(setConstraintsResult.constraints));
- info_VkBufferCollectionFUCHSIAX[buffer_collection].createInfoIndex =
- std::move(setConstraintsResult.createInfoIndex);
- }
-
- return VK_SUCCESS;
- }
-
struct SetBufferCollectionBufferConstraintsResult {
VkResult result;
fuchsia_sysmem::wire::BufferCollectionConstraints constraints;
@@ -2894,47 +2650,6 @@
return VK_SUCCESS;
}
- VkResult setBufferCollectionBufferConstraintsFUCHSIAX(
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>* pCollection,
- const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo) {
- VkBufferConstraintsInfoFUCHSIA bufferConstraintsInfoFUCHSIA = {
- .sType = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
- .pNext = pBufferConstraintsInfo->pNext,
- .createInfo = *pBufferConstraintsInfo->pBufferCreateInfo,
- .requiredFormatFeatures =
- pBufferConstraintsInfo->requiredFormatFeatures,
- .bufferCollectionConstraints =
- VkBufferCollectionConstraintsInfoFUCHSIA{
- .sType = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
- .pNext = nullptr,
- .minBufferCount = pBufferConstraintsInfo->minCount,
- .maxBufferCount = 0,
- .minBufferCountForCamping = 0,
- .minBufferCountForDedicatedSlack = 0,
- .minBufferCountForSharedSlack = 0,
- },
- };
-
- auto setConstraintsResult = setBufferCollectionBufferConstraintsImpl(
- pCollection, &bufferConstraintsInfoFUCHSIA);
- if (setConstraintsResult.result != VK_SUCCESS) {
- return setConstraintsResult.result;
- }
-
- // copy constraints to info_VkBufferCollectionFUCHSIAX if
- // |collection| is a valid VkBufferCollectionFUCHSIAX handle.
- AutoLock<RecursiveLock> lock(mLock);
- VkBufferCollectionFUCHSIAX buffer_collection =
- reinterpret_cast<VkBufferCollectionFUCHSIAX>(pCollection);
- if (info_VkBufferCollectionFUCHSIAX.find(buffer_collection) !=
- info_VkBufferCollectionFUCHSIAX.end()) {
- info_VkBufferCollectionFUCHSIAX[buffer_collection].constraints =
- android::base::makeOptional(setConstraintsResult.constraints);
- }
-
- return VK_SUCCESS;
- }
-
VkResult on_vkSetBufferCollectionImageConstraintsFUCHSIA(
void* context,
VkResult,
@@ -2962,64 +2677,6 @@
sysmem_collection, pBufferConstraintsInfo);
}
- VkResult on_vkSetBufferCollectionConstraintsFUCHSIAX(
- void* context,
- VkResult,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageCreateInfo* pImageInfo) {
- VkEncoder* enc = (VkEncoder*)context;
- auto sysmem_collection = reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(collection);
- return setBufferCollectionConstraintsFUCHSIAX(
- enc, device, sysmem_collection, pImageInfo);
- }
-
- VkResult on_vkSetBufferCollectionImageConstraintsFUCHSIAX(
- void* context,
- VkResult,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo) {
- VkEncoder* enc = (VkEncoder*)context;
- auto sysmem_collection = reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(collection);
- return setBufferCollectionImageConstraintsFUCHSIAX(
- enc, device, sysmem_collection, pImageConstraintsInfo);
- }
-
- VkResult on_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
- void*,
- VkResult,
- VkDevice,
- VkBufferCollectionFUCHSIAX collection,
- const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo) {
- auto sysmem_collection = reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(collection);
- return setBufferCollectionBufferConstraintsFUCHSIAX(
- sysmem_collection, pBufferConstraintsInfo);
- }
-
- VkResult on_vkGetBufferCollectionPropertiesFUCHSIAX(
- void* context,
- VkResult,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionPropertiesFUCHSIAX* pProperties) {
- VkBufferCollectionProperties2FUCHSIAX properties2 = {
- .sType = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX,
- .pNext = nullptr};
- auto result = on_vkGetBufferCollectionProperties2FUCHSIAX(
- context, VK_SUCCESS, device, collection, &properties2);
- if (result != VK_SUCCESS) {
- return result;
- }
-
- pProperties->count = properties2.bufferCount;
- pProperties->memoryTypeBits = properties2.memoryTypeBits;
- return VK_SUCCESS;
- }
-
VkResult getBufferCollectionImageCreateInfoIndexLocked(
VkBufferCollectionFUCHSIA collection,
fuchsia_sysmem::wire::BufferCollectionInfo2& info,
@@ -3253,236 +2910,6 @@
return storeProperties();
}
-
- VkResult getBufferCollectionImageCreateInfoIndexLocked(
- VkBufferCollectionFUCHSIAX collection,
- fuchsia_sysmem::wire::BufferCollectionInfo2& info,
- uint32_t* outCreateInfoIndex) {
- if (!info_VkBufferCollectionFUCHSIAX[collection]
- .constraints.hasValue()) {
- ALOGE("%s: constraints not set", __func__);
- return VK_ERROR_OUT_OF_DEVICE_MEMORY;
- }
-
- if (!info.settings.has_image_format_constraints) {
- // no image format constraints, skip getting createInfoIndex.
- return VK_SUCCESS;
- }
-
- const auto& constraints =
- *info_VkBufferCollectionFUCHSIAX[collection].constraints;
- const auto& createInfoIndices =
- info_VkBufferCollectionFUCHSIAX[collection].createInfoIndex;
- const auto& out = info.settings.image_format_constraints;
- bool foundCreateInfo = false;
-
- for (size_t imageFormatIndex = 0;
- imageFormatIndex < constraints.image_format_constraints_count;
- imageFormatIndex++) {
- const auto& in =
- constraints.image_format_constraints[imageFormatIndex];
- // These checks are sorted in order of how often they're expected to
- // mismatch, from most likely to least likely. They aren't always
- // equality comparisons, since sysmem may change some values in
- // compatible ways on behalf of the other participants.
- if ((out.pixel_format.type != in.pixel_format.type) ||
- (out.pixel_format.has_format_modifier !=
- in.pixel_format.has_format_modifier) ||
- (out.pixel_format.format_modifier.value !=
- in.pixel_format.format_modifier.value) ||
- (out.min_bytes_per_row < in.min_bytes_per_row) ||
- (out.required_max_coded_width < in.required_max_coded_width) ||
- (out.required_max_coded_height <
- in.required_max_coded_height) ||
- (out.bytes_per_row_divisor % in.bytes_per_row_divisor != 0)) {
- continue;
- }
- // Check if the out colorspaces are a subset of the in color spaces.
- bool all_color_spaces_found = true;
- for (uint32_t j = 0; j < out.color_spaces_count; j++) {
- bool found_matching_color_space = false;
- for (uint32_t k = 0; k < in.color_spaces_count; k++) {
- if (out.color_space[j].type == in.color_space[k].type) {
- found_matching_color_space = true;
- break;
- }
- }
- if (!found_matching_color_space) {
- all_color_spaces_found = false;
- break;
- }
- }
- if (!all_color_spaces_found) {
- continue;
- }
-
- // Choose the first valid format for now.
- *outCreateInfoIndex = createInfoIndices[imageFormatIndex];
- return VK_SUCCESS;
- }
-
- ALOGE("%s: cannot find a valid image format in constraints", __func__);
- return VK_ERROR_OUT_OF_DEVICE_MEMORY;
- }
-
- VkResult on_vkGetBufferCollectionProperties2FUCHSIAX(
- void* context,
- VkResult,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionProperties2FUCHSIAX* pProperties) {
- VkEncoder* enc = (VkEncoder*)context;
- const auto& sysmem_collection = *reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(collection);
-
- auto result = sysmem_collection->WaitForBuffersAllocated();
- if (!result.ok() || result->status != ZX_OK) {
- ALOGE("Failed wait for allocation: %d %d", result.status(),
- GET_STATUS_SAFE(result, status));
- return VK_ERROR_INITIALIZATION_FAILED;
- }
- fuchsia_sysmem::wire::BufferCollectionInfo2 info =
- std::move(result->buffer_collection_info);
-
- bool is_host_visible = info.settings.buffer_settings.heap ==
- fuchsia_sysmem::wire::HeapType::kGoldfishHostVisible;
- bool is_device_local = info.settings.buffer_settings.heap ==
- fuchsia_sysmem::wire::HeapType::kGoldfishDeviceLocal;
- if (!is_host_visible && !is_device_local) {
- ALOGE("buffer collection uses a non-goldfish heap (type 0x%lu)",
- static_cast<uint64_t>(info.settings.buffer_settings.heap));
- return VK_ERROR_INITIALIZATION_FAILED;
- }
-
- // memoryTypeBits
- // ====================================================================
- {
- AutoLock<RecursiveLock> lock(mLock);
- auto deviceIt = info_VkDevice.find(device);
- if (deviceIt == info_VkDevice.end()) {
- return VK_ERROR_INITIALIZATION_FAILED;
- }
- auto& deviceInfo = deviceIt->second;
-
- // Device local memory type supported.
- pProperties->memoryTypeBits = 0;
- for (uint32_t i = 0; i < deviceInfo.memProps.memoryTypeCount; ++i) {
- if ((is_device_local &&
- (deviceInfo.memProps.memoryTypes[i].propertyFlags &
- VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT)) ||
- (is_host_visible &&
- (deviceInfo.memProps.memoryTypes[i].propertyFlags &
- VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT))) {
- pProperties->memoryTypeBits |= 1ull << i;
- }
- }
- }
-
- // bufferCount
- // ====================================================================
- pProperties->bufferCount = info.buffer_count;
-
- auto storeProperties = [this, collection, pProperties]() -> VkResult {
- // store properties to storage
- AutoLock<RecursiveLock> lock(mLock);
- if (info_VkBufferCollectionFUCHSIAX.find(collection) ==
- info_VkBufferCollectionFUCHSIAX.end()) {
- return VK_ERROR_OUT_OF_DEVICE_MEMORY;
- }
-
- info_VkBufferCollectionFUCHSIAX[collection].properties =
- android::base::makeOptional(*pProperties);
-
- // We only do a shallow copy so we should remove all pNext pointers.
- info_VkBufferCollectionFUCHSIAX[collection].properties->pNext =
- nullptr;
- info_VkBufferCollectionFUCHSIAX[collection]
- .properties->colorSpace.pNext = nullptr;
- return VK_SUCCESS;
- };
-
- // The fields below only apply to buffer collections with image formats.
- if (!info.settings.has_image_format_constraints) {
- ALOGD("%s: buffer collection doesn't have image format constraints",
- __func__);
- return storeProperties();
- }
-
- // sysmemFormat
- // ====================================================================
-
- pProperties->sysmemFormat = static_cast<uint64_t>(
- info.settings.image_format_constraints.pixel_format.type);
-
- // colorSpace
- // ====================================================================
- if (info.settings.image_format_constraints.color_spaces_count == 0) {
- ALOGE(
- "%s: color space missing from allocated buffer collection "
- "constraints",
- __func__);
- return VK_ERROR_OUT_OF_DEVICE_MEMORY;
- }
- // Only report first colorspace for now.
- pProperties->colorSpace.colorSpace = static_cast<uint32_t>(
- info.settings.image_format_constraints.color_space[0].type);
-
- // createInfoIndex
- // ====================================================================
- {
- AutoLock<RecursiveLock> lock(mLock);
- auto getIndexResult = getBufferCollectionImageCreateInfoIndexLocked(
- collection, info, &pProperties->createInfoIndex);
- if (getIndexResult != VK_SUCCESS) {
- return getIndexResult;
- }
- }
-
- // formatFeatures
- // ====================================================================
- VkPhysicalDevice physicalDevice;
- {
- AutoLock<RecursiveLock> lock(mLock);
- auto deviceIt = info_VkDevice.find(device);
- if (deviceIt == info_VkDevice.end()) {
- return VK_ERROR_INITIALIZATION_FAILED;
- }
- physicalDevice = deviceIt->second.physdev;
- }
-
- VkFormat vkFormat = sysmemPixelFormatTypeToVk(
- info.settings.image_format_constraints.pixel_format.type);
- VkFormatProperties formatProperties;
- enc->vkGetPhysicalDeviceFormatProperties(
- physicalDevice, vkFormat, &formatProperties, true /* do lock */);
- if (is_device_local) {
- pProperties->formatFeatures =
- formatProperties.optimalTilingFeatures;
- }
- if (is_host_visible) {
- pProperties->formatFeatures = formatProperties.linearTilingFeatures;
- }
-
- // YCbCr properties
- // ====================================================================
- // TODO(59804): Implement this correctly when we support YUV pixel
- // formats in goldfish ICD.
- pProperties->samplerYcbcrConversionComponents.r =
- VK_COMPONENT_SWIZZLE_IDENTITY;
- pProperties->samplerYcbcrConversionComponents.g =
- VK_COMPONENT_SWIZZLE_IDENTITY;
- pProperties->samplerYcbcrConversionComponents.b =
- VK_COMPONENT_SWIZZLE_IDENTITY;
- pProperties->samplerYcbcrConversionComponents.a =
- VK_COMPONENT_SWIZZLE_IDENTITY;
- pProperties->suggestedYcbcrModel =
- VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY;
- pProperties->suggestedYcbcrRange = VK_SAMPLER_YCBCR_RANGE_ITU_FULL;
- pProperties->suggestedXChromaOffset = VK_CHROMA_LOCATION_MIDPOINT;
- pProperties->suggestedYChromaOffset = VK_CHROMA_LOCATION_MIDPOINT;
-
- return storeProperties();
- }
#endif
HostMemBlockIndex getOrAllocateHostMemBlockLocked(
@@ -3815,17 +3242,11 @@
vk_find_struct<VkImportMemoryBufferCollectionFUCHSIA>(
pAllocateInfo);
- const VkImportMemoryBufferCollectionFUCHSIAX*
- importBufferCollectionInfoPtrX =
- vk_find_struct<VkImportMemoryBufferCollectionFUCHSIAX>(
- pAllocateInfo);
-
const VkImportMemoryZirconHandleInfoFUCHSIA* importVmoInfoPtr =
vk_find_struct<VkImportMemoryZirconHandleInfoFUCHSIA>(
pAllocateInfo);
#else
const void* importBufferCollectionInfoPtr = nullptr;
- const void* importBufferCollectionInfoPtrX = nullptr;
const void* importVmoInfoPtr = nullptr;
#endif // VK_USE_PLATFORM_FUCHSIA
@@ -3834,7 +3255,7 @@
bool shouldPassThroughDedicatedAllocInfo =
!exportAllocateInfoPtr && !importAhbInfoPtr &&
- !importBufferCollectionInfoPtr && !importBufferCollectionInfoPtrX &&
+ !importBufferCollectionInfoPtr &&
!importVmoInfoPtr;
#if defined(VK_USE_PLATFORM_ANDROID_KHR) || defined(__linux__)
@@ -3843,7 +3264,7 @@
if (!exportAllocateInfoPtr &&
(importAhbInfoPtr || importBufferCollectionInfoPtr ||
- importBufferCollectionInfoPtrX || importVmoInfoPtr) &&
+ importVmoInfoPtr) &&
dedicatedAllocInfoPtr &&
isHostVisible(&mMemoryProps, pAllocateInfo->memoryTypeIndex)) {
ALOGE(
@@ -3864,7 +3285,6 @@
bool exportVmo = false;
bool importAhb = false;
bool importBufferCollection = false;
- bool importBufferCollectionX = false;
bool importVmo = false;
(void)exportVmo;
@@ -3891,13 +3311,11 @@
importAhb = true;
} else if (importBufferCollectionInfoPtr) {
importBufferCollection = true;
- } else if (importBufferCollectionInfoPtrX) {
- importBufferCollectionX = true;
} else if (importVmoInfoPtr) {
importVmo = true;
}
bool isImport = importAhb || importBufferCollection ||
- importBufferCollectionX || importVmo;
+ importVmo;
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
if (exportAhb) {
@@ -4008,28 +3426,6 @@
vmo_handle = info.buffers[index].vmo.release();
}
- if (importBufferCollectionX) {
- const auto& collection = *reinterpret_cast<
- fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(
- importBufferCollectionInfoPtrX->collection);
- auto result = collection->WaitForBuffersAllocated();
- if (!result.ok() || result->status != ZX_OK) {
- ALOGE("WaitForBuffersAllocated failed: %d %d", result.status(),
- GET_STATUS_SAFE(result, status));
- _RETURN_FAILURE_WITH_DEVICE_MEMORY_REPORT(
- VK_ERROR_INITIALIZATION_FAILED);
- }
- fuchsia_sysmem::wire::BufferCollectionInfo2& info =
- result->buffer_collection_info;
- uint32_t index = importBufferCollectionInfoPtrX->index;
- if (info.buffer_count < index) {
- ALOGE("Invalid buffer index: %d %d", index);
- _RETURN_FAILURE_WITH_DEVICE_MEMORY_REPORT(
- VK_ERROR_INITIALIZATION_FAILED);
- }
- vmo_handle = info.buffers[index].vmo.release();
- }
-
if (importVmo) {
vmo_handle = importVmoInfoPtr->handle;
}
@@ -4794,12 +4190,6 @@
vk_find_struct<VkBufferCollectionImageCreateInfoFUCHSIA>(
pCreateInfo);
- if (!extBufferCollectionPtr) {
- extBufferCollectionPtr = reinterpret_cast<
- const VkBufferCollectionImageCreateInfoFUCHSIA*>(
- vk_find_struct<VkBufferCollectionImageCreateInfoFUCHSIAX>(
- pCreateInfo));
- }
bool isSysmemBackedMemory = false;
if (extImgCiPtr &&
@@ -5936,13 +5326,6 @@
vk_find_struct<VkBufferCollectionBufferCreateInfoFUCHSIA>(
pCreateInfo);
- if (extBufferCollectionPtr == nullptr) {
- extBufferCollectionPtr = reinterpret_cast<
- const VkBufferCollectionBufferCreateInfoFUCHSIA*>(
- vk_find_struct<VkBufferCollectionBufferCreateInfoFUCHSIAX>(
- pCreateInfo));
- }
-
if (extBufferCollectionPtr) {
const auto& collection = *reinterpret_cast<
fidl::WireSyncClient<fuchsia_sysmem::BufferCollection>*>(
@@ -8613,77 +7996,6 @@
return mImpl->on_vkGetBufferCollectionPropertiesFUCHSIA(
context, input_result, device, collection, pProperties);
}
-
-VkResult ResourceTracker::on_vkCreateBufferCollectionFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- const VkBufferCollectionCreateInfoFUCHSIAX* pInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferCollectionFUCHSIAX* pCollection) {
- return mImpl->on_vkCreateBufferCollectionFUCHSIAX(
- context, input_result, device, pInfo, pAllocator, pCollection);
-}
-
-void ResourceTracker::on_vkDestroyBufferCollectionFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkAllocationCallbacks* pAllocator) {
- return mImpl->on_vkDestroyBufferCollectionFUCHSIAX(
- context, input_result, device, collection, pAllocator);
-}
-
-VkResult ResourceTracker::on_vkSetBufferCollectionConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageCreateInfo* pImageInfo) {
- return mImpl->on_vkSetBufferCollectionConstraintsFUCHSIAX(
- context, input_result, device, collection, pImageInfo);
-}
-
-VkResult ResourceTracker::on_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkBufferConstraintsInfoFUCHSIAX* pBufferDConstraintsInfo) {
- return mImpl->on_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
- context, input_result, device, collection, pBufferDConstraintsInfo);
-}
-
-VkResult ResourceTracker::on_vkSetBufferCollectionImageConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo) {
- return mImpl->on_vkSetBufferCollectionImageConstraintsFUCHSIAX(
- context, input_result, device, collection, pImageConstraintsInfo);
-}
-
-VkResult ResourceTracker::on_vkGetBufferCollectionPropertiesFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionPropertiesFUCHSIAX* pProperties) {
- return mImpl->on_vkGetBufferCollectionPropertiesFUCHSIAX(
- context, input_result, device, collection, pProperties);
-}
-
-VkResult ResourceTracker::on_vkGetBufferCollectionProperties2FUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionProperties2FUCHSIAX* pProperties) {
- return mImpl->on_vkGetBufferCollectionProperties2FUCHSIAX(
- context, input_result, device, collection, pProperties);
-}
#endif
VkResult ResourceTracker::on_vkGetAndroidHardwareBufferPropertiesANDROID(
diff --git a/system/vulkan_enc/ResourceTracker.h b/system/vulkan_enc/ResourceTracker.h
index c66bf0a..4fc47f7 100644
--- a/system/vulkan_enc/ResourceTracker.h
+++ b/system/vulkan_enc/ResourceTracker.h
@@ -312,49 +312,6 @@
VkDevice device,
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties);
- VkResult on_vkCreateBufferCollectionFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- const VkBufferCollectionCreateInfoFUCHSIAX* pInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferCollectionFUCHSIAX* pCollection);
- void on_vkDestroyBufferCollectionFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkAllocationCallbacks* pAllocator);
- VkResult on_vkSetBufferCollectionConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageCreateInfo* pImageInfo);
- VkResult on_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo);
- VkResult on_vkSetBufferCollectionImageConstraintsFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo);
- VkResult on_vkGetBufferCollectionPropertiesFUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionPropertiesFUCHSIAX* pProperties);
- VkResult on_vkGetBufferCollectionProperties2FUCHSIAX(
- void* context,
- VkResult input_result,
- VkDevice device,
- VkBufferCollectionFUCHSIAX collection,
- VkBufferCollectionProperties2FUCHSIAX* pProperties);
#endif
VkResult on_vkGetAndroidHardwareBufferPropertiesANDROID(
diff --git a/system/vulkan_enc/VulkanHandles.h b/system/vulkan_enc/VulkanHandles.h
index 6c541f4..205e7e5 100644
--- a/system/vulkan_enc/VulkanHandles.h
+++ b/system/vulkan_enc/VulkanHandles.h
@@ -86,7 +86,7 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
#define __GOLDFISH_VK_LIST_NON_DISPATCHABLE_HANDLE_TYPES_FUCHSIA(f) \
- f(VkBufferCollectionFUCHSIA) f(VkBufferCollectionFUCHSIAX)
+ f(VkBufferCollectionFUCHSIA)
#else
diff --git a/system/vulkan_enc/goldfish_vk_private_defs.h b/system/vulkan_enc/goldfish_vk_private_defs.h
index e591608..058f4f9 100644
--- a/system/vulkan_enc/goldfish_vk_private_defs.h
+++ b/system/vulkan_enc/goldfish_vk_private_defs.h
@@ -225,141 +225,6 @@
typedef void (VKAPI_PTR *PFN_vkCreateImageWithRequirementsGOOGLE)(
VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, VkMemoryRequirements* pMemoryRequirements);
-#ifdef VK_USE_PLATFORM_FUCHSIA
-
-#ifndef VK_FUCHSIA_buffer_collection_x
-
-#define VK_FUCHSIA_buffer_collection_x 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIAX)
-#define VK_FUCHSIA_BUFFER_COLLECTION_X_SPEC_VERSION 1
-#define VK_FUCHSIA_BUFFER_COLLECTION_X_EXTENSION_NAME \
- "VK_FUCHSIA_buffer_collection_x"
-
-typedef enum VkImageFormatConstraintsFlagBitsFUCHSIAX {
- VK_IMAGE_FORMAT_CONSTRAINTS_FLAG_BITS_MAX_ENUM_FUCHSIAX = 0x7FFFFFFF
-} VkImageFormatConstraintsFlagBitsFUCHSIAX;
-typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIAX;
-
-typedef enum VkImageConstraintsInfoFlagBitsFUCHSIAX {
- VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIAX = 0x00000001,
- VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIAX = 0x00000002,
- VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIAX = 0x00000004,
- VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIAX = 0x00000008,
- VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIAX = 0x00000010,
- VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIAX = 0x7FFFFFFF
-} VkImageConstraintsInfoFlagBitsFUCHSIAX;
-typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIAX;
-typedef struct VkBufferCollectionCreateInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- uint32_t collectionToken;
-} VkBufferCollectionCreateInfoFUCHSIAX;
-
-typedef struct VkImportMemoryBufferCollectionFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- VkBufferCollectionFUCHSIAX collection;
- uint32_t index;
-} VkImportMemoryBufferCollectionFUCHSIAX;
-
-typedef struct VkBufferCollectionImageCreateInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- VkBufferCollectionFUCHSIAX collection;
- uint32_t index;
-} VkBufferCollectionImageCreateInfoFUCHSIAX;
-
-typedef struct VkBufferConstraintsInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- const VkBufferCreateInfo* pBufferCreateInfo;
- VkFormatFeatureFlags requiredFormatFeatures;
- uint32_t minCount;
-} VkBufferConstraintsInfoFUCHSIAX;
-
-typedef struct VkBufferCollectionBufferCreateInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- VkBufferCollectionFUCHSIAX collection;
- uint32_t index;
-} VkBufferCollectionBufferCreateInfoFUCHSIAX;
-
-typedef struct VkBufferCollectionPropertiesFUCHSIAX {
- VkStructureType sType;
- void* pNext;
- uint32_t memoryTypeBits;
- uint32_t count;
-} VkBufferCollectionPropertiesFUCHSIAX;
-
-typedef struct VkSysmemColorSpaceFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- uint32_t colorSpace;
-} VkSysmemColorSpaceFUCHSIAX;
-
-typedef struct VkBufferCollectionProperties2FUCHSIAX {
- VkStructureType sType;
- void* pNext;
- uint32_t memoryTypeBits;
- uint32_t bufferCount;
- uint32_t createInfoIndex;
- uint64_t sysmemFormat;
- VkFormatFeatureFlags formatFeatures;
- VkSysmemColorSpaceFUCHSIAX colorSpace;
- VkComponentMapping samplerYcbcrConversionComponents;
- VkSamplerYcbcrModelConversion suggestedYcbcrModel;
- VkSamplerYcbcrRange suggestedYcbcrRange;
- VkChromaLocation suggestedXChromaOffset;
- VkChromaLocation suggestedYChromaOffset;
-} VkBufferCollectionProperties2FUCHSIAX;
-
-typedef struct VkImageFormatConstraintsInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- VkFormatFeatureFlags requiredFormatFeatures;
- VkImageFormatConstraintsFlagsFUCHSIAX flags;
- uint64_t sysmemFormat;
- uint32_t colorSpaceCount;
- const VkSysmemColorSpaceFUCHSIAX* pColorSpaces;
-} VkImageFormatConstraintsInfoFUCHSIAX;
-
-typedef struct VkImageConstraintsInfoFUCHSIAX {
- VkStructureType sType;
- const void* pNext;
- uint32_t createInfoCount;
- const VkImageCreateInfo* pCreateInfos;
- const VkImageFormatConstraintsInfoFUCHSIAX* pFormatConstraints;
- uint32_t minBufferCount;
- uint32_t maxBufferCount;
- uint32_t minBufferCountForCamping;
- uint32_t minBufferCountForDedicatedSlack;
- uint32_t minBufferCountForSharedSlack;
- VkImageConstraintsInfoFlagsFUCHSIAX flags;
-} VkImageConstraintsInfoFUCHSIAX;
-
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIAX \
- ((VkStructureType)1000367000)
-#define VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX \
- ((VkStructureType)1000367004)
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX \
- ((VkStructureType)1000367005)
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIAX \
- ((VkStructureType)1000367006)
-#define VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIAX \
- ((VkStructureType)1000367007)
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX \
- ((VkStructureType)1000367008)
-#define VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX \
- ((VkStructureType)1000367009)
-#define VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIAX \
- ((VkStructureType)1000367010)
-#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX \
- ((VkStructureType)1000367011)
-
-#endif // VK_FUCHSIA_buffer_collection_x
-
-#endif // VK_USE_PLATFORM_FUCHSIA
-
// VulkanStream features
#define VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT (1 << 0)
#define VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT (1 << 1)
diff --git a/system/vulkan_enc/vk_struct_id.h b/system/vulkan_enc/vk_struct_id.h
index 833ad6d..f1ee84c 100644
--- a/system/vulkan_enc/vk_struct_id.h
+++ b/system/vulkan_enc/vk_struct_id.h
@@ -48,9 +48,6 @@
REGISTER_VK_STRUCT_ID(VkImportMemoryZirconHandleInfoFUCHSIA, VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA);
REGISTER_VK_STRUCT_ID(VkBufferCollectionImageCreateInfoFUCHSIA, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA);
REGISTER_VK_STRUCT_ID(VkBufferCollectionBufferCreateInfoFUCHSIA, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA);
-REGISTER_VK_STRUCT_ID(VkImportMemoryBufferCollectionFUCHSIAX, VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX);
-REGISTER_VK_STRUCT_ID(VkBufferCollectionImageCreateInfoFUCHSIAX, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX);
-REGISTER_VK_STRUCT_ID(VkBufferCollectionBufferCreateInfoFUCHSIAX, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX);
#endif // VK_USE_PLATFORM_FUCHSIA
REGISTER_VK_STRUCT_ID(VkSamplerCreateInfo, VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO);
REGISTER_VK_STRUCT_ID(VkSamplerCustomBorderColorCreateInfoEXT, VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT);