Use angle::Result in front-end (Part 3)
Handles the gl::Framebuffer class and its implementation.
Bug: angleproject:2491
Change-Id: I3b9c0609e9277264ccdb370596500562df3b7d15
Reviewed-on: https://chromium-review.googlesource.com/c/1280743
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/FramebufferD3D.cpp b/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
index ba09d2e..32caca6 100644
--- a/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
+++ b/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
@@ -101,16 +101,16 @@
{
}
-gl::Error FramebufferD3D::clear(const gl::Context *context, GLbitfield mask)
+angle::Result FramebufferD3D::clear(const gl::Context *context, GLbitfield mask)
{
ClearParameters clearParams = GetClearParameters(context->getGLState(), mask);
return clearImpl(context, clearParams);
}
-gl::Error FramebufferD3D::clearBufferfv(const gl::Context *context,
- GLenum buffer,
- GLint drawbuffer,
- const GLfloat *values)
+angle::Result FramebufferD3D::clearBufferfv(const gl::Context *context,
+ GLenum buffer,
+ GLint drawbuffer,
+ const GLfloat *values)
{
// glClearBufferfv can be called to clear the color buffer or depth buffer
ClearParameters clearParams = GetClearParameters(context->getGLState(), 0);
@@ -134,10 +134,10 @@
return clearImpl(context, clearParams);
}
-gl::Error FramebufferD3D::clearBufferuiv(const gl::Context *context,
- GLenum buffer,
- GLint drawbuffer,
- const GLuint *values)
+angle::Result FramebufferD3D::clearBufferuiv(const gl::Context *context,
+ GLenum buffer,
+ GLint drawbuffer,
+ const GLuint *values)
{
// glClearBufferuiv can only be called to clear a color buffer
ClearParameters clearParams = GetClearParameters(context->getGLState(), 0);
@@ -151,10 +151,10 @@
return clearImpl(context, clearParams);
}
-gl::Error FramebufferD3D::clearBufferiv(const gl::Context *context,
- GLenum buffer,
- GLint drawbuffer,
- const GLint *values)
+angle::Result FramebufferD3D::clearBufferiv(const gl::Context *context,
+ GLenum buffer,
+ GLint drawbuffer,
+ const GLint *values)
{
// glClearBufferiv can be called to clear the color buffer or stencil buffer
ClearParameters clearParams = GetClearParameters(context->getGLState(), 0);
@@ -178,11 +178,11 @@
return clearImpl(context, clearParams);
}
-gl::Error FramebufferD3D::clearBufferfi(const gl::Context *context,
- GLenum buffer,
- GLint drawbuffer,
- GLfloat depth,
- GLint stencil)
+angle::Result FramebufferD3D::clearBufferfi(const gl::Context *context,
+ GLenum buffer,
+ GLint drawbuffer,
+ GLfloat depth,
+ GLint stencil)
{
// glClearBufferfi can only be called to clear a depth stencil buffer
ClearParameters clearParams = GetClearParameters(context->getGLState(), 0);
@@ -240,20 +240,20 @@
return implementationFormatInfo.getReadPixelsType(context->getClientVersion());
}
-gl::Error FramebufferD3D::readPixels(const gl::Context *context,
- const gl::Rectangle &origArea,
- GLenum format,
- GLenum type,
- void *pixels)
+angle::Result FramebufferD3D::readPixels(const gl::Context *context,
+ const gl::Rectangle &area,
+ GLenum format,
+ GLenum type,
+ void *pixels)
{
// Clip read area to framebuffer.
const gl::Extents fbSize = getState().getReadAttachment()->getSize();
const gl::Rectangle fbRect(0, 0, fbSize.width, fbSize.height);
- gl::Rectangle area;
- if (!ClipRectangle(origArea, fbRect, &area))
+ gl::Rectangle clippedArea;
+ if (!ClipRectangle(area, fbRect, &clippedArea))
{
// nothing to read
- return gl::NoError();
+ return angle::Result::Continue();
}
const gl::PixelPackState &packState = context->getGLState().getPackState();
@@ -264,24 +264,24 @@
GLuint outputPitch = 0;
ANGLE_CHECK_HR_MATH(contextD3D,
- sizedFormatInfo.computeRowPitch(type, origArea.width, packState.alignment,
+ sizedFormatInfo.computeRowPitch(type, area.width, packState.alignment,
packState.rowLength, &outputPitch));
GLuint outputSkipBytes = 0;
ANGLE_CHECK_HR_MATH(contextD3D, sizedFormatInfo.computeSkipBytes(
type, outputPitch, 0, packState, false, &outputSkipBytes));
- outputSkipBytes +=
- (area.x - origArea.x) * sizedFormatInfo.pixelBytes + (area.y - origArea.y) * outputPitch;
+ outputSkipBytes += (clippedArea.x - area.x) * sizedFormatInfo.pixelBytes +
+ (clippedArea.y - area.y) * outputPitch;
- return readPixelsImpl(context, area, format, type, outputPitch, packState,
+ return readPixelsImpl(context, clippedArea, format, type, outputPitch, packState,
static_cast<uint8_t *>(pixels) + outputSkipBytes);
}
-gl::Error FramebufferD3D::blit(const gl::Context *context,
- const gl::Rectangle &sourceArea,
- const gl::Rectangle &destArea,
- GLbitfield mask,
- GLenum filter)
+angle::Result FramebufferD3D::blit(const gl::Context *context,
+ const gl::Rectangle &sourceArea,
+ const gl::Rectangle &destArea,
+ GLbitfield mask,
+ GLenum filter)
{
const auto &glState = context->getGLState();
const gl::Framebuffer *sourceFramebuffer = glState.getReadFramebuffer();
@@ -290,7 +290,7 @@
(mask & GL_DEPTH_BUFFER_BIT) != 0, (mask & GL_STENCIL_BUFFER_BIT) != 0,
filter, sourceFramebuffer));
- return gl::NoError();
+ return angle::Result::Continue();
}
bool FramebufferD3D::checkStatus(const gl::Context *context) const