diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-08-29 15:51:15 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-08-29 15:51:15 +0000 |
commit | 54b9892f3cc8ed30bfe660ff2957aefeb484b092 (patch) | |
tree | 0c9374ad222a99e4c7b709230e594be12d57dc24 /libs/hwui/renderthread/VulkanManager.cpp | |
parent | c8344a19637ff39f84cbd6acecb952c80f2c4de5 (diff) | |
parent | c8e22a653297837da9a80b0ba65f6854c8986c96 (diff) |
Merge "TextureView Vulkan support and optimized OpenGL draw"
Diffstat (limited to 'libs/hwui/renderthread/VulkanManager.cpp')
-rw-r--r-- | libs/hwui/renderthread/VulkanManager.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp index 1517f579a084..0c49dc03425e 100644 --- a/libs/hwui/renderthread/VulkanManager.cpp +++ b/libs/hwui/renderthread/VulkanManager.cpp @@ -40,7 +40,7 @@ namespace renderthread { VulkanManager::VulkanManager(RenderThread& thread) : mRenderThread(thread) {} void VulkanManager::destroy() { - mRenderThread.renderState().onVkContextDestroyed(); + mRenderThread.renderState().onContextDestroyed(); mRenderThread.setGrContext(nullptr); if (VK_NULL_HANDLE != mCommandPool) { @@ -404,7 +404,7 @@ void VulkanManager::initialize() { mSwapBehavior = SwapBehavior::BufferAge; } - mRenderThread.renderState().onVkContextCreated(); + mRenderThread.renderState().onContextCreated(); } // Returns the next BackbufferInfo to use for the next draw. The function will make sure all @@ -981,6 +981,22 @@ int VulkanManager::getAge(VulkanSurface* surface) { return surface->mCurrentTime - lastUsed; } +status_t VulkanManager::fenceWait(sp<Fence>& fence) { + //TODO: Insert a wait on fence command into the Vulkan command buffer. + // Block CPU on the fence. + status_t err = fence->waitForever("VulkanManager::fenceWait"); + if (err != NO_ERROR) { + ALOGE("VulkanManager::fenceWait: error waiting for fence: %d", err); + return err; + } + return OK; +} + +status_t VulkanManager::createReleaseFence(sp<Fence>& nativeFence) { + //TODO: Create a fence that is signaled, when all the pending Vulkan commands are flushed. + return OK; +} + } /* namespace renderthread */ } /* namespace uirenderer */ } /* namespace android */ |