Vulkan: Update resource dependency semantics.
This removes passing the Serial around to several methods, so that
dependency management is a bit more automatic.
This makes life a bit easier when dealing with state updates when
resources are in use by Vulkan.
The FramebuffeVk no longer stores an extra serial of the last draw,
instead it will trigger creation of a new writing node on a state
change update.
Bug: angleproject:2318
Change-Id: Ie58ec66e6e8644ba4d402c509255c3795d363dd3
Reviewed-on: https://chromium-review.googlesource.com/985201
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 816d51c..d89fa9d 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -255,7 +255,7 @@
return mCurrentArrayBufferOffsets;
}
-void VertexArrayVk::updateArrayBufferReadDependencies(vk::CommandGraphNode *drawNode,
+void VertexArrayVk::updateArrayBufferReadDependencies(vk::CommandGraphNode *readingNode,
const gl::AttributesMask &activeAttribsMask,
Serial serial)
{
@@ -263,17 +263,17 @@
for (size_t attribIndex : activeAttribsMask)
{
if (mCurrentArrayBufferResources[attribIndex])
- mCurrentArrayBufferResources[attribIndex]->onReadResource(drawNode, serial);
+ mCurrentArrayBufferResources[attribIndex]->onReadResource(readingNode, serial);
}
}
-void VertexArrayVk::updateElementArrayBufferReadDependency(vk::CommandGraphNode *drawNode,
+void VertexArrayVk::updateElementArrayBufferReadDependency(vk::CommandGraphNode *readingNode,
Serial serial)
{
// Handle the bound element array buffer.
if (mCurrentElementArrayBufferResource)
{
- mCurrentElementArrayBufferResource->onReadResource(drawNode, serial);
+ mCurrentElementArrayBufferResource->onReadResource(readingNode, serial);
}
}