Commit 5598148b by Jamie Madill Committed by Commit Bot

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: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
parent eebe2190
...@@ -719,12 +719,13 @@ const vk::RenderPassDesc &FramebufferVk::getRenderPassDesc() ...@@ -719,12 +719,13 @@ const vk::RenderPassDesc &FramebufferVk::getRenderPassDesc()
return mRenderPassDesc.value(); 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 we've already created our cached Framebuffer, return it.
if (mFramebuffer.valid()) if (mFramebuffer.valid())
{ {
return &mFramebuffer; *framebufferOut = &mFramebuffer;
return vk::NoError();
} }
const vk::RenderPassDesc &desc = getRenderPassDesc(); const vk::RenderPassDesc &desc = getRenderPassDesc();
...@@ -736,7 +737,7 @@ gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *r ...@@ -736,7 +737,7 @@ gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *r
VkDevice device = rendererVk->getDevice(); VkDevice device = rendererVk->getDevice();
if (mBackbuffer) if (mBackbuffer)
{ {
return mBackbuffer->getCurrentFramebuffer(device, *renderPass); return mBackbuffer->getCurrentFramebuffer(device, *renderPass, framebufferOut);
} }
// Gather VkImageViews over all FBO attachments, also size of attached region. // Gather VkImageViews over all FBO attachments, also size of attached region.
...@@ -781,7 +782,8 @@ gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *r ...@@ -781,7 +782,8 @@ gl::ErrorOrResult<vk::Framebuffer *> FramebufferVk::getFramebuffer(RendererVk *r
ANGLE_TRY(mFramebuffer.init(device, framebufferInfo)); ANGLE_TRY(mFramebuffer.init(device, framebufferInfo));
return &mFramebuffer; *framebufferOut = &mFramebuffer;
return vk::NoError();
} }
gl::Error FramebufferVk::clearWithClearAttachments(ContextVk *contextVk, gl::Error FramebufferVk::clearWithClearAttachments(ContextVk *contextVk,
...@@ -988,7 +990,7 @@ gl::Error FramebufferVk::getSamplePosition(const gl::Context *context, ...@@ -988,7 +990,7 @@ gl::Error FramebufferVk::getSamplePosition(const gl::Context *context,
return gl::InternalError() << "getSamplePosition is unimplemented."; return gl::InternalError() << "getSamplePosition is unimplemented.";
} }
gl::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk, vk::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk,
vk::CommandBuffer **commandBufferOut, vk::CommandBuffer **commandBufferOut,
vk::RecordingMode *modeOut) vk::RecordingMode *modeOut)
{ {
...@@ -998,11 +1000,11 @@ gl::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk, ...@@ -998,11 +1000,11 @@ gl::Error FramebufferVk::getCommandBufferForDraw(ContextVk *contextVk,
if (appendToStartedRenderPass(renderer, commandBufferOut)) if (appendToStartedRenderPass(renderer, commandBufferOut))
{ {
*modeOut = vk::RecordingMode::Append; *modeOut = vk::RecordingMode::Append;
return gl::NoError(); return vk::NoError();
} }
vk::Framebuffer *framebuffer = nullptr; 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 // TODO(jmadill): Proper clear value implementation. http://anglebug.com/2361
std::vector<VkClearValue> attachmentClearValues; std::vector<VkClearValue> attachmentClearValues;
......
...@@ -89,7 +89,7 @@ class FramebufferVk : public FramebufferImpl, public vk::CommandGraphResource ...@@ -89,7 +89,7 @@ class FramebufferVk : public FramebufferImpl, public vk::CommandGraphResource
GLfloat *xy) const override; GLfloat *xy) const override;
RenderTargetVk *getDepthStencilRenderTarget() const; RenderTargetVk *getDepthStencilRenderTarget() const;
const vk::RenderPassDesc &getRenderPassDesc(); const vk::RenderPassDesc &getRenderPassDesc();
gl::Error getCommandBufferForDraw(ContextVk *contextVk, vk::Error getCommandBufferForDraw(ContextVk *contextVk,
vk::CommandBuffer **commandBufferOut, vk::CommandBuffer **commandBufferOut,
vk::RecordingMode *modeOut); vk::RecordingMode *modeOut);
...@@ -117,7 +117,7 @@ class FramebufferVk : public FramebufferImpl, public vk::CommandGraphResource ...@@ -117,7 +117,7 @@ class FramebufferVk : public FramebufferImpl, public vk::CommandGraphResource
bool blitDepthBuffer, bool blitDepthBuffer,
bool blitStencilBuffer); bool blitStencilBuffer);
gl::ErrorOrResult<vk::Framebuffer *> getFramebuffer(RendererVk *rendererVk); vk::Error getFramebuffer(RendererVk *rendererVk, vk::Framebuffer **framebufferOut);
gl::Error clearWithClearAttachments(ContextVk *contextVk, gl::Error clearWithClearAttachments(ContextVk *contextVk,
bool clearColor, bool clearColor,
......
...@@ -664,16 +664,17 @@ gl::Error WindowSurfaceVk::getAttachmentRenderTarget(const gl::Context * /*conte ...@@ -664,16 +664,17 @@ gl::Error WindowSurfaceVk::getAttachmentRenderTarget(const gl::Context * /*conte
return gl::NoError(); return gl::NoError();
} }
gl::ErrorOrResult<vk::Framebuffer *> WindowSurfaceVk::getCurrentFramebuffer( vk::Error WindowSurfaceVk::getCurrentFramebuffer(VkDevice device,
VkDevice device, const vk::RenderPass &compatibleRenderPass,
const vk::RenderPass &compatibleRenderPass) vk::Framebuffer **framebufferOut)
{ {
vk::Framebuffer &currentFramebuffer = mSwapchainImages[mCurrentSwapchainImageIndex].framebuffer; vk::Framebuffer &currentFramebuffer = mSwapchainImages[mCurrentSwapchainImageIndex].framebuffer;
if (currentFramebuffer.valid()) if (currentFramebuffer.valid())
{ {
// Validation layers should detect if the render pass is really compatible. // Validation layers should detect if the render pass is really compatible.
return &currentFramebuffer; *framebufferOut = &currentFramebuffer;
return vk::NoError();
} }
VkFramebufferCreateInfo framebufferInfo; VkFramebufferCreateInfo framebufferInfo;
...@@ -698,7 +699,8 @@ gl::ErrorOrResult<vk::Framebuffer *> WindowSurfaceVk::getCurrentFramebuffer( ...@@ -698,7 +699,8 @@ gl::ErrorOrResult<vk::Framebuffer *> WindowSurfaceVk::getCurrentFramebuffer(
} }
ASSERT(currentFramebuffer.valid()); ASSERT(currentFramebuffer.valid());
return &currentFramebuffer; *framebufferOut = &currentFramebuffer;
return vk::NoError();
} }
gl::Error WindowSurfaceVk::initializeContents(const gl::Context *context, gl::Error WindowSurfaceVk::initializeContents(const gl::Context *context,
......
...@@ -127,9 +127,9 @@ class WindowSurfaceVk : public SurfaceImpl, public vk::CommandGraphResource ...@@ -127,9 +127,9 @@ class WindowSurfaceVk : public SurfaceImpl, public vk::CommandGraphResource
gl::Error initializeContents(const gl::Context *context, gl::Error initializeContents(const gl::Context *context,
const gl::ImageIndex &imageIndex) override; const gl::ImageIndex &imageIndex) override;
gl::ErrorOrResult<vk::Framebuffer *> getCurrentFramebuffer( vk::Error getCurrentFramebuffer(VkDevice device,
VkDevice device, const vk::RenderPass &compatibleRenderPass,
const vk::RenderPass &compatibleRenderPass); vk::Framebuffer **framebufferOut);
protected: protected:
EGLNativeWindowType mNativeWindowType; EGLNativeWindowType mNativeWindowType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment