Vulkan: Don't use gl::ErrorOrResult.
This removes usages of ErrorOrResult from SurfaceVk and FramebufferVk.
This will enable the Vulkan error handling refactor.
Bug: angleproject:2713
Change-Id: I69430dba51390a5cdc18b7b47ca423b9635e65de
Reviewed-on: https://chromium-review.googlesource.com/1128923
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index 9d16033..85ae150 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -719,12 +719,13 @@
return mRenderPassDesc.value();
}
-gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *rendererVk)
+vk::Error FramebufferVk::getFramebuffer(RendererVk *rendererVk, vk::Framebuffer **framebufferOut)
{
// If we've already created our cached Framebuffer, return it.
if (mFramebuffer.valid())
{
- return &mFramebuffer;
+ *framebufferOut = &mFramebuffer;
+ return vk::NoError();
}
const vk::RenderPassDesc &desc = getRenderPassDesc();
@@ -736,7 +737,7 @@
VkDevice device = rendererVk->getDevice();
if (mBackbuffer)
{
- return mBackbuffer->getCurrentFramebuffer(device, *renderPass);
+ return mBackbuffer->getCurrentFramebuffer(device, *renderPass, framebufferOut);
}
// Gather VkImageViews over all FBO attachments, also size of attached region.
@@ -781,7 +782,8 @@
ANGLE_TRY(mFramebuffer.init(device, framebufferInfo));
- return &mFramebuffer;
+ *framebufferOut = &mFramebuffer;
+ return vk::NoError();
}
gl::Error FramebufferVk::clearWithClearAttachments(ContextVk *contextVk,
@@ -988,7 +990,7 @@
return gl::InternalError() << "getSamplePosition is unimplemented.";
}
-gl::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk,
+vk::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk,
vk::CommandBuffer **commandBufferOut,
vk::RecordingMode *modeOut)
{
@@ -998,11 +1000,11 @@
if (appendToStartedRenderPass(renderer, commandBufferOut))
{
*modeOut = vk::RecordingMode::Append;
- return gl::NoError();
+ return vk::NoError();
}
vk::Framebuffer *framebuffer = nullptr;
- ANGLE_TRY_RESULT(getFramebuffer(renderer), framebuffer);
+ ANGLE_TRY(getFramebuffer(renderer, &framebuffer));
// TODO(jmadill): Proper clear value implementation. http://anglebug.com/2361
std::vector<VkClearValue> attachmentClearValues;