Rename Renderbuffer to FramebufferAttachment.
Part of the refactoring effort to clean up our classes for FBO
attachments and Renderbuffers.
BUG=angle:660
Change-Id: Id23df904f56499568159611b66c8922b9dce6a3d
Reviewed-on: https://chromium-review.googlesource.com/201832
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/renderer/d3d11/Clear11.cpp b/src/libGLESv2/renderer/d3d11/Clear11.cpp
index c02cd9e..bb73241 100644
--- a/src/libGLESv2/renderer/d3d11/Clear11.cpp
+++ b/src/libGLESv2/renderer/d3d11/Clear11.cpp
@@ -169,16 +169,16 @@
gl::Extents framebufferSize;
if (frameBuffer->getFirstColorbuffer() != NULL)
{
- gl::Renderbuffer *renderBuffer = frameBuffer->getFirstColorbuffer();
- framebufferSize.width = renderBuffer->getWidth();
- framebufferSize.height = renderBuffer->getHeight();
+ gl::FramebufferAttachment *attachment = frameBuffer->getFirstColorbuffer();
+ framebufferSize.width = attachment->getWidth();
+ framebufferSize.height = attachment->getHeight();
framebufferSize.depth = 1;
}
else if (frameBuffer->getDepthOrStencilbuffer() != NULL)
{
- gl::Renderbuffer *renderBuffer = frameBuffer->getDepthOrStencilbuffer();
- framebufferSize.width = renderBuffer->getWidth();
- framebufferSize.height = renderBuffer->getHeight();
+ gl::FramebufferAttachment *attachment = frameBuffer->getDepthOrStencilbuffer();
+ framebufferSize.width = attachment->getWidth();
+ framebufferSize.height = attachment->getHeight();
framebufferSize.depth = 1;
}
else
@@ -211,18 +211,18 @@
{
if (clearParams.clearColor[colorAttachment] && frameBuffer->isEnabledColorAttachment(colorAttachment))
{
- gl::Renderbuffer *renderbuffer = frameBuffer->getColorbuffer(colorAttachment);
- if (renderbuffer)
+ gl::FramebufferAttachment *attachment = frameBuffer->getColorbuffer(colorAttachment);
+ if (attachment)
{
- RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(renderbuffer->getRenderTarget());
+ RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getRenderTarget());
if (!renderTarget)
{
ERR("Render target pointer unexpectedly null.");
return;
}
- GLenum internalFormat = renderbuffer->getInternalFormat();
- GLenum actualFormat = renderbuffer->getActualFormat();
+ GLenum internalFormat = attachment->getInternalFormat();
+ GLenum actualFormat = attachment->getActualFormat();
GLenum componentType = gl::GetComponentType(internalFormat, clientVersion);
if (clearParams.colorClearType == GL_FLOAT &&
!(componentType == GL_FLOAT || componentType == GL_UNSIGNED_NORMALIZED || componentType == GL_SIGNED_NORMALIZED))
@@ -287,17 +287,17 @@
if (clearParams.clearDepth || clearParams.clearStencil)
{
- gl::Renderbuffer *renderbuffer = frameBuffer->getDepthOrStencilbuffer();
- if (renderbuffer)
+ gl::FramebufferAttachment *attachment = frameBuffer->getDepthOrStencilbuffer();
+ if (attachment)
{
- RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(renderbuffer->getDepthStencil());
+ RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getDepthStencil());
if (!renderTarget)
{
ERR("Depth stencil render target pointer unexpectedly null.");
return;
}
- GLenum actualFormat = renderbuffer->getActualFormat();
+ GLenum actualFormat = attachment->getActualFormat();
unsigned int stencilUnmasked = frameBuffer->hasStencil() ? (1 << gl::GetStencilBits(actualFormat, clientVersion)) - 1 : 0;
bool needMaskedStencilClear = clearParams.clearStencil && (clearParams.stencilWriteMask & stencilUnmasked) != stencilUnmasked;
diff --git a/src/libGLESv2/renderer/d3d11/Image11.cpp b/src/libGLESv2/renderer/d3d11/Image11.cpp
index 85484f9..aa9260d 100644
--- a/src/libGLESv2/renderer/d3d11/Image11.cpp
+++ b/src/libGLESv2/renderer/d3d11/Image11.cpp
@@ -213,7 +213,7 @@
void Image11::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, gl::Framebuffer *source)
{
- gl::Renderbuffer *colorbuffer = source->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = source->getReadColorbuffer();
if (colorbuffer && colorbuffer->getActualFormat() == mActualFormat)
{
diff --git a/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp b/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp
index d0bfd6c..b58569a 100644
--- a/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp
+++ b/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp
@@ -93,18 +93,18 @@
key.blendState = blendState;
for (unsigned int i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; i++)
{
- gl::Renderbuffer *renderBuffer = framebuffer->getColorbuffer(i);
- if (renderBuffer)
+ gl::FramebufferAttachment *attachment = framebuffer->getColorbuffer(i);
+ if (attachment)
{
if (i > 0)
{
mrt = true;
}
- key.rtChannels[i][0] = renderBuffer->getRedSize() > 0;
- key.rtChannels[i][1] = renderBuffer->getGreenSize() > 0;
- key.rtChannels[i][2] = renderBuffer->getBlueSize() > 0;
- key.rtChannels[i][3] = renderBuffer->getAlphaSize() > 0;
+ key.rtChannels[i][0] = attachment->getRedSize() > 0;
+ key.rtChannels[i][1] = attachment->getGreenSize() > 0;
+ key.rtChannels[i][2] = attachment->getBlueSize() > 0;
+ key.rtChannels[i][3] = attachment->getAlphaSize() > 0;
}
else
{
diff --git a/src/libGLESv2/renderer/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d11/Renderer11.cpp
index 143799a..c0ad111 100644
--- a/src/libGLESv2/renderer/d3d11/Renderer11.cpp
+++ b/src/libGLESv2/renderer/d3d11/Renderer11.cpp
@@ -979,7 +979,7 @@
// the draw buffer must be either "none", "back" for the default buffer or the same index as this color (in order)
ASSERT(drawBufferState == GL_BACK || drawBufferState == (GL_COLOR_ATTACHMENT0_EXT + colorAttachment));
- gl::Renderbuffer *colorbuffer = framebuffer->getColorbuffer(colorAttachment);
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getColorbuffer(colorAttachment);
if (!colorbuffer)
{
@@ -1026,7 +1026,7 @@
}
// Get the depth stencil render buffer and serials
- gl::Renderbuffer *depthStencil = NULL;
+ gl::FramebufferAttachment *depthStencil = NULL;
unsigned int depthbufferSerial = 0;
unsigned int stencilbufferSerial = 0;
if (framebuffer->getDepthbufferType() != GL_NONE)
@@ -2634,7 +2634,7 @@
bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterface2D *storage, GLint level)
{
- gl::Renderbuffer *colorbuffer = framebuffer->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer();
if (!colorbuffer)
{
ERR("Failed to retrieve the color buffer from the frame buffer.");
@@ -2695,7 +2695,7 @@
bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterfaceCube *storage, GLenum target, GLint level)
{
- gl::Renderbuffer *colorbuffer = framebuffer->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer();
if (!colorbuffer)
{
ERR("Failed to retrieve the color buffer from the frame buffer.");
@@ -2756,7 +2756,7 @@
bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, GLint zOffset, TextureStorageInterface3D *storage, GLint level)
{
- gl::Renderbuffer *colorbuffer = framebuffer->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer();
if (!colorbuffer)
{
ERR("Failed to retrieve the color buffer from the frame buffer.");
@@ -2817,7 +2817,7 @@
bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, GLint zOffset, TextureStorageInterface2DArray *storage, GLint level)
{
- gl::Renderbuffer *colorbuffer = framebuffer->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer();
if (!colorbuffer)
{
ERR("Failed to retrieve the color buffer from the frame buffer.");
@@ -3169,7 +3169,7 @@
return mPixelTransfer->copyBufferToTexture(unpack, offset, destRenderTarget, destinationFormat, sourcePixelsType, destArea);
}
-bool Renderer11::getRenderTargetResource(gl::Renderbuffer *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource)
+bool Renderer11::getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource)
{
ASSERT(colorbuffer != NULL);
@@ -3210,7 +3210,7 @@
{
if (blitRenderTarget)
{
- gl::Renderbuffer *readBuffer = readTarget->getReadColorbuffer();
+ gl::FramebufferAttachment *readBuffer = readTarget->getReadColorbuffer();
if (!readBuffer)
{
@@ -3224,7 +3224,7 @@
{
if (drawTarget->isEnabledColorAttachment(colorAttachment))
{
- gl::Renderbuffer *drawBuffer = drawTarget->getColorbuffer(colorAttachment);
+ gl::FramebufferAttachment *drawBuffer = drawTarget->getColorbuffer(colorAttachment);
if (!drawBuffer)
{
@@ -3245,8 +3245,8 @@
if (blitDepth || blitStencil)
{
- gl::Renderbuffer *readBuffer = readTarget->getDepthOrStencilbuffer();
- gl::Renderbuffer *drawBuffer = drawTarget->getDepthOrStencilbuffer();
+ gl::FramebufferAttachment *readBuffer = readTarget->getDepthOrStencilbuffer();
+ gl::FramebufferAttachment *drawBuffer = drawTarget->getDepthOrStencilbuffer();
if (!readBuffer)
{
@@ -3281,7 +3281,7 @@
ID3D11Texture2D *colorBufferTexture = NULL;
unsigned int subresourceIndex = 0;
- gl::Renderbuffer *colorbuffer = framebuffer->getReadColorbuffer();
+ gl::FramebufferAttachment *colorbuffer = framebuffer->getReadColorbuffer();
if (colorbuffer && getRenderTargetResource(colorbuffer, &subresourceIndex, &colorBufferTexture))
{
@@ -3749,9 +3749,10 @@
}
}
-void Renderer11::invalidateRenderbufferSwizzles(gl::Renderbuffer *renderBuffer, int mipLevel)
+void Renderer11::invalidateFBOAttachmentSwizzles(gl::FramebufferAttachment *attachment, int mipLevel)
{
- TextureStorage *texStorage = renderBuffer->getTextureStorage();
+ ASSERT(attachment->isTexture());
+ TextureStorage *texStorage = attachment->getTextureStorage();
if (texStorage)
{
TextureStorage11 *texStorage11 = TextureStorage11::makeTextureStorage11(texStorage);
@@ -3769,23 +3770,23 @@
{
for (unsigned int colorAttachment = 0; colorAttachment < gl::IMPLEMENTATION_MAX_DRAW_BUFFERS; colorAttachment++)
{
- gl::Renderbuffer *colorbuffer = framebuffer->getColorbuffer(colorAttachment);
- if (colorbuffer)
+ gl::FramebufferAttachment *attachment = framebuffer->getColorbuffer(colorAttachment);
+ if (attachment && attachment->isTexture())
{
- invalidateRenderbufferSwizzles(colorbuffer, framebuffer->getColorbufferMipLevel(colorAttachment));
+ invalidateFBOAttachmentSwizzles(attachment, framebuffer->getColorbufferMipLevel(colorAttachment));
}
}
- gl::Renderbuffer *depthBuffer = framebuffer->getDepthbuffer();
- if (depthBuffer)
+ gl::FramebufferAttachment *depthAttachment = framebuffer->getDepthbuffer();
+ if (depthAttachment && depthAttachment->isTexture())
{
- invalidateRenderbufferSwizzles(depthBuffer, framebuffer->getDepthbufferMipLevel());
+ invalidateFBOAttachmentSwizzles(depthAttachment, framebuffer->getDepthbufferMipLevel());
}
- gl::Renderbuffer *stencilBuffer = framebuffer->getStencilbuffer();
- if (stencilBuffer)
+ gl::FramebufferAttachment *stencilAttachment = framebuffer->getStencilbuffer();
+ if (stencilAttachment && stencilAttachment->isTexture())
{
- invalidateRenderbufferSwizzles(stencilBuffer, framebuffer->getStencilbufferMipLevel());
+ invalidateFBOAttachmentSwizzles(stencilAttachment, framebuffer->getStencilbufferMipLevel());
}
}
diff --git a/src/libGLESv2/renderer/d3d11/Renderer11.h b/src/libGLESv2/renderer/d3d11/Renderer11.h
index 3e6a54a..bbd0de4 100644
--- a/src/libGLESv2/renderer/d3d11/Renderer11.h
+++ b/src/libGLESv2/renderer/d3d11/Renderer11.h
@@ -21,7 +21,7 @@
namespace gl
{
-class Renderbuffer;
+class FramebufferAttachment;
}
namespace rx
@@ -229,7 +229,7 @@
virtual bool fastCopyBufferToTexture(const gl::PixelUnpackState &unpack, unsigned int offset, RenderTarget *destRenderTarget,
GLenum destinationFormat, GLenum sourcePixelsType, const gl::Box &destArea);
- bool getRenderTargetResource(gl::Renderbuffer *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource);
+ bool getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, unsigned int *subresourceIndex, ID3D11Texture2D **resource);
void unapplyRenderTargets();
void setOneTimeRenderTarget(ID3D11RenderTargetView *renderTargetView);
void packPixels(ID3D11Texture2D *readTexture, const PackPixelsParams ¶ms, void *pixelsOut);
@@ -255,7 +255,7 @@
bool colorBlit, bool depthBlit, bool stencilBlit);
ID3D11Texture2D *resolveMultisampledTexture(ID3D11Texture2D *source, unsigned int subresource);
- static void invalidateRenderbufferSwizzles(gl::Renderbuffer *renderBuffer, int mipLevel);
+ static void invalidateFBOAttachmentSwizzles(gl::FramebufferAttachment *attachment, int mipLevel);
static void invalidateFramebufferSwizzles(gl::Framebuffer *framebuffer);
HMODULE mD3d11Module;