#include "gpu/command_buffer/service/external_semaphore.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "build/build_config.h"
#include "components/viz/common/gpu/vulkan_context_provider.h"
#include "gpu/vulkan/vulkan_device_queue.h"
#include "gpu/vulkan/vulkan_function_pointers.h"
#include "gpu/vulkan/vulkan_implementation.h"
#include "gpu/vulkan/vulkan_util.h"
#include "ui/gl/gl_bindings.h"
#define GL_HANDLE_TYPE_OPAQUE_FD_EXT …
#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT …
#define GL_HANDLE_TYPE_ZIRCON_VMO_ANGLE …
#define GL_HANDLE_TYPE_ZIRCON_EVENT_ANGLE …
namespace gpu {
namespace {
GLuint ImportSemaphoreHandleToGLSemaphore(SemaphoreHandle handle) { … }
}
ExternalSemaphore ExternalSemaphore::Create(
viz::VulkanContextProvider* context_provider) { … }
ExternalSemaphore ExternalSemaphore::CreateFromHandle(
viz::VulkanContextProvider* context_provider,
SemaphoreHandle handle) { … }
ExternalSemaphore::ExternalSemaphore() = default;
ExternalSemaphore::ExternalSemaphore(ExternalSemaphore&& other) { … }
ExternalSemaphore::ExternalSemaphore(
base::PassKey<ExternalSemaphore>,
viz::VulkanContextProvider* context_provider,
VkSemaphore semaphore,
SemaphoreHandle handle)
: … { … }
ExternalSemaphore::~ExternalSemaphore() { … }
ExternalSemaphore& ExternalSemaphore::operator=(ExternalSemaphore&& other) { … }
void ExternalSemaphore::Reset() { … }
unsigned int ExternalSemaphore::GetGLSemaphore() { … }
VkSemaphore ExternalSemaphore::GetVkSemaphore() { … }
SemaphoreHandle ExternalSemaphore::TakeSemaphoreHandle() { … }
}