Vulkan: Add CommandGraph class.
This also renames CommandBufferNode to CommandGraphNode. It also
renames some of the intenal members to more closely represent the
tree relationships (parents/children). This should clean up the
command graph classes and make them a bit easier to understand.
Bug: angleproject:2361
Change-Id: I024bffcc7f4157c78072ef902a3c40a07a08b18a
Reviewed-on: https://chromium-review.googlesource.com/922121
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index b2722be..45641c0 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -18,7 +18,7 @@
#include "libANGLE/Display.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/renderer_utils.h"
-#include "libANGLE/renderer/vulkan/CommandBufferNode.h"
+#include "libANGLE/renderer/vulkan/CommandGraph.h"
#include "libANGLE/renderer/vulkan/ContextVk.h"
#include "libANGLE/renderer/vulkan/DisplayVk.h"
#include "libANGLE/renderer/vulkan/RenderTargetVk.h"
@@ -146,7 +146,7 @@
RendererVk *renderer = contextVk->getRenderer();
vk::CommandBuffer *commandBuffer = nullptr;
- ANGLE_TRY(beginWriteOperation(renderer, &commandBuffer));
+ ANGLE_TRY(beginWriteResource(renderer, &commandBuffer));
Serial currentSerial = renderer->getCurrentQueueSerial();
@@ -157,7 +157,7 @@
RenderTargetVk *renderTarget = nullptr;
ANGLE_TRY(colorAttachment.getRenderTarget(context, &renderTarget));
- renderTarget->resource->onWriteResource(getCurrentWriteOperation(currentSerial),
+ renderTarget->resource->onWriteResource(getCurrentWritingNode(currentSerial),
currentSerial);
renderTarget->image->changeLayoutWithStages(
@@ -262,7 +262,7 @@
renderTarget->extents, vk::StagingUsage::Read));
vk::CommandBuffer *commandBuffer = nullptr;
- ANGLE_TRY(beginWriteOperation(renderer, &commandBuffer));
+ ANGLE_TRY(beginWriteResource(renderer, &commandBuffer));
stagingImage.getImage().changeLayoutTop(VK_IMAGE_ASPECT_COLOR_BIT, VK_IMAGE_LAYOUT_GENERAL,
commandBuffer);
@@ -467,20 +467,20 @@
return gl::InternalError() << "getSamplePosition is unimplemented.";
}
-gl::Error FramebufferVk::getRenderNode(const gl::Context *context, vk::CommandBufferNode **nodeOut)
+gl::Error FramebufferVk::getRenderNode(const gl::Context *context, vk::CommandGraphNode **nodeOut)
{
ContextVk *contextVk = vk::GetImpl(context);
RendererVk *renderer = contextVk->getRenderer();
Serial currentSerial = renderer->getCurrentQueueSerial();
- if (hasCurrentWriteOperation(currentSerial) && mLastRenderNodeSerial == currentSerial)
+ if (hasCurrentWritingNode(currentSerial) && mLastRenderNodeSerial == currentSerial)
{
- *nodeOut = getCurrentWriteOperation(currentSerial);
+ *nodeOut = getCurrentWritingNode(currentSerial);
ASSERT((*nodeOut)->getInsideRenderPassCommands()->valid());
return gl::NoError();
}
- vk::CommandBufferNode *node = getNewWriteNode(renderer);
+ vk::CommandGraphNode *node = getNewWritingNode(renderer);
vk::Framebuffer *framebuffer = nullptr;
ANGLE_TRY_RESULT(getFramebuffer(context, renderer), framebuffer);