Commit 391c8c50 by Geoff Lang

Added a RenderBuffer/RenderBufferInterface getTextureStorage method.

Change-Id: I710fba737524e735349ce1c0b09fa535555bd029 Reviewed-on: https://chromium-review.googlesource.com/177034Reviewed-by: 's avatarShannon Woods <shannonwoods@chromium.org> Commit-Queue: Shannon Woods <shannonwoods@chromium.org> Tested-by: 's avatarShannon Woods <shannonwoods@chromium.org>
parent e2e0ce0c
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "libGLESv2/Texture.h" #include "libGLESv2/Texture.h"
#include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/Renderer.h"
#include "libGLESv2/renderer/TextureStorage.h"
#include "common/utilities.h" #include "common/utilities.h"
#include "libGLESv2/formatutils.h" #include "libGLESv2/formatutils.h"
...@@ -70,6 +71,11 @@ rx::RenderTarget *RenderbufferTexture2D::getDepthStencil() ...@@ -70,6 +71,11 @@ rx::RenderTarget *RenderbufferTexture2D::getDepthStencil()
return mTexture2D->getDepthSencil(mLevel); return mTexture2D->getDepthSencil(mLevel);
} }
rx::TextureStorage *RenderbufferTexture2D::getTextureStorage()
{
return mTexture2D->getNativeTexture()->getStorageInstance();
}
GLsizei RenderbufferTexture2D::getWidth() const GLsizei RenderbufferTexture2D::getWidth() const
{ {
return mTexture2D->getWidth(mLevel); return mTexture2D->getWidth(mLevel);
...@@ -140,6 +146,11 @@ rx::RenderTarget *RenderbufferTextureCubeMap::getDepthStencil() ...@@ -140,6 +146,11 @@ rx::RenderTarget *RenderbufferTextureCubeMap::getDepthStencil()
return mTextureCubeMap->getDepthStencil(mFaceTarget, mLevel); return mTextureCubeMap->getDepthStencil(mFaceTarget, mLevel);
} }
rx::TextureStorage *RenderbufferTextureCubeMap::getTextureStorage()
{
return mTextureCubeMap->getNativeTexture()->getStorageInstance();
}
GLsizei RenderbufferTextureCubeMap::getWidth() const GLsizei RenderbufferTextureCubeMap::getWidth() const
{ {
return mTextureCubeMap->getWidth(mFaceTarget, mLevel); return mTextureCubeMap->getWidth(mFaceTarget, mLevel);
...@@ -210,6 +221,11 @@ rx::RenderTarget *RenderbufferTexture3DLayer::getDepthStencil() ...@@ -210,6 +221,11 @@ rx::RenderTarget *RenderbufferTexture3DLayer::getDepthStencil()
return mTexture3D->getDepthStencil(mLevel, mLayer); return mTexture3D->getDepthStencil(mLevel, mLayer);
} }
rx::TextureStorage *RenderbufferTexture3DLayer::getTextureStorage()
{
return mTexture3D->getNativeTexture()->getStorageInstance();
}
GLsizei RenderbufferTexture3DLayer::getWidth() const GLsizei RenderbufferTexture3DLayer::getWidth() const
{ {
return mTexture3D->getWidth(mLevel); return mTexture3D->getWidth(mLevel);
...@@ -278,6 +294,11 @@ rx::RenderTarget *RenderbufferTexture2DArrayLayer::getDepthStencil() ...@@ -278,6 +294,11 @@ rx::RenderTarget *RenderbufferTexture2DArrayLayer::getDepthStencil()
return mTexture2DArray->getDepthStencil(mLevel, mLayer); return mTexture2DArray->getDepthStencil(mLevel, mLayer);
} }
rx::TextureStorage *RenderbufferTexture2DArrayLayer::getTextureStorage()
{
return mTexture2DArray->getNativeTexture()->getStorageInstance();
}
GLsizei RenderbufferTexture2DArrayLayer::getWidth() const GLsizei RenderbufferTexture2DArrayLayer::getWidth() const
{ {
return mTexture2DArray->getWidth(mLevel); return mTexture2DArray->getWidth(mLevel);
...@@ -355,6 +376,11 @@ rx::RenderTarget *Renderbuffer::getDepthStencil() ...@@ -355,6 +376,11 @@ rx::RenderTarget *Renderbuffer::getDepthStencil()
return mInstance->getDepthStencil(); return mInstance->getDepthStencil();
} }
rx::TextureStorage *Renderbuffer::getTextureStorage()
{
return mInstance->getTextureStorage();
}
GLsizei Renderbuffer::getWidth() const GLsizei Renderbuffer::getWidth() const
{ {
return mInstance->getWidth(); return mInstance->getWidth();
...@@ -461,6 +487,11 @@ rx::RenderTarget *RenderbufferStorage::getDepthStencil() ...@@ -461,6 +487,11 @@ rx::RenderTarget *RenderbufferStorage::getDepthStencil()
return NULL; return NULL;
} }
rx::TextureStorage *RenderbufferStorage::getTextureStorage()
{
return NULL;
}
GLsizei RenderbufferStorage::getWidth() const GLsizei RenderbufferStorage::getWidth() const
{ {
return mWidth; return mWidth;
......
...@@ -24,6 +24,7 @@ namespace rx ...@@ -24,6 +24,7 @@ namespace rx
class Renderer; class Renderer;
class SwapChain; class SwapChain;
class RenderTarget; class RenderTarget;
class TextureStorage;
} }
namespace gl namespace gl
...@@ -48,6 +49,7 @@ class RenderbufferInterface ...@@ -48,6 +49,7 @@ class RenderbufferInterface
virtual rx::RenderTarget *getRenderTarget() = 0; virtual rx::RenderTarget *getRenderTarget() = 0;
virtual rx::RenderTarget *getDepthStencil() = 0; virtual rx::RenderTarget *getDepthStencil() = 0;
virtual rx::TextureStorage *getTextureStorage() = 0;
virtual GLsizei getWidth() const = 0; virtual GLsizei getWidth() const = 0;
virtual GLsizei getHeight() const = 0; virtual GLsizei getHeight() const = 0;
...@@ -74,6 +76,7 @@ class RenderbufferTexture2D : public RenderbufferInterface ...@@ -74,6 +76,7 @@ class RenderbufferTexture2D : public RenderbufferInterface
rx::RenderTarget *getRenderTarget(); rx::RenderTarget *getRenderTarget();
rx::RenderTarget *getDepthStencil(); rx::RenderTarget *getDepthStencil();
rx::TextureStorage *getTextureStorage();
virtual GLsizei getWidth() const; virtual GLsizei getWidth() const;
virtual GLsizei getHeight() const; virtual GLsizei getHeight() const;
...@@ -103,6 +106,7 @@ class RenderbufferTextureCubeMap : public RenderbufferInterface ...@@ -103,6 +106,7 @@ class RenderbufferTextureCubeMap : public RenderbufferInterface
rx::RenderTarget *getRenderTarget(); rx::RenderTarget *getRenderTarget();
rx::RenderTarget *getDepthStencil(); rx::RenderTarget *getDepthStencil();
rx::TextureStorage *getTextureStorage();
virtual GLsizei getWidth() const; virtual GLsizei getWidth() const;
virtual GLsizei getHeight() const; virtual GLsizei getHeight() const;
...@@ -133,6 +137,7 @@ public: ...@@ -133,6 +137,7 @@ public:
rx::RenderTarget *getRenderTarget(); rx::RenderTarget *getRenderTarget();
rx::RenderTarget *getDepthStencil(); rx::RenderTarget *getDepthStencil();
rx::TextureStorage *getTextureStorage();
virtual GLsizei getWidth() const; virtual GLsizei getWidth() const;
virtual GLsizei getHeight() const; virtual GLsizei getHeight() const;
...@@ -163,6 +168,7 @@ public: ...@@ -163,6 +168,7 @@ public:
rx::RenderTarget *getRenderTarget(); rx::RenderTarget *getRenderTarget();
rx::RenderTarget *getDepthStencil(); rx::RenderTarget *getDepthStencil();
rx::TextureStorage *getTextureStorage();
virtual GLsizei getWidth() const; virtual GLsizei getWidth() const;
virtual GLsizei getHeight() const; virtual GLsizei getHeight() const;
...@@ -193,6 +199,7 @@ class RenderbufferStorage : public RenderbufferInterface ...@@ -193,6 +199,7 @@ class RenderbufferStorage : public RenderbufferInterface
virtual rx::RenderTarget *getRenderTarget(); virtual rx::RenderTarget *getRenderTarget();
virtual rx::RenderTarget *getDepthStencil(); virtual rx::RenderTarget *getDepthStencil();
virtual rx::TextureStorage *getTextureStorage();
virtual GLsizei getWidth() const; virtual GLsizei getWidth() const;
virtual GLsizei getHeight() const; virtual GLsizei getHeight() const;
...@@ -239,6 +246,7 @@ class Renderbuffer : public RefCountObject ...@@ -239,6 +246,7 @@ class Renderbuffer : public RefCountObject
rx::RenderTarget *getRenderTarget(); rx::RenderTarget *getRenderTarget();
rx::RenderTarget *getDepthStencil(); rx::RenderTarget *getDepthStencil();
rx::TextureStorage *getTextureStorage();
GLsizei getWidth() const; GLsizei getWidth() const;
GLsizei getHeight() const; GLsizei getHeight() const;
......
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