Commit 3a7101b4 by David 'Digit' Turner Committed by David Turner

[vulkan] Clarify configuration macros for external memory and semaphores.

This CL clarifies the macros used by the external memory and semaphore implementations in the following way: - Replace SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD with SWIFTSHADER_EXTERNAL_OPAQUE_FD, and do the same for semaphore. This is driven by the fact that there is nothing specific to Linux in the VK_KHR_external_{memory,semaphore}_fd extensions. The fact that Linux and Android use a memfd-backed region is an implementation detail (that is now only captured in VkDeviceMemoryExternalLinux.h). This also opens the door to an OSX implementation of the extension that would use a Mach-based shared memory regions instead. - Remove SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT, since the VK_FUCHSIA_external_semaphore extension is platform-specific, and replace all checks against VK_USE_PLATFORM_FUCHSIA instead. NOTE: This shall not change the generated code at all, for any platform. Bug: b/143122483 Bug: b/140421726 Change-Id: If3dffef15df2bf3c39b7860ed401af5a0b95e4e9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38489Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Tested-by: 's avatarDavid Turner <digit@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent bf151b82
...@@ -84,13 +84,9 @@ constexpr int SUBPIXEL_PRECISION_MASK = 0xFFFFFFFF >> (32 - SUBPIXEL_PRECISION_B ...@@ -84,13 +84,9 @@ constexpr int SUBPIXEL_PRECISION_MASK = 0xFFFFFFFF >> (32 - SUBPIXEL_PRECISION_B
} }
#if VK_USE_PLATFORM_XLIB_KHR || VK_USE_PLATFORM_ANDROID_KHR #if defined(__linux__) || defined(__ANDROID__)
#define SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD 1 #define SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD 1
#define SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD 1 #define SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD 1
#endif
#if VK_USE_PLATFORM_FUCHSIA
#define SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT 1
#endif #endif
#endif // VK_CONFIG_HPP_ #endif // VK_CONFIG_HPP_
...@@ -36,7 +36,7 @@ public: ...@@ -36,7 +36,7 @@ public:
// A value of 0 corresponds to non-external memory. // A value of 0 corresponds to non-external memory.
virtual VkExternalMemoryHandleTypeFlagBits getFlagBit() const = 0; virtual VkExternalMemoryHandleTypeFlagBits getFlagBit() const = 0;
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
virtual VkResult exportFd(int* pFd) const virtual VkResult exportFd(int* pFd) const
{ {
return VK_ERROR_INVALID_EXTERNAL_HANDLE; return VK_ERROR_INVALID_EXTERNAL_HANDLE;
...@@ -121,8 +121,12 @@ public: ...@@ -121,8 +121,12 @@ public:
} // namespace vk } // namespace vk
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
#include "VkDeviceMemoryExternalLinux.hpp" # if defined(__linux__) || defined(__ANDROID__)
# include "VkDeviceMemoryExternalLinux.hpp"
# else
# error "Missing VK_KHR_external_memory_fd implementation for this platform!"
# endif
#endif #endif
namespace vk namespace vk
...@@ -131,8 +135,8 @@ namespace vk ...@@ -131,8 +135,8 @@ namespace vk
static void findTraits(const VkMemoryAllocateInfo* pAllocateInfo, static void findTraits(const VkMemoryAllocateInfo* pAllocateInfo,
ExternalMemoryTraits* pTraits) ExternalMemoryTraits* pTraits)
{ {
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
if (parseCreateInfo<LinuxMemfdExternalMemory>(pAllocateInfo, pTraits)) if (parseCreateInfo<OpaqueFdExternalMemory>(pAllocateInfo, pTraits))
{ {
return; return;
} }
...@@ -220,7 +224,7 @@ bool DeviceMemory::checkExternalMemoryHandleType( ...@@ -220,7 +224,7 @@ bool DeviceMemory::checkExternalMemoryHandleType(
return (supportedHandleTypes & handle_type_bit) != 0; return (supportedHandleTypes & handle_type_bit) != 0;
} }
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
VkResult DeviceMemory::exportFd(int* pFd) const VkResult DeviceMemory::exportFd(int* pFd) const
{ {
return external->exportFd(pFd); return external->exportFd(pFd);
......
...@@ -28,7 +28,7 @@ public: ...@@ -28,7 +28,7 @@ public:
static size_t ComputeRequiredAllocationSize(const VkMemoryAllocateInfo* pCreateInfo); static size_t ComputeRequiredAllocationSize(const VkMemoryAllocateInfo* pCreateInfo);
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
VkResult exportFd(int* pFd) const; VkResult exportFd(int* pFd) const;
#endif #endif
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <string.h> #include <string.h>
#include <sys/mman.h> #include <sys/mman.h>
class LinuxMemfdExternalMemory : public vk::DeviceMemory::ExternalBase class OpaqueFdExternalMemory : public vk::DeviceMemory::ExternalBase
{ {
public: public:
// Helper struct to parse the VkMemoryAllocateInfo.pNext chain and // Helper struct to parse the VkMemoryAllocateInfo.pNext chain and
...@@ -81,12 +81,12 @@ public: ...@@ -81,12 +81,12 @@ public:
return info.importFd || info.exportFd; return info.importFd || info.exportFd;
} }
explicit LinuxMemfdExternalMemory(const VkMemoryAllocateInfo* pAllocateInfo) explicit OpaqueFdExternalMemory(const VkMemoryAllocateInfo* pAllocateInfo)
: allocateInfo(pAllocateInfo) : allocateInfo(pAllocateInfo)
{ {
} }
~LinuxMemfdExternalMemory() ~OpaqueFdExternalMemory()
{ {
memfd.close(); memfd.close();
} }
......
...@@ -347,7 +347,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string, ...@@ -347,7 +347,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string,
}, },
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
// VK_KHR_external_semaphore_fd // VK_KHR_external_semaphore_fd
{ {
VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,
...@@ -358,7 +358,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string, ...@@ -358,7 +358,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string,
}, },
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
// VK_FUCHSIA_external_semaphore // VK_FUCHSIA_external_semaphore
{ {
VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME, VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME,
...@@ -369,7 +369,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string, ...@@ -369,7 +369,7 @@ static const std::vector<std::pair<const char*, std::unordered_map<std::string,
}, },
#endif #endif
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
// VK_KHR_external_memory_fd // VK_KHR_external_memory_fd
{ {
VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,
......
...@@ -25,7 +25,7 @@ namespace vk ...@@ -25,7 +25,7 @@ namespace vk
static void setExternalMemoryProperties(VkExternalMemoryHandleTypeFlagBits handleType, VkExternalMemoryProperties* properties) static void setExternalMemoryProperties(VkExternalMemoryHandleTypeFlagBits handleType, VkExternalMemoryProperties* properties)
{ {
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
if (handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT) if (handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT)
{ {
properties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; properties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
...@@ -384,7 +384,7 @@ void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalFenceInfo* pExt ...@@ -384,7 +384,7 @@ void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalFenceInfo* pExt
void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) const void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) const
{ {
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT)
{ {
pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT; pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
...@@ -393,7 +393,7 @@ void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalSemaphoreInfo* ...@@ -393,7 +393,7 @@ void PhysicalDevice::getProperties(const VkPhysicalDeviceExternalSemaphoreInfo*
return; return;
} }
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA) if (pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA)
{ {
pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA; pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA;
......
...@@ -16,9 +16,13 @@ ...@@ -16,9 +16,13 @@
#include "VkConfig.h" #include "VkConfig.h"
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
#include "VkSemaphoreExternalLinux.hpp" # if defined(__linux__) || defined(__ANDROID__)
#elif SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT # include "VkSemaphoreExternalLinux.hpp"
# else
# error "Missing VK_KHR_external_semaphore_fd implementation for this platform!"
# endif
#elif VK_USE_PLATFORM_FUCHSIA
#include "VkSemaphoreExternalFuchsia.hpp" #include "VkSemaphoreExternalFuchsia.hpp"
#else #else
#include "VkSemaphoreExternalNone.hpp" #include "VkSemaphoreExternalNone.hpp"
...@@ -196,7 +200,7 @@ void Semaphore::signal() ...@@ -196,7 +200,7 @@ void Semaphore::signal()
impl->signal(); impl->signal();
} }
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
VkResult Semaphore::importFd(int fd, bool temporaryImport) VkResult Semaphore::importFd(int fd, bool temporaryImport)
{ {
std::unique_lock<std::mutex> lock(impl->mutex); std::unique_lock<std::mutex> lock(impl->mutex);
...@@ -226,9 +230,9 @@ VkResult Semaphore::exportFd(int* pFd) const ...@@ -226,9 +230,9 @@ VkResult Semaphore::exportFd(int* pFd) const
} }
return impl->external->exportFd(pFd); return impl->external->exportFd(pFd);
} }
#endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
VkResult Semaphore::importHandle(zx_handle_t handle, bool temporaryImport) VkResult Semaphore::importHandle(zx_handle_t handle, bool temporaryImport)
{ {
std::unique_lock<std::mutex> lock(impl->mutex); std::unique_lock<std::mutex> lock(impl->mutex);
...@@ -252,6 +256,6 @@ VkResult Semaphore::exportHandle(zx_handle_t *pHandle) const ...@@ -252,6 +256,6 @@ VkResult Semaphore::exportHandle(zx_handle_t *pHandle) const
} }
return impl->external->exportHandle(pHandle); return impl->external->exportHandle(pHandle);
} }
#endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #endif // VK_USE_PLATFORM_FUCHSIA
} // namespace vk } // namespace vk
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#include "VkConfig.h" #include "VkConfig.h"
#include "VkObject.hpp" #include "VkObject.hpp"
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
#include <zircon/types.h> #include <zircon/types.h>
#endif #endif
...@@ -43,12 +43,12 @@ public: ...@@ -43,12 +43,12 @@ public:
void signal(); void signal();
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
VkResult importFd(int fd, bool temporaryImport); VkResult importFd(int fd, bool temporaryImport);
VkResult exportFd(int* pFd) const; VkResult exportFd(int* pFd) const;
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
VkResult importHandle(zx_handle_t handle, bool temporaryImport); VkResult importHandle(zx_handle_t handle, bool temporaryImport);
VkResult exportHandle(zx_handle_t *pHandle) const; VkResult exportHandle(zx_handle_t *pHandle) const;
#endif #endif
......
...@@ -248,13 +248,13 @@ static const VkExtensionProperties deviceExtensionProperties[] = ...@@ -248,13 +248,13 @@ static const VkExtensionProperties deviceExtensionProperties[] =
// (from KHR_swapchain v70) to vkBindImageMemory2. // (from KHR_swapchain v70) to vkBindImageMemory2.
{ VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME, 7 }, { VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME, 7 },
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
{ VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION }, { VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION },
#endif #endif
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
{ VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION }, { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION },
#endif #endif
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
{ VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME, VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION }, { VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME, VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION },
#endif #endif
{ VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION }, { VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION },
...@@ -809,7 +809,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryA ...@@ -809,7 +809,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryA
// This extension controls on which physical devices the memory gets allocated. // This extension controls on which physical devices the memory gets allocated.
// SwiftShader only has a single physical device, so this extension does nothing in this case. // SwiftShader only has a single physical device, so this extension does nothing in this case.
break; break;
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
{ {
auto* importInfo = reinterpret_cast<const VkImportMemoryFdInfoKHR *>(allocationInfo); auto* importInfo = reinterpret_cast<const VkImportMemoryFdInfoKHR *>(allocationInfo);
...@@ -830,7 +830,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryA ...@@ -830,7 +830,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryA
} }
break; break;
} }
#endif #endif // SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
default: default:
WARN("pAllocateInfo->pNext sType = %s", vk::Stringify(allocationInfo->sType).c_str()); WARN("pAllocateInfo->pNext sType = %s", vk::Stringify(allocationInfo->sType).c_str());
break; break;
...@@ -864,7 +864,7 @@ VKAPI_ATTR void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory, ...@@ -864,7 +864,7 @@ VKAPI_ATTR void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory memory,
vk::destroy(memory, pAllocator); vk::destroy(memory, pAllocator);
} }
#if SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* getFdInfo, int* pFd) VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* getFdInfo, int* pFd)
{ {
TRACE("(VkDevice device = %p, const VkMemoryGetFdInfoKHR* getFdInfo = %p, int* pFd = %p", TRACE("(VkDevice device = %p, const VkMemoryGetFdInfoKHR* getFdInfo = %p, int* pFd = %p",
...@@ -902,7 +902,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(VkDevice device, VkExt ...@@ -902,7 +902,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(VkDevice device, VkExt
return VK_SUCCESS; return VK_SUCCESS;
} }
#endif // SWIFTSHADER_EXTERNAL_MEMORY_LINUX_MEMFD #endif // SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD
VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData)
{ {
...@@ -1098,7 +1098,7 @@ VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semap ...@@ -1098,7 +1098,7 @@ VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semap
vk::destroy(semaphore, pAllocator); vk::destroy(semaphore, pAllocator);
} }
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #if SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd)
{ {
TRACE("(VkDevice device = %p, const VkSemaphoreGetFdInfoKHR* pGetFdInfo = %p, int* pFd = %p)", TRACE("(VkDevice device = %p, const VkSemaphoreGetFdInfoKHR* pGetFdInfo = %p, int* pFd = %p)",
...@@ -1125,9 +1125,9 @@ VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(VkDevice device, const VkI ...@@ -1125,9 +1125,9 @@ VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(VkDevice device, const VkI
return vk::Cast(pImportSemaphoreInfo->semaphore)->importFd(pImportSemaphoreInfo->fd, temporaryImport); return vk::Cast(pImportSemaphoreInfo->semaphore)->importFd(pImportSemaphoreInfo->fd, temporaryImport);
} }
#endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_LINUX_MEMFD #endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_OPAQUE_FD
#if SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #if VK_USE_PLATFORM_FUCHSIA
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA( VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
VkDevice device, VkDevice device,
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo)
...@@ -1161,7 +1161,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA( ...@@ -1161,7 +1161,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
return vk::Cast(pGetZirconHandleInfo->semaphore)->exportHandle(pZirconHandle); return vk::Cast(pGetZirconHandleInfo->semaphore)->exportHandle(pZirconHandle);
} }
#endif // SWIFTSHADER_EXTERNAL_SEMAPHORE_ZIRCON_EVENT #endif // VK_USE_PLATFORM_FUCHSIA
VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
{ {
......
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