Commit 6518fe24 by Brandon Jones

Moved TextureStorage and Image into d3d

BUG=angle:688 Change-Id: I98ffa1082340a829a77fe5082958898b9c6ab1a2 Reviewed-on: https://chromium-review.googlesource.com/207054Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Tested-by: 's avatarBrandon Jones <bajones@chromium.org>
parent d4cfa57d
...@@ -364,10 +364,6 @@ if (is_win) { ...@@ -364,10 +364,6 @@ if (is_win) {
"src/libGLESv2/renderer/FenceImpl.h", "src/libGLESv2/renderer/FenceImpl.h",
"src/libGLESv2/renderer/Image.cpp", "src/libGLESv2/renderer/Image.cpp",
"src/libGLESv2/renderer/Image.h", "src/libGLESv2/renderer/Image.h",
"src/libGLESv2/renderer/IndexBuffer.cpp",
"src/libGLESv2/renderer/IndexBuffer.h",
"src/libGLESv2/renderer/IndexDataManager.cpp",
"src/libGLESv2/renderer/IndexDataManager.h",
"src/libGLESv2/renderer/IndexRangeCache.cpp", "src/libGLESv2/renderer/IndexRangeCache.cpp",
"src/libGLESv2/renderer/IndexRangeCache.h", "src/libGLESv2/renderer/IndexRangeCache.h",
"src/libGLESv2/renderer/QueryImpl.h", "src/libGLESv2/renderer/QueryImpl.h",
...@@ -376,13 +372,7 @@ if (is_win) { ...@@ -376,13 +372,7 @@ if (is_win) {
"src/libGLESv2/renderer/Renderer.h", "src/libGLESv2/renderer/Renderer.h",
"src/libGLESv2/renderer/ShaderExecutable.h", "src/libGLESv2/renderer/ShaderExecutable.h",
"src/libGLESv2/renderer/SwapChain.h", "src/libGLESv2/renderer/SwapChain.h",
"src/libGLESv2/renderer/TextureStorage.cpp",
"src/libGLESv2/renderer/TextureStorage.h",
"src/libGLESv2/renderer/VertexArrayImpl.h", "src/libGLESv2/renderer/VertexArrayImpl.h",
"src/libGLESv2/renderer/VertexBuffer.cpp",
"src/libGLESv2/renderer/VertexBuffer.h",
"src/libGLESv2/renderer/VertexDataManager.cpp",
"src/libGLESv2/renderer/VertexDataManager.h",
"src/libGLESv2/renderer/copyimage.cpp", "src/libGLESv2/renderer/copyimage.cpp",
"src/libGLESv2/renderer/copyimage.h", "src/libGLESv2/renderer/copyimage.h",
"src/libGLESv2/renderer/copyvertex.h", "src/libGLESv2/renderer/copyvertex.h",
...@@ -419,8 +409,22 @@ if (is_win) { ...@@ -419,8 +409,22 @@ if (is_win) {
# Shared D3dD sources. # Shared D3dD sources.
if (angle_enable_d3d9 || angle_enable_d3d11) { if (angle_enable_d3d9 || angle_enable_d3d11) {
sources += [ sources += [
"src/libGLESv2/renderer/d3d/BufferD3D.cpp",
"src/libGLESv2/renderer/d3d/BufferD3D.h",
"src/libGLESv2/renderer/d3d/HLSLCompiler.cpp", "src/libGLESv2/renderer/d3d/HLSLCompiler.cpp",
"src/libGLESv2/renderer/d3d/HLSLCompiler.h", "src/libGLESv2/renderer/d3d/HLSLCompiler.h",
"src/libGLESv2/renderer/d3d/ImageD3D.cpp",
"src/libGLESv2/renderer/d3d/ImageD3D.h",
"src/libGLESv2/renderer/d3d/IndexBuffer.cpp",
"src/libGLESv2/renderer/d3d/IndexBuffer.h",
"src/libGLESv2/renderer/d3d/IndexDataManager.cpp",
"src/libGLESv2/renderer/d3d/IndexDataManager.h",
"src/libGLESv2/renderer/d3d/TextureStorage.cpp",
"src/libGLESv2/renderer/d3d/TextureStorage.h",
"src/libGLESv2/renderer/d3d/VertexBuffer.cpp",
"src/libGLESv2/renderer/d3d/VertexBuffer.h",
"src/libGLESv2/renderer/d3d/VertexDataManager.cpp",
"src/libGLESv2/renderer/d3d/VertexDataManager.h",
] ]
} }
......
...@@ -129,6 +129,7 @@ ...@@ -129,6 +129,7 @@
<ClInclude Include="..\..\src\libGLESv2\Shader.h"/> <ClInclude Include="..\..\src\libGLESv2\Shader.h"/>
<ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"/> <ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"/>
<ClInclude Include="..\..\src\libGLESv2\resource.h"/> <ClInclude Include="..\..\src\libGLESv2\resource.h"/>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"/>
<ClInclude Include="..\..\src\libGLESv2\Caps.h"/> <ClInclude Include="..\..\src\libGLESv2\Caps.h"/>
<ClInclude Include="..\..\src\libGLESv2\precompiled.h"/> <ClInclude Include="..\..\src\libGLESv2\precompiled.h"/>
<ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/> <ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/>
...@@ -145,7 +146,6 @@ ...@@ -145,7 +146,6 @@
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/> <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES3.h"/> <ClInclude Include="..\..\src\libGLESv2\validationES3.h"/>
<ClInclude Include="..\..\src\libGLESv2\Program.h"/> <ClInclude Include="..\..\src\libGLESv2\Program.h"/>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"/>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/> <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/> <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/> <ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/>
...@@ -158,7 +158,6 @@ ...@@ -158,7 +158,6 @@
<ClInclude Include="..\..\src\libGLESv2\formatutils.h"/> <ClInclude Include="..\..\src\libGLESv2\formatutils.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES.h"/> <ClInclude Include="..\..\src\libGLESv2\validationES.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"/>
...@@ -176,6 +175,8 @@ ...@@ -176,6 +175,8 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"/> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.h"/>
...@@ -331,7 +332,6 @@ ...@@ -331,7 +332,6 @@
<ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/> <ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/> <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/>
...@@ -342,6 +342,8 @@ ...@@ -342,6 +342,8 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/>
......
...@@ -87,6 +87,9 @@ ...@@ -87,6 +87,9 @@
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp"> <ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Caps.h"> <ClInclude Include="..\..\src\libGLESv2\Caps.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -183,9 +186,6 @@ ...@@ -183,9 +186,6 @@
<ClInclude Include="..\..\src\libGLESv2\Program.h"> <ClInclude Include="..\..\src\libGLESv2\Program.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"> <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h">
<Filter>src\libGLESv2</Filter> <Filter>src\libGLESv2</Filter>
</ClInclude> </ClInclude>
...@@ -261,15 +261,9 @@ ...@@ -261,15 +261,9 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h">
<Filter>src\libGLESv2\renderer</Filter> <Filter>src\libGLESv2\renderer</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<None Include="..\..\src\libGLESv2\renderer\loadimage.inl"> <None Include="..\..\src\libGLESv2\renderer\loadimage.inl">
<Filter>src\libGLESv2\renderer</Filter> <Filter>src\libGLESv2\renderer</Filter>
</None> </None>
<ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h">
<Filter>src\libGLESv2\renderer</Filter> <Filter>src\libGLESv2\renderer</Filter>
</ClInclude> </ClInclude>
...@@ -342,6 +336,9 @@ ...@@ -342,6 +336,9 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\BufferD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
...@@ -354,6 +351,15 @@ ...@@ -354,6 +351,15 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile> </ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\ImageD3D.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\TextureStorage.cpp">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h">
<Filter>src\libGLESv2\renderer\d3d</Filter> <Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude> </ClInclude>
...@@ -402,12 +408,12 @@ ...@@ -402,12 +408,12 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp">
<Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp">
<Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h"> <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Buffer11.h">
<Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
</ClInclude> </ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp">
<Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"> <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp">
<Filter>src\libGLESv2\renderer\d3d\d3d11</Filter> <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
</ClCompile> </ClCompile>
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,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 "libGLESv2/renderer/d3d/TextureStorage.h"
#include "common/utilities.h" #include "common/utilities.h"
#include "libGLESv2/formatutils.h" #include "libGLESv2/formatutils.h"
#include "libGLESv2/Renderbuffer.h" #include "libGLESv2/Renderbuffer.h"
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
#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"
#include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/FramebufferAttachment.h"
...@@ -127,11 +126,6 @@ rx::RenderTarget *RenderbufferStorage::getDepthStencil() ...@@ -127,11 +126,6 @@ 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;
......
...@@ -71,7 +71,6 @@ class RenderbufferStorage ...@@ -71,7 +71,6 @@ class RenderbufferStorage
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;
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
#include "libGLESv2/Renderbuffer.h" #include "libGLESv2/Renderbuffer.h"
#include "libGLESv2/renderer/Image.h" #include "libGLESv2/renderer/Image.h"
#include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/Renderer.h"
#include "libGLESv2/renderer/TextureStorage.h" #include "libGLESv2/renderer/d3d/ImageD3D.h"
#include "libGLESv2/renderer/d3d/TextureStorage.h"
#include "libEGL/Surface.h" #include "libEGL/Surface.h"
#include "libGLESv2/Buffer.h" #include "libGLESv2/Buffer.h"
#include "libGLESv2/renderer/BufferImpl.h" #include "libGLESv2/renderer/BufferImpl.h"
...@@ -446,7 +447,7 @@ void Texture2D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLsizei wi ...@@ -446,7 +447,7 @@ void Texture2D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLsizei wi
{ {
if (isValidLevel(level)) if (isValidLevel(level))
{ {
rx::Image *image = mImageArray[level]; rx::ImageD3D *image = rx::ImageD3D::makeImageD3D(mImageArray[level]);
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, width, height)) if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, width, height))
{ {
image->markClean(); image->markClean();
...@@ -575,7 +576,7 @@ void Texture2D::setCompleteTexStorage(rx::TextureStorageInterface2D *newComplete ...@@ -575,7 +576,7 @@ void Texture2D::setCompleteTexStorage(rx::TextureStorageInterface2D *newComplete
{ {
for (int level = 0; level < mTexStorage->getLevelCount(); level++) for (int level = 0; level < mTexStorage->getLevelCount(); level++)
{ {
mImageArray[level]->setManagedSurface(mTexStorage, level); rx::ImageD3D::makeImageD3D(mImageArray[level])->setManagedSurface(mTexStorage, level);
} }
} }
...@@ -994,7 +995,7 @@ void TextureCubeMap::commitRect(int faceIndex, GLint level, GLint xoffset, GLint ...@@ -994,7 +995,7 @@ void TextureCubeMap::commitRect(int faceIndex, GLint level, GLint xoffset, GLint
{ {
if (isValidFaceLevel(faceIndex, level)) if (isValidFaceLevel(faceIndex, level))
{ {
rx::Image *image = mImageArray[faceIndex][level]; rx::ImageD3D *image = rx::ImageD3D::makeImageD3D(mImageArray[faceIndex][level]);
if (image->copyToStorage(mTexStorage, faceIndex, level, xoffset, yoffset, width, height)) if (image->copyToStorage(mTexStorage, faceIndex, level, xoffset, yoffset, width, height))
image->markClean(); image->markClean();
} }
...@@ -1213,7 +1214,7 @@ void TextureCubeMap::setCompleteTexStorage(rx::TextureStorageInterfaceCube *newC ...@@ -1213,7 +1214,7 @@ void TextureCubeMap::setCompleteTexStorage(rx::TextureStorageInterfaceCube *newC
{ {
for (int level = 0; level < mTexStorage->getLevelCount(); level++) for (int level = 0; level < mTexStorage->getLevelCount(); level++)
{ {
mImageArray[faceIndex][level]->setManagedSurface(mTexStorage, faceIndex, level); rx::ImageD3D::makeImageD3D(mImageArray[faceIndex][level])->setManagedSurface(mTexStorage, faceIndex, level);
} }
} }
} }
...@@ -2027,7 +2028,7 @@ void Texture3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoff ...@@ -2027,7 +2028,7 @@ void Texture3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoff
{ {
if (isValidLevel(level)) if (isValidLevel(level))
{ {
rx::Image *image = mImageArray[level]; rx::ImageD3D *image = rx::ImageD3D::makeImageD3D(mImageArray[level]);
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, zoffset, width, height, depth)) if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, zoffset, width, height, depth))
{ {
image->markClean(); image->markClean();
...@@ -2566,7 +2567,7 @@ void Texture2DArray::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint ...@@ -2566,7 +2567,7 @@ void Texture2DArray::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint
{ {
if (isValidLevel(level) && layerTarget < getLayers(level)) if (isValidLevel(level) && layerTarget < getLayers(level))
{ {
rx::Image *image = mImageArray[level][layerTarget]; rx::ImageD3D *image = rx::ImageD3D::makeImageD3D(mImageArray[level][layerTarget]);
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, layerTarget, width, height)) if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, layerTarget, width, height))
{ {
image->markClean(); image->markClean();
......
...@@ -20,11 +20,8 @@ class Framebuffer; ...@@ -20,11 +20,8 @@ class Framebuffer;
namespace rx namespace rx
{ {
class Renderer; class Renderer;
class TextureStorageInterface2D;
class TextureStorageInterfaceCube;
class TextureStorageInterface3D;
class TextureStorageInterface2DArray;
class Image class Image
{ {
...@@ -44,15 +41,6 @@ class Image ...@@ -44,15 +41,6 @@ class Image
void markClean() {mDirty = false;} void markClean() {mDirty = false;}
virtual bool isDirty() const = 0; virtual bool isDirty() const = 0;
virtual void setManagedSurface(TextureStorageInterface2D *storage, int level) {};
virtual void setManagedSurface(TextureStorageInterfaceCube *storage, int face, int level) {};
virtual void setManagedSurface(TextureStorageInterface3D *storage, int level) {};
virtual void setManagedSurface(TextureStorageInterface2DArray *storage, int layer, int level) {};
virtual bool copyToStorage(TextureStorageInterface2D *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0;
virtual bool copyToStorage(TextureStorageInterfaceCube *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0;
virtual bool copyToStorage(TextureStorageInterface3D *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) = 0;
virtual bool copyToStorage(TextureStorageInterface2DArray *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height) = 0;
virtual bool redefine(Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease) = 0; virtual bool redefine(Renderer *renderer, GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, bool forceRelease) = 0;
virtual void loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, virtual void loadData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
......
#include "precompiled.h"
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Image.h: Implements the rx::Image class, an abstract base class for the
// renderer-specific classes which will define the interface to the underlying
// surfaces or resources.
#include "libGLESv2/renderer/d3d/ImageD3D.h"
namespace rx
{
ImageD3D::ImageD3D()
{
}
ImageD3D *ImageD3D::makeImageD3D(Image *img)
{
ASSERT(HAS_DYNAMIC_TYPE(rx::ImageD3D*, img));
return static_cast<rx::ImageD3D*>(img);
}
}
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Image.h: Defines the rx::Image class, an abstract base class for the
// renderer-specific classes which will define the interface to the underlying
// surfaces or resources.
#ifndef LIBGLESV2_RENDERER_IMAGED3D_H_
#define LIBGLESV2_RENDERER_IMAGED3D_H_
#include "common/debug.h"
#include "libGLESv2/renderer/Image.h"
namespace gl
{
class Framebuffer;
}
namespace rx
{
class TextureStorageInterface2D;
class TextureStorageInterfaceCube;
class TextureStorageInterface3D;
class TextureStorageInterface2DArray;
class ImageD3D : public Image
{
public:
ImageD3D();
virtual ~ImageD3D() {};
static ImageD3D *ImageD3D::makeImageD3D(Image *img);
virtual bool isDirty() const = 0;
virtual void setManagedSurface(TextureStorageInterface2D *storage, int level) {};
virtual void setManagedSurface(TextureStorageInterfaceCube *storage, int face, int level) {};
virtual void setManagedSurface(TextureStorageInterface3D *storage, int level) {};
virtual void setManagedSurface(TextureStorageInterface2DArray *storage, int layer, int level) {};
virtual bool copyToStorage(TextureStorageInterface2D *storage, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0;
virtual bool copyToStorage(TextureStorageInterfaceCube *storage, int face, int level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height) = 0;
virtual bool copyToStorage(TextureStorageInterface3D *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) = 0;
virtual bool copyToStorage(TextureStorageInterface2DArray *storage, int level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height) = 0;
private:
DISALLOW_COPY_AND_ASSIGN(ImageD3D);
};
}
#endif // LIBGLESV2_RENDERER_IMAGED3D_H_
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
// classes TextureStorageInterface2D and TextureStorageInterfaceCube, which act as the interface to the // classes TextureStorageInterface2D and TextureStorageInterfaceCube, which act as the interface to the
// GPU-side texture. // GPU-side texture.
#include "libGLESv2/renderer/TextureStorage.h" #include "libGLESv2/renderer/d3d/TextureStorage.h"
#include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/Renderer.h"
#include "libGLESv2/Renderbuffer.h" #include "libGLESv2/Renderbuffer.h"
#include "libGLESv2/Texture.h" #include "libGLESv2/Texture.h"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#ifndef LIBGLESV2_RENDERER_IMAGE11_H_ #ifndef LIBGLESV2_RENDERER_IMAGE11_H_
#define LIBGLESV2_RENDERER_IMAGE11_H_ #define LIBGLESV2_RENDERER_IMAGE11_H_
#include "libGLESv2/renderer/Image.h" #include "libGLESv2/renderer/d3d/ImageD3D.h"
#include "common/debug.h" #include "common/debug.h"
...@@ -26,7 +26,7 @@ class Renderer11; ...@@ -26,7 +26,7 @@ class Renderer11;
class TextureStorageInterface2D; class TextureStorageInterface2D;
class TextureStorageInterfaceCube; class TextureStorageInterfaceCube;
class Image11 : public Image class Image11 : public ImageD3D
{ {
public: public:
Image11(); Image11();
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#define LIBGLESV2_RENDERER_TEXTURESTORAGE11_H_ #define LIBGLESV2_RENDERER_TEXTURESTORAGE11_H_
#include "libGLESv2/Texture.h" #include "libGLESv2/Texture.h"
#include "libGLESv2/renderer/TextureStorage.h" #include "libGLESv2/renderer/d3d/TextureStorage.h"
namespace rx namespace rx
{ {
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#ifndef LIBGLESV2_RENDERER_IMAGE9_H_ #ifndef LIBGLESV2_RENDERER_IMAGE9_H_
#define LIBGLESV2_RENDERER_IMAGE9_H_ #define LIBGLESV2_RENDERER_IMAGE9_H_
#include "libGLESv2/renderer/Image.h" #include "libGLESv2/renderer/d3d/ImageD3D.h"
#include "common/debug.h" #include "common/debug.h"
namespace gl namespace gl
...@@ -25,7 +25,7 @@ class Renderer9; ...@@ -25,7 +25,7 @@ class Renderer9;
class TextureStorageInterface2D; class TextureStorageInterface2D;
class TextureStorageInterfaceCube; class TextureStorageInterfaceCube;
class Image9 : public Image class Image9 : public ImageD3D
{ {
public: public:
Image9(); Image9();
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_ #ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_
#define LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_ #define LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_
#include "libGLESv2/renderer/TextureStorage.h" #include "libGLESv2/renderer/d3d/TextureStorage.h"
#include "common/debug.h" #include "common/debug.h"
namespace rx namespace rx
......
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