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