From 685dd27a259cfa0127b20a32f223d00a7c020ef1 Mon Sep 17 00:00:00 2001 From: Jamie Madill Date: Fri, 29 Aug 2014 15:46:43 -0400 Subject: Replace getDepthStencil with getRenderTarget. In all places where we called this method, we treated a NULL return value as an internal error. This implies to me that we don't need the two getRenderTarget and getDepthStencil methods, since we aren't using them to check if a surface is depth or stencil. BUG=angle:732 Change-Id: I4d1dc148abf3383b1b101bbff4f4d22de27ad03e Reviewed-on: https://chromium-review.googlesource.com/213852 Tested-by: Jamie Madill Reviewed-by: Brandon Jones Reviewed-by: Shannon Woods --- src/libGLESv2/Context.cpp | 2 +- src/libGLESv2/FramebufferAttachment.cpp | 25 ------ src/libGLESv2/FramebufferAttachment.h | 6 -- src/libGLESv2/Renderbuffer.cpp | 2 +- src/libGLESv2/Renderbuffer.h | 2 +- src/libGLESv2/State.cpp | 2 +- src/libGLESv2/Texture.cpp | 20 ----- src/libGLESv2/Texture.h | 4 - src/libGLESv2/renderer/TextureImpl.h | 1 - src/libGLESv2/renderer/d3d/TextureD3D.cpp | 108 ------------------------ src/libGLESv2/renderer/d3d/TextureD3D.h | 4 - src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp | 2 +- src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp | 7 +- src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp | 6 +- 14 files changed, 12 insertions(+), 179 deletions(-) (limited to 'src') diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp index 2ec15389..bd814edf 100644 --- a/src/libGLESv2/Context.cpp +++ b/src/libGLESv2/Context.cpp @@ -2341,7 +2341,7 @@ void Context::invalidateFrameBuffer(GLenum target, GLsizei numAttachments, const if (attachment) { - renderTarget = attachment->getDepthStencil(); + renderTarget = attachment->getRenderTarget(); } } diff --git a/src/libGLESv2/FramebufferAttachment.cpp b/src/libGLESv2/FramebufferAttachment.cpp index 861bd65b..0cabf39e 100644 --- a/src/libGLESv2/FramebufferAttachment.cpp +++ b/src/libGLESv2/FramebufferAttachment.cpp @@ -92,11 +92,6 @@ rx::RenderTarget *Texture2DAttachment::getRenderTarget() return mTexture2D->getRenderTarget(mLevel); } -rx::RenderTarget *Texture2DAttachment::getDepthStencil() -{ - return mTexture2D->getDepthStencil(mLevel); -} - rx::TextureStorage *Texture2DAttachment::getTextureStorage() { return mTexture2D->getNativeTexture()->getStorageInstance(); @@ -175,11 +170,6 @@ rx::RenderTarget *TextureCubeMapAttachment::getRenderTarget() return mTextureCubeMap->getRenderTarget(mFaceTarget, mLevel); } -rx::RenderTarget *TextureCubeMapAttachment::getDepthStencil() -{ - return mTextureCubeMap->getDepthStencil(mFaceTarget, mLevel); -} - rx::TextureStorage *TextureCubeMapAttachment::getTextureStorage() { return mTextureCubeMap->getNativeTexture()->getStorageInstance(); @@ -258,11 +248,6 @@ rx::RenderTarget *Texture3DAttachment::getRenderTarget() return mTexture3D->getRenderTarget(mLevel, mLayer); } -rx::RenderTarget *Texture3DAttachment::getDepthStencil() -{ - return mTexture3D->getDepthStencil(mLevel, mLayer); -} - rx::TextureStorage *Texture3DAttachment::getTextureStorage() { return mTexture3D->getNativeTexture()->getStorageInstance(); @@ -341,11 +326,6 @@ rx::RenderTarget *Texture2DArrayAttachment::getRenderTarget() return mTexture2DArray->getRenderTarget(mLevel, mLayer); } -rx::RenderTarget *Texture2DArrayAttachment::getDepthStencil() -{ - return mTexture2DArray->getDepthStencil(mLevel, mLayer); -} - rx::TextureStorage *Texture2DArrayAttachment::getTextureStorage() { return mTexture2DArray->getNativeTexture()->getStorageInstance(); @@ -424,11 +404,6 @@ rx::RenderTarget *RenderbufferAttachment::getRenderTarget() return mRenderbuffer->getStorage()->getRenderTarget(); } -rx::RenderTarget *RenderbufferAttachment::getDepthStencil() -{ - return mRenderbuffer->getStorage()->getDepthStencil(); -} - rx::TextureStorage *RenderbufferAttachment::getTextureStorage() { UNREACHABLE(); diff --git a/src/libGLESv2/FramebufferAttachment.h b/src/libGLESv2/FramebufferAttachment.h index fa1cd279..f12b55ed 100644 --- a/src/libGLESv2/FramebufferAttachment.h +++ b/src/libGLESv2/FramebufferAttachment.h @@ -58,7 +58,6 @@ class FramebufferAttachment // Child class interface virtual rx::RenderTarget *getRenderTarget() = 0; - virtual rx::RenderTarget *getDepthStencil() = 0; virtual rx::TextureStorage *getTextureStorage() = 0; virtual GLsizei getWidth() const = 0; @@ -87,7 +86,6 @@ class Texture2DAttachment : public FramebufferAttachment virtual ~Texture2DAttachment(); rx::RenderTarget *getRenderTarget(); - rx::RenderTarget *getDepthStencil(); rx::TextureStorage *getTextureStorage(); virtual GLsizei getWidth() const; @@ -119,7 +117,6 @@ class TextureCubeMapAttachment : public FramebufferAttachment virtual ~TextureCubeMapAttachment(); rx::RenderTarget *getRenderTarget(); - rx::RenderTarget *getDepthStencil(); rx::TextureStorage *getTextureStorage(); virtual GLsizei getWidth() const; @@ -152,7 +149,6 @@ class Texture3DAttachment : public FramebufferAttachment virtual ~Texture3DAttachment(); rx::RenderTarget *getRenderTarget(); - rx::RenderTarget *getDepthStencil(); rx::TextureStorage *getTextureStorage(); virtual GLsizei getWidth() const; @@ -185,7 +181,6 @@ class Texture2DArrayAttachment : public FramebufferAttachment virtual ~Texture2DArrayAttachment(); rx::RenderTarget *getRenderTarget(); - rx::RenderTarget *getDepthStencil(); rx::TextureStorage *getTextureStorage(); virtual GLsizei getWidth() const; @@ -218,7 +213,6 @@ class RenderbufferAttachment : public FramebufferAttachment virtual ~RenderbufferAttachment(); rx::RenderTarget *getRenderTarget(); - rx::RenderTarget *getDepthStencil(); rx::TextureStorage *getTextureStorage(); virtual GLsizei getWidth() const; diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libGLESv2/Renderbuffer.cpp index aec0fef3..16ee7751 100644 --- a/src/libGLESv2/Renderbuffer.cpp +++ b/src/libGLESv2/Renderbuffer.cpp @@ -251,7 +251,7 @@ DepthStencilbuffer::~DepthStencilbuffer() } } -rx::RenderTarget *DepthStencilbuffer::getDepthStencil() +rx::RenderTarget *DepthStencilbuffer::getRenderTarget() { return mDepthStencil; } diff --git a/src/libGLESv2/Renderbuffer.h b/src/libGLESv2/Renderbuffer.h index 6c64bc40..c23a54a2 100644 --- a/src/libGLESv2/Renderbuffer.h +++ b/src/libGLESv2/Renderbuffer.h @@ -125,7 +125,7 @@ class DepthStencilbuffer : public RenderbufferStorage ~DepthStencilbuffer(); - virtual rx::RenderTarget *getDepthStencil(); + virtual rx::RenderTarget *getRenderTarget(); protected: rx::RenderTarget *mDepthStencil; diff --git a/src/libGLESv2/State.cpp b/src/libGLESv2/State.cpp index 9ddfc43c..b472eeb8 100644 --- a/src/libGLESv2/State.cpp +++ b/src/libGLESv2/State.cpp @@ -244,7 +244,7 @@ ClearParameters State::getClearParameters(GLbitfield mask) const { if (framebufferObject->getStencilbuffer() != NULL) { - rx::RenderTarget *depthStencil = framebufferObject->getStencilbuffer()->getDepthStencil(); + rx::RenderTarget *depthStencil = framebufferObject->getStencilbuffer()->getRenderTarget(); if (!depthStencil) { ERR("Depth stencil pointer unexpectedly null."); diff --git a/src/libGLESv2/Texture.cpp b/src/libGLESv2/Texture.cpp index 22a6f16a..4f745328 100644 --- a/src/libGLESv2/Texture.cpp +++ b/src/libGLESv2/Texture.cpp @@ -352,11 +352,6 @@ rx::RenderTarget *Texture2D::getRenderTarget(GLint level) return mTexture->getRenderTarget(level, 0); } -rx::RenderTarget *Texture2D::getDepthStencil(GLint level) -{ - return mTexture->getDepthStencil(level, 0); -} - // Tests for 2D texture (mipmap) completeness. [OpenGL ES 2.0.24] section 3.7.10 page 81. bool Texture2D::isMipmapComplete() const { @@ -622,11 +617,6 @@ rx::RenderTarget *TextureCubeMap::getRenderTarget(GLenum target, GLint level) return mTexture->getRenderTarget(level, targetToLayerIndex(target)); } -rx::RenderTarget *TextureCubeMap::getDepthStencil(GLenum target, GLint level) -{ - return mTexture->getDepthStencil(level, targetToLayerIndex(target)); -} - bool TextureCubeMap::isMipmapComplete() const { if (isImmutable()) @@ -802,11 +792,6 @@ rx::RenderTarget *Texture3D::getRenderTarget(GLint level, GLint layer) return mTexture->getRenderTarget(level, layer); } -rx::RenderTarget *Texture3D::getDepthStencil(GLint level, GLint layer) -{ - return mTexture->getDepthStencil(level, layer); -} - bool Texture3D::isMipmapComplete() const { int levelCount = mipLevels(); @@ -975,11 +960,6 @@ rx::RenderTarget *Texture2DArray::getRenderTarget(GLint level, GLint layer) return mTexture->getRenderTarget(level, layer); } -rx::RenderTarget *Texture2DArray::getDepthStencil(GLint level, GLint layer) -{ - return mTexture->getDepthStencil(level, layer); -} - bool Texture2DArray::isMipmapComplete() const { int levelCount = mipLevels(); diff --git a/src/libGLESv2/Texture.h b/src/libGLESv2/Texture.h index 0786a950..3008a848 100644 --- a/src/libGLESv2/Texture.h +++ b/src/libGLESv2/Texture.h @@ -129,7 +129,6 @@ class Texture2D : public Texture protected: friend class Texture2DAttachment; rx::RenderTarget *getRenderTarget(GLint level); - rx::RenderTarget *getDepthStencil(GLint level); private: DISALLOW_COPY_AND_ASSIGN(Texture2D); @@ -180,7 +179,6 @@ class TextureCubeMap : public Texture protected: friend class TextureCubeMapAttachment; rx::RenderTarget *getRenderTarget(GLenum target, GLint level); - rx::RenderTarget *getDepthStencil(GLenum target, GLint level); private: DISALLOW_COPY_AND_ASSIGN(TextureCubeMap); @@ -217,7 +215,6 @@ class Texture3D : public Texture protected: friend class Texture3DAttachment; rx::RenderTarget *getRenderTarget(GLint level, GLint layer); - rx::RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(Texture3D); @@ -254,7 +251,6 @@ class Texture2DArray : public Texture protected: friend class Texture2DArrayAttachment; rx::RenderTarget *getRenderTarget(GLint level, GLint layer); - rx::RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(Texture2DArray); diff --git a/src/libGLESv2/renderer/TextureImpl.h b/src/libGLESv2/renderer/TextureImpl.h index e9ac5544..c34485a3 100644 --- a/src/libGLESv2/renderer/TextureImpl.h +++ b/src/libGLESv2/renderer/TextureImpl.h @@ -60,7 +60,6 @@ class TextureImpl virtual unsigned int getRenderTargetSerial(GLint level, GLint layer) = 0; virtual RenderTarget *getRenderTarget(GLint level, GLint layer) = 0; - virtual RenderTarget *getDepthStencil(GLint level, GLint layer) = 0; virtual void bindTexImage(egl::Surface *surface) = 0; virtual void releaseTexImage() = 0; diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.cpp b/src/libGLESv2/renderer/d3d/TextureD3D.cpp index d5e3ad85..5e29e4b4 100644 --- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp +++ b/src/libGLESv2/renderer/d3d/TextureD3D.cpp @@ -518,34 +518,6 @@ RenderTarget *TextureD3D_2D::getRenderTarget(GLint level, GLint layer) } updateStorageLevel(level); - - // ensure this is NOT a depth texture - if (isDepth(level)) - { - return NULL; - } - - return mTexStorage->getRenderTarget(level); -} - -RenderTarget *TextureD3D_2D::getDepthStencil(GLint level, GLint layer) -{ - ASSERT(layer == 0); - - // ensure the underlying texture is created - if (!ensureRenderTarget()) - { - return NULL; - } - - updateStorageLevel(level); - - // ensure this is actually a depth texture - if (!isDepth(level)) - { - return NULL; - } - return mTexStorage->getRenderTarget(level); } @@ -1040,35 +1012,6 @@ RenderTarget *TextureD3D_Cube::getRenderTarget(GLint level, GLint layer) } updateStorageFaceLevel(layer, level); - - // ensure this is NOT a depth texture - if (isDepth(level, layer)) - { - return NULL; - } - - return mTexStorage->getRenderTarget(target, level); -} - -RenderTarget *TextureD3D_Cube::getDepthStencil(GLint level, GLint layer) -{ - GLenum target = gl::TextureCubeMap::layerIndexToTarget(layer); - ASSERT(gl::IsCubemapTextureTarget(target)); - - // ensure the underlying texture is created - if (!ensureRenderTarget()) - { - return NULL; - } - - updateStorageFaceLevel(layer, level); - - // ensure this is a depth texture - if (!isDepth(level, layer)) - { - return NULL; - } - return mTexStorage->getRenderTarget(target, level); } @@ -1565,31 +1508,6 @@ RenderTarget *TextureD3D_3D::getRenderTarget(GLint level, GLint layer) updateStorage(); - // ensure this is NOT a depth texture - if (isDepth(level)) - { - return NULL; - } - - return mTexStorage->getRenderTarget(level, layer); -} - -RenderTarget *TextureD3D_3D::getDepthStencil(GLint level, GLint layer) -{ - // ensure the underlying texture is created - if (!ensureRenderTarget()) - { - return NULL; - } - - updateStorageLevel(level); - - // ensure this is a depth texture - if (!isDepth(level)) - { - return NULL; - } - return mTexStorage->getRenderTarget(level, layer); } @@ -2058,32 +1976,6 @@ RenderTarget *TextureD3D_2DArray::getRenderTarget(GLint level, GLint layer) } updateStorageLevel(level); - - // ensure this is NOT a depth texture - if (isDepth(level)) - { - return NULL; - } - - return mTexStorage->getRenderTarget(level, layer); -} - -RenderTarget *TextureD3D_2DArray::getDepthStencil(GLint level, GLint layer) -{ - // ensure the underlying texture is created - if (!ensureRenderTarget()) - { - return NULL; - } - - updateStorageLevel(level); - - // ensure this is a depth texture - if (!isDepth(level)) - { - return NULL; - } - return mTexStorage->getRenderTarget(level, layer); } diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.h b/src/libGLESv2/renderer/d3d/TextureD3D.h index d7dcc96b..7f216307 100644 --- a/src/libGLESv2/renderer/d3d/TextureD3D.h +++ b/src/libGLESv2/renderer/d3d/TextureD3D.h @@ -114,7 +114,6 @@ class TextureD3D_2D : public TextureD3D virtual unsigned int getRenderTargetSerial(GLint level, GLint layer); virtual RenderTarget *getRenderTarget(GLint level, GLint layer); - virtual RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_2D); @@ -172,7 +171,6 @@ class TextureD3D_Cube : public TextureD3D virtual unsigned int getRenderTargetSerial(GLint level, GLint layer); virtual RenderTarget *getRenderTarget(GLint level, GLint layer); - virtual RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_Cube); @@ -231,7 +229,6 @@ class TextureD3D_3D : public TextureD3D virtual RenderTarget *getRenderTarget(GLint level); virtual RenderTarget *getRenderTarget(GLint level, GLint layer); - virtual RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_3D); @@ -288,7 +285,6 @@ class TextureD3D_2DArray : public TextureD3D virtual unsigned int getRenderTargetSerial(GLint level, GLint layer); virtual RenderTarget *getRenderTarget(GLint level, GLint layer); - virtual RenderTarget *getDepthStencil(GLint level, GLint layer); private: DISALLOW_COPY_AND_ASSIGN(TextureD3D_2DArray); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp index 072b630e..ba9970bf 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp @@ -286,7 +286,7 @@ void Clear11::clearFramebuffer(const gl::ClearParameters &clearParams, gl::Frame gl::FramebufferAttachment *attachment = frameBuffer->getDepthOrStencilbuffer(); if (attachment) { - RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getDepthStencil()); + RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getRenderTarget()); if (!renderTarget) { ERR("Depth stencil render target pointer unexpectedly null."); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp index 15060cf2..3a276e1a 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp @@ -858,7 +858,7 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) ID3D11DepthStencilView* framebufferDSV = NULL; if (depthStencil) { - RenderTarget11 *depthStencilRenderTarget = RenderTarget11::makeRenderTarget11(depthStencil->getDepthStencil()); + RenderTarget11 *depthStencilRenderTarget = RenderTarget11::makeRenderTarget11(depthStencil->getRenderTarget()); if (!depthStencilRenderTarget) { ERR("render target pointer unexpectedly null."); @@ -2567,8 +2567,9 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget *readRenderTarget = readBuffer->getDepthStencil(); - RenderTarget *drawRenderTarget = drawBuffer->getDepthStencil(); + RenderTarget *readRenderTarget = readBuffer->getRenderTarget(); + RenderTarget *drawRenderTarget = drawBuffer->getRenderTarget(); + ASSERT(readRenderTarget && drawRenderTarget); if (!blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, false, blitDepth, blitStencil)) diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp index db8a267e..e26dcc7b 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp @@ -1197,7 +1197,7 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) if (depthStencil) { IDirect3DSurface9 *depthStencilSurface = NULL; - RenderTarget *depthStencilRenderTarget = depthStencil->getDepthStencil(); + RenderTarget *depthStencilRenderTarget = depthStencil->getRenderTarget(); if (depthStencilRenderTarget) { @@ -2520,11 +2520,11 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (readBuffer) { - readDepthStencil = RenderTarget9::makeRenderTarget9(readBuffer->getDepthStencil()); + readDepthStencil = RenderTarget9::makeRenderTarget9(readBuffer->getRenderTarget()); } if (drawBuffer) { - drawDepthStencil = RenderTarget9::makeRenderTarget9(drawBuffer->getDepthStencil()); + drawDepthStencil = RenderTarget9::makeRenderTarget9(drawBuffer->getRenderTarget()); } if (readDepthStencil) -- cgit v1.2.3