Commit 05c463b9 authored by Michael Spang's avatar Michael Spang Committed by Commit Bot

gpu/vulkan: Add binding for vkGetMemoryZirconHandleFUCHSIA

This function is needed for GL/Vulkan interop on Fuchsia.

Bug: 766360

Change-Id: I37645fc29fbadd49f48eefbaf4849daa1be82a91
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2069178
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: default avatarPeng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#743820}
parent fc67f1dc
......@@ -188,6 +188,13 @@ VULKAN_DEVICE_FUNCTIONS = [
'vkGetSemaphoreZirconHandleFUCHSIA',
]
},
{
'ifdef': 'defined(OS_FUCHSIA)',
'extension': 'VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME',
'functions': [
'vkGetMemoryZirconHandleFUCHSIA',
]
},
{
'ifdef': 'defined(OS_FUCHSIA)',
'extension': 'VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME',
......
......@@ -850,6 +850,20 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointers(
}
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
if (gfx::HasExtension(enabled_extensions,
VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME)) {
vkGetMemoryZirconHandleFUCHSIAFn =
reinterpret_cast<PFN_vkGetMemoryZirconHandleFUCHSIA>(
vkGetDeviceProcAddrFn(vk_device, "vkGetMemoryZirconHandleFUCHSIA"));
if (!vkGetMemoryZirconHandleFUCHSIAFn) {
DLOG(WARNING) << "Failed to bind vulkan entrypoint: "
<< "vkGetMemoryZirconHandleFUCHSIA";
return false;
}
}
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
if (gfx::HasExtension(enabled_extensions,
VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME)) {
......
......@@ -197,6 +197,10 @@ struct VulkanFunctionPointers {
nullptr;
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIAFn = nullptr;
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIAFn =
nullptr;
......@@ -398,6 +402,11 @@ struct VulkanFunctionPointers {
gpu::GetVulkanFunctionPointers()->vkGetSemaphoreZirconHandleFUCHSIAFn
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
#define vkGetMemoryZirconHandleFUCHSIA \
gpu::GetVulkanFunctionPointers()->vkGetMemoryZirconHandleFUCHSIAFn
#endif // defined(OS_FUCHSIA)
#if defined(OS_FUCHSIA)
#define vkCreateBufferCollectionFUCHSIA \
gpu::GetVulkanFunctionPointers()->vkCreateBufferCollectionFUCHSIAFn
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment