Commit b4dedf3e by Geoff Lang

Merge the Image class into ImageD3D.

BUG=angle:681 Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2 Reviewed-on: https://chromium-review.googlesource.com/238470Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 909b90ce
......@@ -7,12 +7,8 @@
// Texture.cpp: Implements the gl::Texture class. [OpenGL ES 2.0.24] section 3.7 page 63.
#include "libANGLE/Texture.h"
#include "libANGLE/Context.h"
#include "libANGLE/Data.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/ImageIndex.h"
#include "libANGLE/Renderbuffer.h"
#include "libANGLE/renderer/Image.h"
#include "libANGLE/renderer/d3d/TextureStorage.h"
#include "libANGLE/Surface.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 "libANGLE/renderer/Image.h"
namespace rx
{
Image::Image()
{
mWidth = 0;
mHeight = 0;
mDepth = 0;
mInternalFormat = GL_NONE;
mTarget = GL_NONE;
mRenderable = false;
mDirty = false;
}
}
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2002-2015 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.
//
......@@ -18,15 +18,16 @@ namespace rx
{
ImageD3D::ImageD3D()
: mWidth(0),
mHeight(0),
mDepth(0),
mInternalFormat(GL_NONE),
mTarget(GL_NONE),
mRenderable(false),
mDirty(false)
{
}
ImageD3D *ImageD3D::makeImageD3D(Image *img)
{
ASSERT(HAS_DYNAMIC_TYPE(ImageD3D*, img));
return static_cast<ImageD3D*>(img);
}
gl::Error ImageD3D::copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea, const gl::Framebuffer *source)
{
gl::FramebufferAttachment *colorbuffer = source->getReadColorbuffer();
......
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2002-2015 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
// ImageD3D.h: Defines the rx::ImageD3D class, an abstract base class for the
// renderer-specific classes which will define the interface to the underlying
// surfaces or resources.
......@@ -12,36 +12,67 @@
#define LIBANGLE_RENDERER_D3D_IMAGED3D_H_
#include "common/debug.h"
#include "libANGLE/renderer/Image.h"
#include "libANGLE/Error.h"
namespace gl
{
class Framebuffer;
struct ImageIndex;
struct Box;
struct Extents;
struct Offset;
struct Rectangle;
}
namespace rx
{
class TextureStorage;
class RendererD3D;
class RenderTarget;
class ImageD3D : public Image
class ImageD3D
{
public:
ImageD3D();
virtual ~ImageD3D() {};
static ImageD3D *makeImageD3D(Image *img);
GLsizei getWidth() const { return mWidth; }
GLsizei getHeight() const { return mHeight; }
GLsizei getDepth() const { return mDepth; }
GLenum getInternalFormat() const { return mInternalFormat; }
GLenum getTarget() const { return mTarget; }
bool isRenderableFormat() const { return mRenderable; }
void markDirty() { mDirty = true; }
void markClean() { mDirty = false; }
virtual bool isDirty() const = 0;
virtual bool redefine(GLenum target, GLenum internalformat, const gl::Extents &size, bool forceRelease) = 0;
virtual gl::Error loadData(const gl::Box &area, GLint unpackAlignment, GLenum type, const void *input) = 0;
virtual gl::Error loadCompressedData(const gl::Box &area, const void *input) = 0;
virtual gl::Error setManagedSurface2D(TextureStorage *storage, int level) { return gl::Error(GL_NO_ERROR); };
virtual gl::Error setManagedSurfaceCube(TextureStorage *storage, int face, int level) { return gl::Error(GL_NO_ERROR); };
virtual gl::Error setManagedSurface3D(TextureStorage *storage, int level) { return gl::Error(GL_NO_ERROR); };
virtual gl::Error setManagedSurface2DArray(TextureStorage *storage, int layer, int level) { return gl::Error(GL_NO_ERROR); };
virtual gl::Error copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box &region) = 0;
gl::Error copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea, const gl::Framebuffer *source) override;
virtual gl::Error copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea,
const gl::ImageIndex &sourceIndex, TextureStorage *source) = 0;
gl::Error copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea, const gl::Framebuffer *source);
protected:
GLsizei mWidth;
GLsizei mHeight;
GLsizei mDepth;
GLenum mInternalFormat;
bool mRenderable;
GLenum mTarget;
bool mDirty;
private:
DISALLOW_COPY_AND_ASSIGN(ImageD3D);
......
......@@ -26,7 +26,7 @@ class Texture;
namespace rx
{
class Image;
class ImageD3D;
class IndexBuffer;
class RenderTarget;
class ShaderExecutable;
......@@ -130,8 +130,8 @@ class RendererD3D : public Renderer
virtual UniformStorage *createUniformStorage(size_t storageSize) = 0;
// Image operations
virtual Image *createImage() = 0;
virtual gl::Error generateMipmap(Image *dest, Image *source) = 0;
virtual ImageD3D *createImage() = 0;
virtual gl::Error generateMipmap(ImageD3D *dest, ImageD3D *source) = 0;
virtual TextureStorage *createTextureStorage2D(SwapChain *swapChain) = 0;
virtual TextureStorage *createTextureStorage2D(GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly) = 0;
virtual TextureStorage *createTextureStorageCube(GLenum internalformat, bool renderTarget, int size, int levels) = 0;
......
......@@ -99,19 +99,19 @@ TextureStorage *TextureD3D::getNativeTexture()
GLint TextureD3D::getBaseLevelWidth() const
{
const Image *baseImage = getBaseLevelImage();
const ImageD3D *baseImage = getBaseLevelImage();
return (baseImage ? baseImage->getWidth() : 0);
}
GLint TextureD3D::getBaseLevelHeight() const
{
const Image *baseImage = getBaseLevelImage();
const ImageD3D *baseImage = getBaseLevelImage();
return (baseImage ? baseImage->getHeight() : 0);
}
GLint TextureD3D::getBaseLevelDepth() const
{
const Image *baseImage = getBaseLevelImage();
const ImageD3D *baseImage = getBaseLevelImage();
return (baseImage ? baseImage->getDepth() : 0);
}
......@@ -120,11 +120,11 @@ GLint TextureD3D::getBaseLevelDepth() const
// the base level image for anything except querying texture format and size.
GLenum TextureD3D::getBaseLevelInternalFormat() const
{
const Image *baseImage = getBaseLevelImage();
const ImageD3D *baseImage = getBaseLevelImage();
return (baseImage ? baseImage->getInternalFormat() : GL_NONE);
}
bool TextureD3D::shouldUseSetData(const Image *image) const
bool TextureD3D::shouldUseSetData(const ImageD3D *image) const
{
if (!mRenderer->getWorkarounds().setDataFasterThanImageUpload)
{
......@@ -146,7 +146,7 @@ bool TextureD3D::shouldUseSetData(const Image *image) const
gl::Error TextureD3D::setImage(const gl::ImageIndex &index, GLenum type, const gl::PixelUnpackState &unpack, const uint8_t *pixels)
{
Image *image = getImage(index);
ImageD3D *image = getImage(index);
ASSERT(image);
// No-op
......@@ -202,7 +202,7 @@ gl::Error TextureD3D::subImage(const gl::ImageIndex &index, const gl::Box &area,
if (pixelData != NULL)
{
Image *image = getImage(index);
ImageD3D *image = getImage(index);
ASSERT(image);
if (shouldUseSetData(image))
......@@ -241,7 +241,7 @@ gl::Error TextureD3D::setCompressedImage(const gl::ImageIndex &index, const gl::
if (pixelData != NULL)
{
Image *image = getImage(index);
ImageD3D *image = getImage(index);
ASSERT(image);
gl::Box fullImageArea(0, 0, 0, image->getWidth(), image->getHeight(), image->getDepth());
......@@ -269,7 +269,7 @@ gl::Error TextureD3D::subImageCompressed(const gl::ImageIndex &index, const gl::
if (pixelData != NULL)
{
Image *image = getImage(index);
ImageD3D *image = getImage(index);
ASSERT(image);
gl::Error error = image->loadCompressedData(area, pixelData);
......@@ -338,7 +338,7 @@ TextureStorage *TextureD3D::getStorage()
return mTexStorage;
}
Image *TextureD3D::getBaseLevelImage() const
ImageD3D *TextureD3D::getBaseLevelImage() const
{
return getImage(getImageIndex(0, 0));
}
......@@ -380,7 +380,7 @@ gl::Error TextureD3D::generateMipmaps()
{
gl::ImageIndex srcIndex = getImageIndex(0, layer);
Image *image = getImage(srcIndex);
ImageD3D *image = getImage(srcIndex);
gl::Rectangle area(0, 0, image->getWidth(), image->getHeight());
gl::Offset offset(0, 0, 0);
gl::Error error = image->copy(offset, area, srcIndex, mTexStorage);
......@@ -442,7 +442,7 @@ gl::Error TextureD3D::generateMipmaps()
bool TextureD3D::isBaseImageZeroSize() const
{
Image *baseImage = getBaseLevelImage();
ImageD3D *baseImage = getBaseLevelImage();
if (!baseImage || baseImage->getWidth() <= 0)
{
......@@ -508,7 +508,7 @@ gl::Error TextureD3D::ensureRenderTarget()
bool TextureD3D::canCreateRenderTargetForImage(const gl::ImageIndex &index) const
{
Image *image = getImage(index);
ImageD3D *image = getImage(index);
bool levelsComplete = (isImageComplete(index) && isImageComplete(getImageIndex(0, 0)));
return (image->isRenderableFormat() && levelsComplete);
}
......@@ -518,9 +518,8 @@ gl::Error TextureD3D::commitRegion(const gl::ImageIndex &index, const gl::Box &r
if (mTexStorage)
{
ASSERT(isValidIndex(index));
Image *image = getImage(index);
ImageD3D *imageD3D = ImageD3D::makeImageD3D(image);
gl::Error error = imageD3D->copyToStorage(mTexStorage, index, region);
ImageD3D *image = getImage(index);
gl::Error error = image->copyToStorage(mTexStorage, index, region);
if (error.isError())
{
return error;
......@@ -537,7 +536,7 @@ TextureD3D_2D::TextureD3D_2D(RendererD3D *renderer)
{
for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i)
{
mImageArray[i] = ImageD3D::makeImageD3D(renderer->createImage());
mImageArray[i] = renderer->createImage();
}
}
......@@ -554,14 +553,14 @@ TextureD3D_2D::~TextureD3D_2D()
SafeDelete(mTexStorage);
}
Image *TextureD3D_2D::getImage(int level, int layer) const
ImageD3D *TextureD3D_2D::getImage(int level, int layer) const
{
ASSERT(level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(layer == 0);
return mImageArray[level];
}
Image *TextureD3D_2D::getImage(const gl::ImageIndex &index) const
ImageD3D *TextureD3D_2D::getImage(const gl::ImageIndex &index) const
{
ASSERT(index.mipIndex < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(!index.hasLayer());
......@@ -929,7 +928,7 @@ bool TextureD3D_2D::isLevelComplete(int level) const
return true;
}
const Image *baseImage = getBaseLevelImage();
const ImageD3D *baseImage = getBaseLevelImage();
GLsizei width = baseImage->getWidth();
GLsizei height = baseImage->getHeight();
......@@ -1160,7 +1159,7 @@ TextureD3D_Cube::TextureD3D_Cube(RendererD3D *renderer)
{
for (int j = 0; j < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++j)
{
mImageArray[i][j] = ImageD3D::makeImageD3D(renderer->createImage());
mImageArray[i][j] = renderer->createImage();
}
}
}
......@@ -1181,14 +1180,14 @@ TextureD3D_Cube::~TextureD3D_Cube()
SafeDelete(mTexStorage);
}
Image *TextureD3D_Cube::getImage(int level, int layer) const
ImageD3D *TextureD3D_Cube::getImage(int level, int layer) const
{
ASSERT(level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(layer >= 0 && layer < 6);
return mImageArray[layer][level];
}
Image *TextureD3D_Cube::getImage(const gl::ImageIndex &index) const
ImageD3D *TextureD3D_Cube::getImage(const gl::ImageIndex &index) const
{
ASSERT(index.mipIndex < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(index.layerIndex >= 0 && index.layerIndex < 6);
......@@ -1702,7 +1701,7 @@ TextureD3D_3D::TextureD3D_3D(RendererD3D *renderer)
{
for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i)
{
mImageArray[i] = ImageD3D::makeImageD3D(renderer->createImage());
mImageArray[i] = renderer->createImage();
}
}
......@@ -1719,14 +1718,14 @@ TextureD3D_3D::~TextureD3D_3D()
SafeDelete(mTexStorage);
}
Image *TextureD3D_3D::getImage(int level, int layer) const
ImageD3D *TextureD3D_3D::getImage(int level, int layer) const
{
ASSERT(level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(layer == 0);
return mImageArray[level];
}
Image *TextureD3D_3D::getImage(const gl::ImageIndex &index) const
ImageD3D *TextureD3D_3D::getImage(const gl::ImageIndex &index) const
{
ASSERT(index.mipIndex < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT(!index.hasLayer());
......@@ -2272,7 +2271,7 @@ TextureD3D_2DArray::~TextureD3D_2DArray()
SafeDelete(mTexStorage);
}
Image *TextureD3D_2DArray::getImage(int level, int layer) const
ImageD3D *TextureD3D_2DArray::getImage(int level, int layer) const
{
ASSERT(level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT((layer == 0 && mLayerCounts[level] == 0) ||
......@@ -2280,7 +2279,7 @@ Image *TextureD3D_2DArray::getImage(int level, int layer) const
return (mImageArray[level] ? mImageArray[level][layer] : NULL);
}
Image *TextureD3D_2DArray::getImage(const gl::ImageIndex &index) const
ImageD3D *TextureD3D_2DArray::getImage(const gl::ImageIndex &index) const
{
ASSERT(index.mipIndex < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS);
ASSERT((index.layerIndex == 0 && mLayerCounts[index.mipIndex] == 0) ||
......@@ -2498,7 +2497,7 @@ gl::Error TextureD3D_2DArray::setStorage(GLenum target, size_t levels, GLenum in
for (int layer = 0; layer < mLayerCounts[level]; layer++)
{
mImageArray[level][layer] = ImageD3D::makeImageD3D(mRenderer->createImage());
mImageArray[level][layer] = mRenderer->createImage();
mImageArray[level][layer]->redefine(GL_TEXTURE_2D_ARRAY, internalFormat, levelLayerSize, true);
}
}
......@@ -2778,7 +2777,7 @@ void TextureD3D_2DArray::redefineImage(GLint level, GLenum internalformat, const
for (int layer = 0; layer < mLayerCounts[level]; layer++)
{
mImageArray[level][layer] = ImageD3D::makeImageD3D(mRenderer->createImage());
mImageArray[level][layer] = mRenderer->createImage();
mImageArray[level][layer]->redefine(GL_TEXTURE_2D_ARRAY, internalformat,
gl::Extents(size.width, size.height, 1), false);
}
......
......@@ -21,7 +21,7 @@ class Framebuffer;
namespace rx
{
class Image;
class ImageD3D;
class ImageD3D;
class RendererD3D;
class RenderTarget;
......@@ -41,7 +41,7 @@ class TextureD3D : public TextureImpl
bool hasDirtyImages() const { return mDirtyImages; }
void resetDirty() { mDirtyImages = false; }
virtual Image *getImage(const gl::ImageIndex &index) const = 0;
virtual ImageD3D *getImage(const gl::ImageIndex &index) const = 0;
virtual GLsizei getLayerCount(int level) const = 0;
GLint getBaseLevelWidth() const;
......@@ -64,7 +64,7 @@ class TextureD3D : public TextureImpl
virtual gl::Error generateMipmaps();
TextureStorage *getStorage();
Image *getBaseLevelImage() const;
ImageD3D *getBaseLevelImage() const;
protected:
gl::Error setImage(const gl::ImageIndex &index, GLenum type, const gl::PixelUnpackState &unpack, const uint8_t *pixels);
......@@ -106,7 +106,7 @@ class TextureD3D : public TextureImpl
virtual gl::Error updateStorage() = 0;
bool shouldUseSetData(const Image *image) const;
bool shouldUseSetData(const ImageD3D *image) const;
};
class TextureD3D_2D : public TextureD3D
......@@ -115,8 +115,8 @@ class TextureD3D_2D : public TextureD3D
TextureD3D_2D(RendererD3D *renderer);
virtual ~TextureD3D_2D();
virtual Image *getImage(int level, int layer) const;
virtual Image *getImage(const gl::ImageIndex &index) const;
virtual ImageD3D *getImage(int level, int layer) const;
virtual ImageD3D *getImage(const gl::ImageIndex &index) const;
virtual GLsizei getLayerCount(int level) const;
GLsizei getWidth(GLint level) const;
......@@ -178,8 +178,8 @@ class TextureD3D_Cube : public TextureD3D
TextureD3D_Cube(RendererD3D *renderer);
virtual ~TextureD3D_Cube();
virtual Image *getImage(int level, int layer) const;
virtual Image *getImage(const gl::ImageIndex &index) const;
virtual ImageD3D *getImage(int level, int layer) const;
virtual ImageD3D *getImage(const gl::ImageIndex &index) const;
virtual GLsizei getLayerCount(int level) const;
virtual bool hasDirtyImages() const { return mDirtyImages; }
......@@ -243,8 +243,8 @@ class TextureD3D_3D : public TextureD3D
TextureD3D_3D(RendererD3D *renderer);
virtual ~TextureD3D_3D();
virtual Image *getImage(int level, int layer) const;
virtual Image *getImage(const gl::ImageIndex &index) const;
virtual ImageD3D *getImage(int level, int layer) const;
virtual ImageD3D *getImage(const gl::ImageIndex &index) const;
virtual GLsizei getLayerCount(int level) const;
GLsizei getWidth(GLint level) const;
......@@ -306,8 +306,8 @@ class TextureD3D_2DArray : public TextureD3D
TextureD3D_2DArray(RendererD3D *renderer);
virtual ~TextureD3D_2DArray();
virtual Image *getImage(int level, int layer) const;
virtual Image *getImage(const gl::ImageIndex &index) const;
virtual ImageD3D *getImage(int level, int layer) const;
virtual ImageD3D *getImage(const gl::ImageIndex &index) const;
virtual GLsizei getLayerCount(int level) const;
GLsizei getWidth(GLint level) const;
......
......@@ -28,7 +28,7 @@ namespace rx
{
class SwapChain;
class RenderTarget;
class Image;
class ImageD3D;
class TextureStorage
{
......@@ -45,7 +45,7 @@ class TextureStorage
virtual gl::Error generateMipmap(const gl::ImageIndex &sourceIndex, const gl::ImageIndex &destIndex) = 0;
virtual gl::Error copyToStorage(TextureStorage *destStorage) = 0;
virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type,
virtual gl::Error setData(const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type,
const gl::PixelUnpackState &unpack, const uint8_t *pixelData) = 0;
unsigned int getRenderTargetSerial(const gl::ImageIndex &index) const;
......
......@@ -42,7 +42,7 @@ Image11::~Image11()
releaseStagingTexture();
}
Image11 *Image11::makeImage11(Image *img)
Image11 *Image11::makeImage11(ImageD3D *img)
{
ASSERT(HAS_DYNAMIC_TYPE(Image11*, img));
return static_cast<Image11*>(img);
......
......@@ -31,7 +31,7 @@ class Image11 : public ImageD3D
Image11(Renderer11 *renderer);
virtual ~Image11();
static Image11 *makeImage11(Image *img);
static Image11 *makeImage11(ImageD3D *img);
static gl::Error generateMipmap(Image11 *dest, Image11 *src);
......
......@@ -2767,12 +2767,12 @@ gl::Error Renderer11::fastCopyBufferToTexture(const gl::PixelUnpackState &unpack
return mPixelTransfer->copyBufferToTexture(unpack, offset, destRenderTarget, destinationFormat, sourcePixelsType, destArea);
}
Image *Renderer11::createImage()
ImageD3D *Renderer11::createImage()
{
return new Image11(this);
}
gl::Error Renderer11::generateMipmap(Image *dest, Image *src)
gl::Error Renderer11::generateMipmap(ImageD3D *dest, ImageD3D *src)
{
Image11 *dest11 = Image11::makeImage11(dest);
Image11 *src11 = Image11::makeImage11(src);
......
......@@ -151,8 +151,8 @@ class Renderer11 : public RendererD3D
virtual UniformStorage *createUniformStorage(size_t storageSize);
// Image operations
virtual Image *createImage();
gl::Error generateMipmap(Image *dest, Image *source) override;
virtual ImageD3D *createImage();
gl::Error generateMipmap(ImageD3D *dest, ImageD3D *source) override;
virtual TextureStorage *createTextureStorage2D(SwapChain *swapChain);
virtual TextureStorage *createTextureStorage2D(GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly);
virtual TextureStorage *createTextureStorageCube(GLenum internalformat, bool renderTarget, int size, int levels);
......
......@@ -501,7 +501,7 @@ gl::Error TextureStorage11::copyToStorage(TextureStorage *destStorage)
return gl::Error(GL_NO_ERROR);
}
gl::Error TextureStorage11::setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type,
gl::Error TextureStorage11::setData(const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type,
const gl::PixelUnpackState &unpack, const uint8_t *pixelData)
{
ID3D11Resource *resource = NULL;
......
......@@ -68,7 +68,7 @@ class TextureStorage11 : public TextureStorage
virtual gl::Error releaseAssociatedImage(const gl::ImageIndex &index, Image11* incomingImage) = 0;
virtual gl::Error copyToStorage(TextureStorage *destStorage);
virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type,
virtual gl::Error setData(const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type,
const gl::PixelUnpackState &unpack, const uint8_t *pixelData);
protected:
......
......@@ -93,7 +93,7 @@ gl::Error Image9::generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9
return gl::Error(GL_NO_ERROR);
}
Image9 *Image9::makeImage9(Image *img)
Image9 *Image9::makeImage9(ImageD3D *img)
{
ASSERT(HAS_DYNAMIC_TYPE(Image9*, img));
return static_cast<Image9*>(img);
......
......@@ -28,7 +28,7 @@ class Image9 : public ImageD3D
Image9(Renderer9 *renderer);
~Image9();
static Image9 *makeImage9(Image *img);
static Image9 *makeImage9(ImageD3D *img);
static gl::Error generateMipmap(Image9 *dest, Image9 *source);
static gl::Error generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9 *sourceSurface);
......
......@@ -2808,12 +2808,12 @@ gl::Error Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurfac
return gl::Error(GL_NO_ERROR);
}
Image *Renderer9::createImage()
ImageD3D *Renderer9::createImage()
{
return new Image9(this);
}
gl::Error Renderer9::generateMipmap(Image *dest, Image *src)
gl::Error Renderer9::generateMipmap(ImageD3D *dest, ImageD3D *src)
{
Image9 *src9 = Image9::makeImage9(src);
Image9 *dst9 = Image9::makeImage9(dest);
......
......@@ -160,8 +160,8 @@ class Renderer9 : public RendererD3D
virtual UniformStorage *createUniformStorage(size_t storageSize);
// Image operations
virtual Image *createImage();
gl::Error generateMipmap(Image *dest, Image *source) override;
virtual ImageD3D *createImage();
gl::Error generateMipmap(ImageD3D *dest, ImageD3D *source) override;
virtual TextureStorage *createTextureStorage2D(SwapChain *swapChain);
virtual TextureStorage *createTextureStorage2D(GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly);
virtual TextureStorage *createTextureStorageCube(GLenum internalformat, bool renderTarget, int size, int levels);
......
......@@ -91,7 +91,7 @@ int TextureStorage9::getLevelCount() const
return mMipLevels - mTopLevel;
}
gl::Error TextureStorage9::setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type,
gl::Error TextureStorage9::setData(const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type,
const gl::PixelUnpackState &unpack, const uint8_t *pixelData)
{
UNREACHABLE();
......
......@@ -41,7 +41,7 @@ class TextureStorage9 : public TextureStorage
virtual bool isManaged() const;
virtual int getLevelCount() const;
virtual gl::Error setData(const gl::ImageIndex &index, Image *image, const gl::Box *destBox, GLenum type,
virtual gl::Error setData(const gl::ImageIndex &index, ImageD3D *image, const gl::Box *destBox, GLenum type,
const gl::PixelUnpackState &unpack, const uint8_t *pixelData);
protected:
......
......@@ -113,8 +113,6 @@
'libANGLE/renderer/DisplayImpl.h',
'libANGLE/renderer/FenceImpl.h',
'libANGLE/renderer/FramebufferImpl.h',
'libANGLE/renderer/Image.cpp',
'libANGLE/renderer/Image.h',
'libANGLE/renderer/IndexRangeCache.cpp',
'libANGLE/renderer/IndexRangeCache.h',
'libANGLE/renderer/ProgramImpl.cpp',
......
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