Vulkan: Pass fewer Context pointers around.
These weren't needed in many places.
Also renames one FramebufferVk method.
Bug: angleproject:2455
Change-Id: Idb641094fa3e180a85f357533d86bd0b19db4ec8
Reviewed-on: https://chromium-review.googlesource.com/1024826
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@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 d447564..e3871a8 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -138,7 +138,7 @@
// With scissor test enabled, we clear very differently and we don't need to access
// the image inside each attachment we can just use clearCmdAttachments with our
// scissor region instead.
- ANGLE_TRY(clearAttachmentsWithScissorRegion(context, clearColor, clearDepth, clearStencil));
+ ANGLE_TRY(clearWithClearAttachments(contextVk, clearColor, clearDepth, clearStencil));
return gl::NoError();
}
@@ -337,7 +337,7 @@
return gl::NoError();
}
-const vk::RenderPassDesc &FramebufferVk::getRenderPassDesc(const gl::Context *context)
+const vk::RenderPassDesc &FramebufferVk::getRenderPassDesc()
{
if (mRenderPassDesc.valid())
{
@@ -365,8 +365,7 @@
return mRenderPassDesc.value();
}
-gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(const gl::Context *context,
- RendererVk *rendererVk)
+gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *rendererVk)
{
// If we've already created our cached Framebuffer, return it.
if (mFramebuffer.valid())
@@ -374,7 +373,7 @@
return &mFramebuffer;
}
- const vk::RenderPassDesc &desc = getRenderPassDesc(context);
+ const vk::RenderPassDesc &desc = getRenderPassDesc();
vk::RenderPass *renderPass = nullptr;
ANGLE_TRY(rendererVk->getCompatibleRenderPass(desc, &renderPass));
@@ -432,19 +431,18 @@
return &mFramebuffer;
}
-gl::Error FramebufferVk::clearAttachmentsWithScissorRegion(const gl::Context *context,
- bool clearColor,
- bool clearDepth,
- bool clearStencil)
+gl::Error FramebufferVk::clearWithClearAttachments(ContextVk *contextVk,
+ bool clearColor,
+ bool clearDepth,
+ bool clearStencil)
{
- ContextVk *contextVk = vk::GetImpl(context);
RendererVk *renderer = contextVk->getRenderer();
// This command can only happen inside a render pass, so obtain one if its already happening
// or create a new one if not.
vk::CommandGraphNode *node = nullptr;
vk::CommandBuffer *commandBuffer = nullptr;
- ANGLE_TRY(getCommandGraphNodeForDraw(context, &node));
+ ANGLE_TRY(getCommandGraphNodeForDraw(contextVk, &node));
if (node->getInsideRenderPassCommands()->valid())
{
commandBuffer = node->getInsideRenderPassCommands();
@@ -532,10 +530,9 @@
return gl::InternalError() << "getSamplePosition is unimplemented.";
}
-gl::Error FramebufferVk::getCommandGraphNodeForDraw(const gl::Context *context,
+gl::Error FramebufferVk::getCommandGraphNodeForDraw(ContextVk *contextVk,
vk::CommandGraphNode **nodeOut)
{
- ContextVk *contextVk = vk::GetImpl(context);
RendererVk *renderer = contextVk->getRenderer();
Serial currentSerial = renderer->getCurrentQueueSerial();
@@ -557,7 +554,7 @@
}
vk::Framebuffer *framebuffer = nullptr;
- ANGLE_TRY_RESULT(getFramebuffer(context, renderer), framebuffer);
+ ANGLE_TRY_RESULT(getFramebuffer(renderer), framebuffer);
std::vector<VkClearValue> attachmentClearValues;