Commit f4bf3811 by Jamie Madill

Use GetAs/GetImplAs whenever possible.

This patch cleans up the rest of our custom casting helper functions. Change-Id: I41975c736765fca855c4498acca31116df3e8317 Reviewed-on: https://chromium-review.googlesource.com/263477Tested-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org>
parent c5b8b59c
...@@ -59,12 +59,6 @@ CompilerD3D::~CompilerD3D() ...@@ -59,12 +59,6 @@ CompilerD3D::~CompilerD3D()
release(); release();
} }
CompilerD3D *CompilerD3D::makeCompilerD3D(CompilerImpl *compiler)
{
ASSERT(HAS_DYNAMIC_TYPE(CompilerD3D*, compiler));
return static_cast<CompilerD3D*>(compiler);
}
gl::Error CompilerD3D::release() gl::Error CompilerD3D::release()
{ {
if (mFragmentCompiler) if (mFragmentCompiler)
......
...@@ -28,8 +28,6 @@ class CompilerD3D : public CompilerImpl ...@@ -28,8 +28,6 @@ class CompilerD3D : public CompilerImpl
CompilerD3D(const gl::Data &data, ShShaderOutput outputType); CompilerD3D(const gl::Data &data, ShShaderOutput outputType);
virtual ~CompilerD3D(); virtual ~CompilerD3D();
static CompilerD3D *makeCompilerD3D(CompilerImpl *compiler);
gl::Error release() override; gl::Error release() override;
ShHandle getCompilerHandle(GLenum type); ShHandle getCompilerHandle(GLenum type);
......
...@@ -387,7 +387,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment, ...@@ -387,7 +387,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment,
{ {
gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer(); gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer();
ASSERT(renderbuffer); ASSERT(renderbuffer);
RenderbufferD3D *renderbufferD3D = RenderbufferD3D::makeRenderbufferD3D(renderbuffer->getImplementation()); RenderbufferD3D *renderbufferD3D = GetImplAs<RenderbufferD3D>(renderbuffer);
*outRT = renderbufferD3D->getRenderTarget(); *outRT = renderbufferD3D->getRenderTarget();
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
...@@ -431,7 +431,7 @@ unsigned int GetAttachmentSerial(const gl::FramebufferAttachment *attachment) ...@@ -431,7 +431,7 @@ unsigned int GetAttachmentSerial(const gl::FramebufferAttachment *attachment)
{ {
gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer(); gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer();
ASSERT(renderbuffer); ASSERT(renderbuffer);
RenderbufferD3D *renderbufferD3D = RenderbufferD3D::makeRenderbufferD3D(renderbuffer->getImplementation()); RenderbufferD3D *renderbufferD3D = GetImplAs<RenderbufferD3D>(renderbuffer);
return renderbufferD3D->getRenderTargetSerial(); return renderbufferD3D->getRenderTargetSerial();
} }
else if (attachment->type() == GL_FRAMEBUFFER_DEFAULT) else if (attachment->type() == GL_FRAMEBUFFER_DEFAULT)
......
...@@ -959,8 +959,8 @@ gl::Error ProgramD3D::getVertexExecutableForInputLayout(const gl::VertexFormat i ...@@ -959,8 +959,8 @@ gl::Error ProgramD3D::getVertexExecutableForInputLayout(const gl::VertexFormat i
LinkResult ProgramD3D::compileProgramExecutables(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader, LinkResult ProgramD3D::compileProgramExecutables(gl::InfoLog &infoLog, gl::Shader *fragmentShader, gl::Shader *vertexShader,
int registers) int registers)
{ {
ShaderD3D *vertexShaderD3D = ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(vertexShader);
ShaderD3D *fragmentShaderD3D = ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(fragmentShader);
gl::VertexFormat defaultInputLayout[gl::MAX_VERTEX_ATTRIBS]; gl::VertexFormat defaultInputLayout[gl::MAX_VERTEX_ATTRIBS];
GetDefaultInputLayoutFromShader(vertexShader->getActiveAttributes(), defaultInputLayout); GetDefaultInputLayoutFromShader(vertexShader->getActiveAttributes(), defaultInputLayout);
...@@ -1025,8 +1025,8 @@ LinkResult ProgramD3D::link(const gl::Data &data, gl::InfoLog &infoLog, ...@@ -1025,8 +1025,8 @@ LinkResult ProgramD3D::link(const gl::Data &data, gl::InfoLog &infoLog,
int *registers, std::vector<gl::LinkedVarying> *linkedVaryings, int *registers, std::vector<gl::LinkedVarying> *linkedVaryings,
std::map<int, gl::VariableLocation> *outputVariables) std::map<int, gl::VariableLocation> *outputVariables)
{ {
ShaderD3D *vertexShaderD3D = ShaderD3D::makeShaderD3D(vertexShader->getImplementation()); ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(vertexShader);
ShaderD3D *fragmentShaderD3D = ShaderD3D::makeShaderD3D(fragmentShader->getImplementation()); ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(fragmentShader);
mSamplersPS.resize(data.caps->maxTextureImageUnits); mSamplersPS.resize(data.caps->maxTextureImageUnits);
mSamplersVS.resize(data.caps->maxVertexTextureImageUnits); mSamplersVS.resize(data.caps->maxVertexTextureImageUnits);
...@@ -1326,8 +1326,8 @@ void ProgramD3D::getUniformuiv(GLint location, GLuint *params) ...@@ -1326,8 +1326,8 @@ void ProgramD3D::getUniformuiv(GLint location, GLuint *params)
bool ProgramD3D::linkUniforms(gl::InfoLog &infoLog, const gl::Shader &vertexShader, const gl::Shader &fragmentShader, bool ProgramD3D::linkUniforms(gl::InfoLog &infoLog, const gl::Shader &vertexShader, const gl::Shader &fragmentShader,
const gl::Caps &caps) const gl::Caps &caps)
{ {
const ShaderD3D *vertexShaderD3D = ShaderD3D::makeShaderD3D(vertexShader.getImplementation()); const ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(&vertexShader);
const ShaderD3D *fragmentShaderD3D = ShaderD3D::makeShaderD3D(fragmentShader.getImplementation()); const ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(&fragmentShader);
const std::vector<sh::Uniform> &vertexUniforms = vertexShader.getUniforms(); const std::vector<sh::Uniform> &vertexUniforms = vertexShader.getUniforms();
const std::vector<sh::Uniform> &fragmentUniforms = fragmentShader.getUniforms(); const std::vector<sh::Uniform> &fragmentUniforms = fragmentShader.getUniforms();
...@@ -1764,7 +1764,7 @@ void ProgramD3D::defineUniformBlockMembers(const std::vector<VarT> &fields, cons ...@@ -1764,7 +1764,7 @@ void ProgramD3D::defineUniformBlockMembers(const std::vector<VarT> &fields, cons
bool ProgramD3D::defineUniformBlock(gl::InfoLog &infoLog, const gl::Shader &shader, const sh::InterfaceBlock &interfaceBlock, bool ProgramD3D::defineUniformBlock(gl::InfoLog &infoLog, const gl::Shader &shader, const sh::InterfaceBlock &interfaceBlock,
const gl::Caps &caps) const gl::Caps &caps)
{ {
const ShaderD3D* shaderD3D = ShaderD3D::makeShaderD3D(shader.getImplementation()); const ShaderD3D* shaderD3D = GetImplAs<ShaderD3D>(&shader);
// create uniform block entries if they do not exist // create uniform block entries if they do not exist
if (getUniformBlockIndex(interfaceBlock.name) == GL_INVALID_INDEX) if (getUniformBlockIndex(interfaceBlock.name) == GL_INVALID_INDEX)
......
...@@ -24,12 +24,6 @@ RenderbufferD3D::~RenderbufferD3D() ...@@ -24,12 +24,6 @@ RenderbufferD3D::~RenderbufferD3D()
SafeDelete(mRenderTarget); SafeDelete(mRenderTarget);
} }
RenderbufferD3D *RenderbufferD3D::makeRenderbufferD3D(RenderbufferImpl *renderbuffer)
{
ASSERT(HAS_DYNAMIC_TYPE(RenderbufferD3D*, renderbuffer));
return static_cast<RenderbufferD3D*>(renderbuffer);
}
gl::Error RenderbufferD3D::setStorage(GLenum internalformat, size_t width, size_t height) gl::Error RenderbufferD3D::setStorage(GLenum internalformat, size_t width, size_t height)
{ {
return setStorageMultisample(0, internalformat, width, height); return setStorageMultisample(0, internalformat, width, height);
......
...@@ -26,8 +26,6 @@ class RenderbufferD3D : public RenderbufferImpl ...@@ -26,8 +26,6 @@ class RenderbufferD3D : public RenderbufferImpl
RenderbufferD3D(RendererD3D *renderer); RenderbufferD3D(RendererD3D *renderer);
virtual ~RenderbufferD3D(); virtual ~RenderbufferD3D();
static RenderbufferD3D *makeRenderbufferD3D(RenderbufferImpl *renderbuffer);
virtual gl::Error setStorage(GLenum internalformat, size_t width, size_t height) override; virtual gl::Error setStorage(GLenum internalformat, size_t width, size_t height) override;
virtual gl::Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height) override; virtual gl::Error setStorageMultisample(size_t samples, GLenum internalformat, size_t width, size_t height) override;
......
...@@ -54,13 +54,6 @@ void RendererD3D::cleanup() ...@@ -54,13 +54,6 @@ void RendererD3D::cleanup()
mIncompleteTextures.clear(); mIncompleteTextures.clear();
} }
// static
RendererD3D *RendererD3D::makeRendererD3D(Renderer *renderer)
{
ASSERT(HAS_DYNAMIC_TYPE(RendererD3D*, renderer));
return static_cast<RendererD3D*>(renderer);
}
gl::Error RendererD3D::drawElements(const gl::Data &data, gl::Error RendererD3D::drawElements(const gl::Data &data,
GLenum mode, GLsizei count, GLenum type, GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei instances, const GLvoid *indices, GLsizei instances,
......
...@@ -77,8 +77,6 @@ class RendererD3D : public Renderer, public BufferFactoryD3D ...@@ -77,8 +77,6 @@ class RendererD3D : public Renderer, public BufferFactoryD3D
virtual egl::Error initialize() = 0; virtual egl::Error initialize() = 0;
static RendererD3D *makeRendererD3D(Renderer *renderer);
virtual egl::ConfigSet generateConfigs() const = 0; virtual egl::ConfigSet generateConfigs() const = 0;
gl::Error drawArrays(const gl::Data &data, gl::Error drawArrays(const gl::Data &data,
......
...@@ -76,18 +76,6 @@ ShaderD3D::~ShaderD3D() ...@@ -76,18 +76,6 @@ ShaderD3D::~ShaderD3D()
{ {
} }
ShaderD3D *ShaderD3D::makeShaderD3D(ShaderImpl *impl)
{
ASSERT(HAS_DYNAMIC_TYPE(ShaderD3D*, impl));
return static_cast<ShaderD3D*>(impl);
}
const ShaderD3D *ShaderD3D::makeShaderD3D(const ShaderImpl *impl)
{
ASSERT(HAS_DYNAMIC_TYPE(const ShaderD3D*, impl));
return static_cast<const ShaderD3D*>(impl);
}
std::string ShaderD3D::getDebugInfo() const std::string ShaderD3D::getDebugInfo() const
{ {
return mDebugInfo + std::string("\n// ") + GetShaderTypeString(mShaderType) + " SHADER END\n"; return mDebugInfo + std::string("\n// ") + GetShaderTypeString(mShaderType) + " SHADER END\n";
...@@ -337,7 +325,7 @@ bool ShaderD3D::compile(gl::Compiler *compiler, const std::string &source) ...@@ -337,7 +325,7 @@ bool ShaderD3D::compile(gl::Compiler *compiler, const std::string &source)
{ {
uncompile(); uncompile();
CompilerD3D *compilerD3D = CompilerD3D::makeCompilerD3D(compiler->getImplementation()); CompilerD3D *compilerD3D = GetImplAs<CompilerD3D>(compiler);
ShHandle compilerHandle = compilerD3D->getCompilerHandle(mShaderType); ShHandle compilerHandle = compilerD3D->getCompilerHandle(mShaderType);
mCompilerOutputType = ShGetShaderOutputType(compilerHandle); mCompilerOutputType = ShGetShaderOutputType(compilerHandle);
......
...@@ -28,9 +28,6 @@ class ShaderD3D : public ShaderImpl ...@@ -28,9 +28,6 @@ class ShaderD3D : public ShaderImpl
ShaderD3D(GLenum type); ShaderD3D(GLenum type);
virtual ~ShaderD3D(); virtual ~ShaderD3D();
static ShaderD3D *makeShaderD3D(ShaderImpl *impl);
static const ShaderD3D *makeShaderD3D(const ShaderImpl *impl);
// ShaderImpl implementation // ShaderImpl implementation
virtual std::string getDebugInfo() const; virtual std::string getDebugInfo() const;
......
...@@ -200,12 +200,6 @@ Buffer11::~Buffer11() ...@@ -200,12 +200,6 @@ Buffer11::~Buffer11()
} }
} }
Buffer11 *Buffer11::makeBuffer11(BufferImpl *buffer)
{
ASSERT(HAS_DYNAMIC_TYPE(Buffer11*, buffer));
return static_cast<Buffer11*>(buffer);
}
gl::Error Buffer11::setData(const void *data, size_t size, GLenum usage) gl::Error Buffer11::setData(const void *data, size_t size, GLenum usage)
{ {
gl::Error error = setSubData(data, size, 0); gl::Error error = setSubData(data, size, 0);
...@@ -311,7 +305,7 @@ gl::Error Buffer11::setSubData(const void *data, size_t size, size_t offset) ...@@ -311,7 +305,7 @@ gl::Error Buffer11::setSubData(const void *data, size_t size, size_t offset)
gl::Error Buffer11::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size) gl::Error Buffer11::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size)
{ {
Buffer11 *sourceBuffer = makeBuffer11(source); Buffer11 *sourceBuffer = GetAs<Buffer11>(source);
ASSERT(sourceBuffer != NULL); ASSERT(sourceBuffer != NULL);
BufferStorage *copyDest = getLatestBufferStorage(); BufferStorage *copyDest = getLatestBufferStorage();
......
...@@ -50,8 +50,6 @@ class Buffer11 : public BufferD3D ...@@ -50,8 +50,6 @@ class Buffer11 : public BufferD3D
Buffer11(Renderer11 *renderer); Buffer11(Renderer11 *renderer);
virtual ~Buffer11(); virtual ~Buffer11();
static Buffer11 *makeBuffer11(BufferImpl *buffer);
ID3D11Buffer *getBuffer(BufferUsage usage); ID3D11Buffer *getBuffer(BufferUsage usage);
ID3D11ShaderResourceView *getSRV(DXGI_FORMAT srvFormat); ID3D11ShaderResourceView *getSRV(DXGI_FORMAT srvFormat);
bool isMapped() const { return mMappedStorage != NULL; } bool isMapped() const { return mMappedStorage != NULL; }
......
...@@ -52,7 +52,7 @@ static gl::Error InvalidateAttachmentSwizzles(const gl::FramebufferAttachment *a ...@@ -52,7 +52,7 @@ static gl::Error InvalidateAttachmentSwizzles(const gl::FramebufferAttachment *a
if (texStorage) if (texStorage)
{ {
TextureStorage11 *texStorage11 = TextureStorage11::makeTextureStorage11(texStorage); TextureStorage11 *texStorage11 = GetAs<TextureStorage11>(texStorage);
ASSERT(texStorage11); ASSERT(texStorage11);
texStorage11->invalidateSwizzleCacheLevel(attachment->mipLevel()); texStorage11->invalidateSwizzleCacheLevel(attachment->mipLevel());
...@@ -149,7 +149,7 @@ gl::Error Framebuffer11::readPixels(const gl::Rectangle &area, GLenum format, GL ...@@ -149,7 +149,7 @@ gl::Error Framebuffer11::readPixels(const gl::Rectangle &area, GLenum format, GL
gl::Buffer *packBuffer = pack.pixelBuffer.get(); gl::Buffer *packBuffer = pack.pixelBuffer.get();
if (packBuffer != NULL) if (packBuffer != NULL)
{ {
Buffer11 *packBufferStorage = Buffer11::makeBuffer11(packBuffer->getImplementation()); Buffer11 *packBufferStorage = GetImplAs<Buffer11>(packBuffer);
PackPixelsParams packParams(area, format, type, outputPitch, pack, reinterpret_cast<ptrdiff_t>(pixels)); PackPixelsParams packParams(area, format, type, outputPitch, pack, reinterpret_cast<ptrdiff_t>(pixels));
error = packBufferStorage->packPixels(colorBufferTexture, subresourceIndex, packParams); error = packBufferStorage->packPixels(colorBufferTexture, subresourceIndex, packParams);
...@@ -261,7 +261,7 @@ gl::Error Framebuffer11::blit(const gl::Rectangle &sourceArea, const gl::Rectang ...@@ -261,7 +261,7 @@ gl::Error Framebuffer11::blit(const gl::Rectangle &sourceArea, const gl::Rectang
GLenum Framebuffer11::getRenderTargetImplementationFormat(RenderTargetD3D *renderTarget) const GLenum Framebuffer11::getRenderTargetImplementationFormat(RenderTargetD3D *renderTarget) const
{ {
RenderTarget11 *renderTarget11 = RenderTarget11::makeRenderTarget11(renderTarget); RenderTarget11 *renderTarget11 = GetAs<RenderTarget11>(renderTarget);
const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(renderTarget11->getDXGIFormat()); const d3d11::DXGIFormat &dxgiFormatInfo = d3d11::GetDXGIFormatInfo(renderTarget11->getDXGIFormat());
return dxgiFormatInfo.internalFormat; return dxgiFormatInfo.internalFormat;
} }
......
...@@ -43,12 +43,6 @@ Image11::~Image11() ...@@ -43,12 +43,6 @@ Image11::~Image11()
releaseStagingTexture(); releaseStagingTexture();
} }
Image11 *Image11::makeImage11(ImageD3D *img)
{
ASSERT(HAS_DYNAMIC_TYPE(Image11*, img));
return static_cast<Image11*>(img);
}
gl::Error Image11::generateMipmap(Image11 *dest, Image11 *src) gl::Error Image11::generateMipmap(Image11 *dest, Image11 *src)
{ {
ASSERT(src->getDXGIFormat() == dest->getDXGIFormat()); ASSERT(src->getDXGIFormat() == dest->getDXGIFormat());
...@@ -104,7 +98,7 @@ bool Image11::isDirty() const ...@@ -104,7 +98,7 @@ bool Image11::isDirty() const
gl::Error Image11::copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box &region) gl::Error Image11::copyToStorage(TextureStorage *storage, const gl::ImageIndex &index, const gl::Box &region)
{ {
TextureStorage11 *storage11 = TextureStorage11::makeTextureStorage11(storage); TextureStorage11 *storage11 = GetAs<TextureStorage11>(storage);
// If an app's behavior results in an Image11 copying its data to/from to a TextureStorage multiple times, // If an app's behavior results in an Image11 copying its data to/from to a TextureStorage multiple times,
// then we should just keep the staging texture around to prevent the copying from impacting perf. // then we should just keep the staging texture around to prevent the copying from impacting perf.
...@@ -314,7 +308,7 @@ gl::Error Image11::loadCompressedData(const gl::Box &area, const void *input) ...@@ -314,7 +308,7 @@ gl::Error Image11::loadCompressedData(const gl::Box &area, const void *input)
gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea, RenderTargetD3D *source) gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Rectangle &sourceArea, RenderTargetD3D *source)
{ {
RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(source); RenderTarget11 *sourceRenderTarget = GetAs<RenderTarget11>(source);
ASSERT(sourceRenderTarget->getTexture()); ASSERT(sourceRenderTarget->getTexture());
ID3D11Resource *resource = sourceRenderTarget->getTexture(); ID3D11Resource *resource = sourceRenderTarget->getTexture();
...@@ -330,7 +324,7 @@ gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Rectangle &sourc ...@@ -330,7 +324,7 @@ gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Rectangle &sourc
gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Box &sourceArea, const gl::ImageIndex &sourceIndex, TextureStorage *source) gl::Error Image11::copy(const gl::Offset &destOffset, const gl::Box &sourceArea, const gl::ImageIndex &sourceIndex, TextureStorage *source)
{ {
TextureStorage11 *sourceStorage11 = TextureStorage11::makeTextureStorage11(source); TextureStorage11 *sourceStorage11 = GetAs<TextureStorage11>(source);
UINT subresourceIndex = sourceStorage11->getSubresourceIndex(sourceIndex); UINT subresourceIndex = sourceStorage11->getSubresourceIndex(sourceIndex);
ID3D11Resource *resource = NULL; ID3D11Resource *resource = NULL;
......
...@@ -31,8 +31,6 @@ class Image11 : public ImageD3D ...@@ -31,8 +31,6 @@ class Image11 : public ImageD3D
Image11(Renderer11 *renderer); Image11(Renderer11 *renderer);
virtual ~Image11(); virtual ~Image11();
static Image11 *makeImage11(ImageD3D *img);
static gl::Error generateMipmap(Image11 *dest, Image11 *src); static gl::Error generateMipmap(Image11 *dest, Image11 *src);
virtual bool isDirty() const; virtual bool isDirty() const;
......
...@@ -56,12 +56,6 @@ gl::Error IndexBuffer11::initialize(unsigned int bufferSize, GLenum indexType, b ...@@ -56,12 +56,6 @@ gl::Error IndexBuffer11::initialize(unsigned int bufferSize, GLenum indexType, b
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
IndexBuffer11 *IndexBuffer11::makeIndexBuffer11(IndexBuffer *indexBuffer)
{
ASSERT(HAS_DYNAMIC_TYPE(IndexBuffer11*, indexBuffer));
return static_cast<IndexBuffer11*>(indexBuffer);
}
gl::Error IndexBuffer11::mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory) gl::Error IndexBuffer11::mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory)
{ {
if (!mBuffer) if (!mBuffer)
......
...@@ -23,8 +23,6 @@ class IndexBuffer11 : public IndexBuffer ...@@ -23,8 +23,6 @@ class IndexBuffer11 : public IndexBuffer
virtual gl::Error initialize(unsigned int bufferSize, GLenum indexType, bool dynamic); virtual gl::Error initialize(unsigned int bufferSize, GLenum indexType, bool dynamic);
static IndexBuffer11 *makeIndexBuffer11(IndexBuffer *indexBuffer);
virtual gl::Error mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory); virtual gl::Error mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory);
virtual gl::Error unmapBuffer(); virtual gl::Error unmapBuffer();
......
...@@ -226,7 +226,7 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl ...@@ -226,7 +226,7 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl
return error; return error;
} }
ShaderExecutableD3D *shader11 = ShaderExecutable11::makeShaderExecutable11(shader); ShaderExecutableD3D *shader11 = GetAs<ShaderExecutable11>(shader);
D3D11_INPUT_ELEMENT_DESC descs[gl::MAX_VERTEX_ATTRIBS]; D3D11_INPUT_ELEMENT_DESC descs[gl::MAX_VERTEX_ATTRIBS];
for (unsigned int j = 0; j < ilKey.elementCount; ++j) for (unsigned int j = 0; j < ilKey.elementCount; ++j)
...@@ -281,8 +281,8 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl ...@@ -281,8 +281,8 @@ gl::Error InputLayoutCache::applyVertexBuffers(TranslatedAttribute attributes[gl
if (attributes[i].active) if (attributes[i].active)
{ {
VertexBuffer11 *vertexBuffer = VertexBuffer11::makeVertexBuffer11(attributes[i].vertexBuffer); VertexBuffer11 *vertexBuffer = GetAs<VertexBuffer11>(attributes[i].vertexBuffer);
Buffer11 *bufferStorage = attributes[i].storage ? Buffer11::makeBuffer11(attributes[i].storage) : NULL; Buffer11 *bufferStorage = attributes[i].storage ? GetAs<Buffer11>(attributes[i].storage) : NULL;
buffer = bufferStorage ? bufferStorage->getBuffer(BUFFER_USAGE_VERTEX_OR_TRANSFORM_FEEDBACK) buffer = bufferStorage ? bufferStorage->getBuffer(BUFFER_USAGE_VERTEX_OR_TRANSFORM_FEEDBACK)
: vertexBuffer->getBuffer(); : vertexBuffer->getBuffer();
......
...@@ -205,11 +205,11 @@ gl::Error PixelTransfer11::copyBufferToTexture(const gl::PixelUnpackState &unpac ...@@ -205,11 +205,11 @@ gl::Error PixelTransfer11::copyBufferToTexture(const gl::PixelUnpackState &unpac
const d3d11::TextureFormat &sourceFormatInfo = d3d11::GetTextureFormatInfo(sourceFormat, mRenderer->getFeatureLevel()); const d3d11::TextureFormat &sourceFormatInfo = d3d11::GetTextureFormatInfo(sourceFormat, mRenderer->getFeatureLevel());
DXGI_FORMAT srvFormat = sourceFormatInfo.srvFormat; DXGI_FORMAT srvFormat = sourceFormatInfo.srvFormat;
ASSERT(srvFormat != DXGI_FORMAT_UNKNOWN); ASSERT(srvFormat != DXGI_FORMAT_UNKNOWN);
Buffer11 *bufferStorage11 = Buffer11::makeBuffer11(sourceBuffer.getImplementation()); Buffer11 *bufferStorage11 = GetAs<Buffer11>(sourceBuffer.getImplementation());
ID3D11ShaderResourceView *bufferSRV = bufferStorage11->getSRV(srvFormat); ID3D11ShaderResourceView *bufferSRV = bufferStorage11->getSRV(srvFormat);
ASSERT(bufferSRV != NULL); ASSERT(bufferSRV != NULL);
ID3D11RenderTargetView *textureRTV = RenderTarget11::makeRenderTarget11(destRenderTarget)->getRenderTargetView(); ID3D11RenderTargetView *textureRTV = GetAs<RenderTarget11>(destRenderTarget)->getRenderTargetView();
ASSERT(textureRTV != NULL); ASSERT(textureRTV != NULL);
CopyShaderParams shaderParams; CopyShaderParams shaderParams;
......
...@@ -176,12 +176,6 @@ static unsigned int getDSVSubresourceIndex(ID3D11Resource *resource, ID3D11Depth ...@@ -176,12 +176,6 @@ static unsigned int getDSVSubresourceIndex(ID3D11Resource *resource, ID3D11Depth
return D3D11CalcSubresource(mipSlice, arraySlice, mipLevels); return D3D11CalcSubresource(mipSlice, arraySlice, mipLevels);
} }
RenderTarget11 *RenderTarget11::makeRenderTarget11(RenderTargetD3D *target)
{
ASSERT(HAS_DYNAMIC_TYPE(RenderTarget11*, target));
return static_cast<RenderTarget11*>(target);
}
TextureRenderTarget11::TextureRenderTarget11(ID3D11RenderTargetView *rtv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv, TextureRenderTarget11::TextureRenderTarget11(ID3D11RenderTargetView *rtv, ID3D11Resource *resource, ID3D11ShaderResourceView *srv,
GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples) GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei samples)
: mWidth(width), : mWidth(width),
......
...@@ -23,8 +23,6 @@ class RenderTarget11 : public RenderTargetD3D ...@@ -23,8 +23,6 @@ class RenderTarget11 : public RenderTargetD3D
RenderTarget11() { } RenderTarget11() { }
virtual ~RenderTarget11() { } virtual ~RenderTarget11() { }
static RenderTarget11 *makeRenderTarget11(RenderTargetD3D *renderTarget);
virtual ID3D11Resource *getTexture() const = 0; virtual ID3D11Resource *getTexture() const = 0;
virtual ID3D11RenderTargetView *getRenderTargetView() const = 0; virtual ID3D11RenderTargetView *getRenderTargetView() const = 0;
virtual ID3D11DepthStencilView *getDepthStencilView() const = 0; virtual ID3D11DepthStencilView *getDepthStencilView() const = 0;
......
...@@ -71,8 +71,6 @@ class Renderer11 : public RendererD3D ...@@ -71,8 +71,6 @@ class Renderer11 : public RendererD3D
explicit Renderer11(egl::Display *display); explicit Renderer11(egl::Display *display);
virtual ~Renderer11(); virtual ~Renderer11();
static Renderer11 *makeRenderer11(Renderer *renderer);
egl::Error initialize() override; egl::Error initialize() override;
virtual bool resetDevice(); virtual bool resetDevice();
......
...@@ -48,12 +48,6 @@ ShaderExecutable11::~ShaderExecutable11() ...@@ -48,12 +48,6 @@ ShaderExecutable11::~ShaderExecutable11()
SafeRelease(mStreamOutExecutable); SafeRelease(mStreamOutExecutable);
} }
ShaderExecutable11 *ShaderExecutable11::makeShaderExecutable11(ShaderExecutableD3D *executable)
{
ASSERT(HAS_DYNAMIC_TYPE(ShaderExecutable11*, executable));
return static_cast<ShaderExecutable11*>(executable);
}
ID3D11VertexShader *ShaderExecutable11::getVertexShader() const ID3D11VertexShader *ShaderExecutable11::getVertexShader() const
{ {
return mVertexExecutable; return mVertexExecutable;
...@@ -101,10 +95,4 @@ UniformStorage11::~UniformStorage11() ...@@ -101,10 +95,4 @@ UniformStorage11::~UniformStorage11()
SafeRelease(mConstantBuffer); SafeRelease(mConstantBuffer);
} }
const UniformStorage11 *UniformStorage11::makeUniformStorage11(const UniformStorageD3D *uniformStorage)
{
ASSERT(HAS_DYNAMIC_TYPE(const UniformStorage11*, uniformStorage));
return static_cast<const UniformStorage11*>(uniformStorage);
}
} }
...@@ -26,8 +26,6 @@ class ShaderExecutable11 : public ShaderExecutableD3D ...@@ -26,8 +26,6 @@ class ShaderExecutable11 : public ShaderExecutableD3D
virtual ~ShaderExecutable11(); virtual ~ShaderExecutable11();
static ShaderExecutable11 *makeShaderExecutable11(ShaderExecutableD3D *executable);
ID3D11PixelShader *getPixelShader() const; ID3D11PixelShader *getPixelShader() const;
ID3D11VertexShader *getVertexShader() const; ID3D11VertexShader *getVertexShader() const;
ID3D11GeometryShader *getGeometryShader() const; ID3D11GeometryShader *getGeometryShader() const;
...@@ -46,8 +44,6 @@ class UniformStorage11 : public UniformStorageD3D ...@@ -46,8 +44,6 @@ class UniformStorage11 : public UniformStorageD3D
UniformStorage11(Renderer11 *renderer, size_t initialSize); UniformStorage11(Renderer11 *renderer, size_t initialSize);
virtual ~UniformStorage11(); virtual ~UniformStorage11();
static const UniformStorage11 *makeUniformStorage11(const UniformStorageD3D *uniformStorage);
ID3D11Buffer *getConstantBuffer() const { return mConstantBuffer; } ID3D11Buffer *getConstantBuffer() const { return mConstantBuffer; }
private: private:
......
...@@ -652,12 +652,6 @@ ID3D11Texture2D *SwapChain11::getDepthStencilTexture() ...@@ -652,12 +652,6 @@ ID3D11Texture2D *SwapChain11::getDepthStencilTexture()
return mDepthStencilTexture; return mDepthStencilTexture;
} }
SwapChain11 *SwapChain11::makeSwapChain11(SwapChainD3D *swapChain)
{
ASSERT(HAS_DYNAMIC_TYPE(SwapChain11*, swapChain));
return static_cast<SwapChain11*>(swapChain);
}
void SwapChain11::recreate() void SwapChain11::recreate()
{ {
// possibly should use this method instead of reset // possibly should use this method instead of reset
......
...@@ -43,8 +43,6 @@ class SwapChain11 : public SwapChainD3D ...@@ -43,8 +43,6 @@ class SwapChain11 : public SwapChainD3D
EGLint getWidth() const { return mWidth; } EGLint getWidth() const { return mWidth; }
EGLint getHeight() const { return mHeight; } EGLint getHeight() const { return mHeight; }
static SwapChain11 *makeSwapChain11(SwapChainD3D *swapChain);
private: private:
void release(); void release();
void initPassThroughResources(); void initPassThroughResources();
......
...@@ -61,7 +61,8 @@ bool TextureStorage11::SRVKey::operator<(const SRVKey &rhs) const ...@@ -61,7 +61,8 @@ bool TextureStorage11::SRVKey::operator<(const SRVKey &rhs) const
} }
TextureStorage11::TextureStorage11(Renderer11 *renderer, UINT bindFlags) TextureStorage11::TextureStorage11(Renderer11 *renderer, UINT bindFlags)
: mBindFlags(bindFlags), : mRenderer(renderer),
mBindFlags(bindFlags),
mTopLevel(0), mTopLevel(0),
mMipLevels(0), mMipLevels(0),
mInternalFormat(GL_NONE), mInternalFormat(GL_NONE),
...@@ -73,11 +74,9 @@ TextureStorage11::TextureStorage11(Renderer11 *renderer, UINT bindFlags) ...@@ -73,11 +74,9 @@ TextureStorage11::TextureStorage11(Renderer11 *renderer, UINT bindFlags)
mTextureHeight(0), mTextureHeight(0),
mTextureDepth(0) mTextureDepth(0)
{ {
mRenderer = Renderer11::makeRenderer11(renderer);
for (unsigned int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; i++) for (unsigned int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; i++)
{ {
mLevelSRVs[i] = NULL; mLevelSRVs[i] = nullptr;
} }
} }
...@@ -95,12 +94,6 @@ TextureStorage11::~TextureStorage11() ...@@ -95,12 +94,6 @@ TextureStorage11::~TextureStorage11()
mSrvCache.clear(); mSrvCache.clear();
} }
TextureStorage11 *TextureStorage11::makeTextureStorage11(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage11*, storage));
return static_cast<TextureStorage11*>(storage);
}
DWORD TextureStorage11::GetTextureBindFlags(GLenum internalFormat, D3D_FEATURE_LEVEL featureLevel, bool renderTarget) DWORD TextureStorage11::GetTextureBindFlags(GLenum internalFormat, D3D_FEATURE_LEVEL featureLevel, bool renderTarget)
{ {
UINT bindFlags = 0; UINT bindFlags = 0;
...@@ -469,8 +462,8 @@ gl::Error TextureStorage11::generateMipmap(const gl::ImageIndex &sourceIndex, co ...@@ -469,8 +462,8 @@ gl::Error TextureStorage11::generateMipmap(const gl::ImageIndex &sourceIndex, co
return error; return error;
} }
ID3D11ShaderResourceView *sourceSRV = RenderTarget11::makeRenderTarget11(source)->getShaderResourceView(); ID3D11ShaderResourceView *sourceSRV = GetAs<RenderTarget11>(source)->getShaderResourceView();
ID3D11RenderTargetView *destRTV = RenderTarget11::makeRenderTarget11(dest)->getRenderTargetView(); ID3D11RenderTargetView *destRTV = GetAs<RenderTarget11>(dest)->getRenderTargetView();
gl::Box sourceArea(0, 0, 0, source->getWidth(), source->getHeight(), source->getDepth()); gl::Box sourceArea(0, 0, 0, source->getWidth(), source->getHeight(), source->getDepth());
gl::Extents sourceSize(source->getWidth(), source->getHeight(), source->getDepth()); gl::Extents sourceSize(source->getWidth(), source->getHeight(), source->getDepth());
...@@ -503,7 +496,7 @@ gl::Error TextureStorage11::copyToStorage(TextureStorage *destStorage) ...@@ -503,7 +496,7 @@ gl::Error TextureStorage11::copyToStorage(TextureStorage *destStorage)
return error; return error;
} }
TextureStorage11 *dest11 = TextureStorage11::makeTextureStorage11(destStorage); TextureStorage11 *dest11 = GetAs<TextureStorage11>(destStorage);
ID3D11Resource *destResource = NULL; ID3D11Resource *destResource = NULL;
error = dest11->getResource(&destResource); error = dest11->getResource(&destResource);
if (error.isError()) if (error.isError())
...@@ -726,17 +719,11 @@ TextureStorage11_2D::~TextureStorage11_2D() ...@@ -726,17 +719,11 @@ TextureStorage11_2D::~TextureStorage11_2D()
} }
} }
TextureStorage11_2D *TextureStorage11_2D::makeTextureStorage11_2D(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage11_2D*, storage));
return static_cast<TextureStorage11_2D*>(storage);
}
gl::Error TextureStorage11_2D::copyToStorage(TextureStorage *destStorage) gl::Error TextureStorage11_2D::copyToStorage(TextureStorage *destStorage)
{ {
ASSERT(destStorage); ASSERT(destStorage);
TextureStorage11_2D *dest11 = TextureStorage11_2D::makeTextureStorage11_2D(destStorage); TextureStorage11_2D *dest11 = GetAs<TextureStorage11_2D>(destStorage);
if (mRenderer->getWorkarounds().zeroMaxLodWorkaround) if (mRenderer->getWorkarounds().zeroMaxLodWorkaround)
{ {
...@@ -1334,12 +1321,6 @@ TextureStorage11_Cube::~TextureStorage11_Cube() ...@@ -1334,12 +1321,6 @@ TextureStorage11_Cube::~TextureStorage11_Cube()
} }
} }
TextureStorage11_Cube *TextureStorage11_Cube::makeTextureStorage11_Cube(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage11_Cube*, storage));
return static_cast<TextureStorage11_Cube*>(storage);
}
UINT TextureStorage11_Cube::getSubresourceIndex(const gl::ImageIndex &index) const UINT TextureStorage11_Cube::getSubresourceIndex(const gl::ImageIndex &index) const
{ {
if (mRenderer->getWorkarounds().zeroMaxLodWorkaround && mUseLevelZeroTexture && index.mipIndex == 0) if (mRenderer->getWorkarounds().zeroMaxLodWorkaround && mUseLevelZeroTexture && index.mipIndex == 0)
...@@ -1363,7 +1344,7 @@ gl::Error TextureStorage11_Cube::copyToStorage(TextureStorage *destStorage) ...@@ -1363,7 +1344,7 @@ gl::Error TextureStorage11_Cube::copyToStorage(TextureStorage *destStorage)
{ {
ASSERT(destStorage); ASSERT(destStorage);
TextureStorage11_Cube *dest11 = TextureStorage11_Cube::makeTextureStorage11_Cube(destStorage); TextureStorage11_Cube *dest11 = GetAs<TextureStorage11_Cube>(destStorage);
if (mRenderer->getWorkarounds().zeroMaxLodWorkaround) if (mRenderer->getWorkarounds().zeroMaxLodWorkaround)
{ {
...@@ -1999,12 +1980,6 @@ TextureStorage11_3D::~TextureStorage11_3D() ...@@ -1999,12 +1980,6 @@ TextureStorage11_3D::~TextureStorage11_3D()
} }
} }
TextureStorage11_3D *TextureStorage11_3D::makeTextureStorage11_3D(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage11_3D*, storage));
return static_cast<TextureStorage11_3D*>(storage);
}
void TextureStorage11_3D::associateImage(Image11* image, const gl::ImageIndex &index) void TextureStorage11_3D::associateImage(Image11* image, const gl::ImageIndex &index)
{ {
GLint level = index.mipIndex; GLint level = index.mipIndex;
...@@ -2383,12 +2358,6 @@ TextureStorage11_2DArray::~TextureStorage11_2DArray() ...@@ -2383,12 +2358,6 @@ TextureStorage11_2DArray::~TextureStorage11_2DArray()
mRenderTargets.clear(); mRenderTargets.clear();
} }
TextureStorage11_2DArray *TextureStorage11_2DArray::makeTextureStorage11_2DArray(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage11_2DArray*, storage));
return static_cast<TextureStorage11_2DArray*>(storage);
}
void TextureStorage11_2DArray::associateImage(Image11* image, const gl::ImageIndex &index) void TextureStorage11_2DArray::associateImage(Image11* image, const gl::ImageIndex &index)
{ {
GLint level = index.mipIndex; GLint level = index.mipIndex;
......
...@@ -34,8 +34,6 @@ class TextureStorage11 : public TextureStorage ...@@ -34,8 +34,6 @@ class TextureStorage11 : public TextureStorage
public: public:
virtual ~TextureStorage11(); virtual ~TextureStorage11();
static TextureStorage11 *makeTextureStorage11(TextureStorage *storage);
static DWORD GetTextureBindFlags(GLenum internalFormat, D3D_FEATURE_LEVEL featureLevel, bool renderTarget); static DWORD GetTextureBindFlags(GLenum internalFormat, D3D_FEATURE_LEVEL featureLevel, bool renderTarget);
UINT getBindFlags() const; UINT getBindFlags() const;
...@@ -146,8 +144,6 @@ class TextureStorage11_2D : public TextureStorage11 ...@@ -146,8 +144,6 @@ class TextureStorage11_2D : public TextureStorage11
TextureStorage11_2D(Renderer11 *renderer, GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly = false); TextureStorage11_2D(Renderer11 *renderer, GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels, bool hintLevelZeroOnly = false);
virtual ~TextureStorage11_2D(); virtual ~TextureStorage11_2D();
static TextureStorage11_2D *makeTextureStorage11_2D(TextureStorage *storage);
virtual gl::Error getResource(ID3D11Resource **outResource); virtual gl::Error getResource(ID3D11Resource **outResource);
virtual gl::Error getMippedResource(ID3D11Resource **outResource); virtual gl::Error getMippedResource(ID3D11Resource **outResource);
virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT); virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT);
...@@ -200,8 +196,6 @@ class TextureStorage11_Cube : public TextureStorage11 ...@@ -200,8 +196,6 @@ class TextureStorage11_Cube : public TextureStorage11
TextureStorage11_Cube(Renderer11 *renderer, GLenum internalformat, bool renderTarget, int size, int levels, bool hintLevelZeroOnly); TextureStorage11_Cube(Renderer11 *renderer, GLenum internalformat, bool renderTarget, int size, int levels, bool hintLevelZeroOnly);
virtual ~TextureStorage11_Cube(); virtual ~TextureStorage11_Cube();
static TextureStorage11_Cube *makeTextureStorage11_Cube(TextureStorage *storage);
virtual UINT getSubresourceIndex(const gl::ImageIndex &index) const; virtual UINT getSubresourceIndex(const gl::ImageIndex &index) const;
virtual gl::Error getResource(ID3D11Resource **outResource); virtual gl::Error getResource(ID3D11Resource **outResource);
...@@ -250,8 +244,6 @@ class TextureStorage11_3D : public TextureStorage11 ...@@ -250,8 +244,6 @@ class TextureStorage11_3D : public TextureStorage11
GLsizei width, GLsizei height, GLsizei depth, int levels); GLsizei width, GLsizei height, GLsizei depth, int levels);
virtual ~TextureStorage11_3D(); virtual ~TextureStorage11_3D();
static TextureStorage11_3D *makeTextureStorage11_3D(TextureStorage *storage);
virtual gl::Error getResource(ID3D11Resource **outResource); virtual gl::Error getResource(ID3D11Resource **outResource);
// Handles both layer and non-layer RTs // Handles both layer and non-layer RTs
...@@ -290,8 +282,6 @@ class TextureStorage11_2DArray : public TextureStorage11 ...@@ -290,8 +282,6 @@ class TextureStorage11_2DArray : public TextureStorage11
GLsizei width, GLsizei height, GLsizei depth, int levels); GLsizei width, GLsizei height, GLsizei depth, int levels);
virtual ~TextureStorage11_2DArray(); virtual ~TextureStorage11_2DArray();
static TextureStorage11_2DArray *makeTextureStorage11_2DArray(TextureStorage *storage);
virtual gl::Error getResource(ID3D11Resource **outResource); virtual gl::Error getResource(ID3D11Resource **outResource);
virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT); virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT);
......
...@@ -61,12 +61,6 @@ gl::Error VertexBuffer11::initialize(unsigned int size, bool dynamicUsage) ...@@ -61,12 +61,6 @@ gl::Error VertexBuffer11::initialize(unsigned int size, bool dynamicUsage)
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
VertexBuffer11 *VertexBuffer11::makeVertexBuffer11(VertexBuffer *vetexBuffer)
{
ASSERT(HAS_DYNAMIC_TYPE(VertexBuffer11*, vetexBuffer));
return static_cast<VertexBuffer11*>(vetexBuffer);
}
gl::Error VertexBuffer11::mapResource() gl::Error VertexBuffer11::mapResource()
{ {
if (mMappedResourceData == NULL) if (mMappedResourceData == NULL)
......
...@@ -25,8 +25,6 @@ class VertexBuffer11 : public VertexBuffer ...@@ -25,8 +25,6 @@ class VertexBuffer11 : public VertexBuffer
virtual gl::Error initialize(unsigned int size, bool dynamicUsage); virtual gl::Error initialize(unsigned int size, bool dynamicUsage);
static VertexBuffer11 *makeVertexBuffer11(VertexBuffer *vetexBuffer);
virtual gl::Error storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue, virtual gl::Error storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue,
GLint start, GLsizei count, GLsizei instances, unsigned int offset); GLint start, GLsizei count, GLsizei instances, unsigned int offset);
......
...@@ -1207,7 +1207,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment, ...@@ -1207,7 +1207,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment,
{ {
return error; return error;
} }
*outRT = RenderTarget11::makeRenderTarget11(renderTarget); *outRT = GetAs<RenderTarget11>(renderTarget);
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
......
...@@ -251,7 +251,7 @@ gl::Error Blit9::copy2D(const gl::Framebuffer *framebuffer, const RECT &sourceRe ...@@ -251,7 +251,7 @@ gl::Error Blit9::copy2D(const gl::Framebuffer *framebuffer, const RECT &sourceRe
ASSERT(source); ASSERT(source);
IDirect3DSurface9 *destSurface = NULL; IDirect3DSurface9 *destSurface = NULL;
TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); TextureStorage9_2D *storage9 = GetAs<TextureStorage9_2D>(storage);
error = storage9->getSurfaceLevel(level, true, &destSurface); error = storage9->getSurfaceLevel(level, true, &destSurface);
if (error.isError()) if (error.isError())
{ {
...@@ -290,7 +290,7 @@ gl::Error Blit9::copyCube(const gl::Framebuffer *framebuffer, const RECT &source ...@@ -290,7 +290,7 @@ gl::Error Blit9::copyCube(const gl::Framebuffer *framebuffer, const RECT &source
ASSERT(source); ASSERT(source);
IDirect3DSurface9 *destSurface = NULL; IDirect3DSurface9 *destSurface = NULL;
TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); TextureStorage9_Cube *storage9 = GetAs<TextureStorage9_Cube>(storage);
error = storage9->getCubeMapSurface(target, level, true, &destSurface); error = storage9->getCubeMapSurface(target, level, true, &destSurface);
if (error.isError()) if (error.isError())
{ {
......
...@@ -23,12 +23,6 @@ Buffer9::~Buffer9() ...@@ -23,12 +23,6 @@ Buffer9::~Buffer9()
mSize = 0; mSize = 0;
} }
Buffer9 *Buffer9::makeBuffer9(BufferImpl *buffer)
{
ASSERT(HAS_DYNAMIC_TYPE(Buffer9*, buffer));
return static_cast<Buffer9*>(buffer);
}
gl::Error Buffer9::setData(const void* data, size_t size, GLenum usage) gl::Error Buffer9::setData(const void* data, size_t size, GLenum usage)
{ {
if (size > mMemory.size()) if (size > mMemory.size())
...@@ -85,7 +79,7 @@ gl::Error Buffer9::setSubData(const void* data, size_t size, size_t offset) ...@@ -85,7 +79,7 @@ gl::Error Buffer9::setSubData(const void* data, size_t size, size_t offset)
gl::Error Buffer9::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size) gl::Error Buffer9::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size)
{ {
// Note: this method is currently unreachable // Note: this method is currently unreachable
Buffer9* sourceBuffer = makeBuffer9(source); Buffer9* sourceBuffer = GetAs<Buffer9>(source);
ASSERT(sourceBuffer); ASSERT(sourceBuffer);
memcpy(mMemory.data() + destOffset, sourceBuffer->mMemory.data() + sourceOffset, size); memcpy(mMemory.data() + destOffset, sourceBuffer->mMemory.data() + sourceOffset, size);
......
...@@ -23,8 +23,6 @@ class Buffer9 : public BufferD3D ...@@ -23,8 +23,6 @@ class Buffer9 : public BufferD3D
Buffer9(Renderer9 *renderer); Buffer9(Renderer9 *renderer);
virtual ~Buffer9(); virtual ~Buffer9();
static Buffer9 *makeBuffer9(BufferImpl *buffer);
// BufferD3D implementation // BufferD3D implementation
virtual size_t getSize() const { return mSize; } virtual size_t getSize() const { return mSize; }
virtual bool supportsDirectBinding() const { return false; } virtual bool supportsDirectBinding() const { return false; }
......
...@@ -414,7 +414,7 @@ gl::Error Framebuffer9::blit(const gl::Rectangle &sourceArea, const gl::Rectangl ...@@ -414,7 +414,7 @@ gl::Error Framebuffer9::blit(const gl::Rectangle &sourceArea, const gl::Rectangl
GLenum Framebuffer9::getRenderTargetImplementationFormat(RenderTargetD3D *renderTarget) const GLenum Framebuffer9::getRenderTargetImplementationFormat(RenderTargetD3D *renderTarget) const
{ {
RenderTarget9 *renderTarget9 = RenderTarget9::makeRenderTarget9(renderTarget); RenderTarget9 *renderTarget9 = GetAs<RenderTarget9>(renderTarget);
const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(renderTarget9->getD3DFormat()); const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(renderTarget9->getD3DFormat());
return d3dFormatInfo.internalFormat; return d3dFormatInfo.internalFormat;
} }
......
...@@ -94,12 +94,6 @@ gl::Error Image9::generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9 ...@@ -94,12 +94,6 @@ gl::Error Image9::generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
Image9 *Image9::makeImage9(ImageD3D *img)
{
ASSERT(HAS_DYNAMIC_TYPE(Image9*, img));
return static_cast<Image9*>(img);
}
gl::Error Image9::generateMipmap(Image9 *dest, Image9 *source) gl::Error Image9::generateMipmap(Image9 *dest, Image9 *source)
{ {
IDirect3DSurface9 *sourceSurface = NULL; IDirect3DSurface9 *sourceSurface = NULL;
...@@ -336,7 +330,7 @@ gl::Error Image9::getSurface(IDirect3DSurface9 **outSurface) ...@@ -336,7 +330,7 @@ gl::Error Image9::getSurface(IDirect3DSurface9 **outSurface)
gl::Error Image9::setManagedSurface2D(TextureStorage *storage, int level) gl::Error Image9::setManagedSurface2D(TextureStorage *storage, int level)
{ {
IDirect3DSurface9 *surface = NULL; IDirect3DSurface9 *surface = NULL;
TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); TextureStorage9_2D *storage9 = GetAs<TextureStorage9_2D>(storage);
gl::Error error = storage9->getSurfaceLevel(level, false, &surface); gl::Error error = storage9->getSurfaceLevel(level, false, &surface);
if (error.isError()) if (error.isError())
{ {
...@@ -348,7 +342,7 @@ gl::Error Image9::setManagedSurface2D(TextureStorage *storage, int level) ...@@ -348,7 +342,7 @@ gl::Error Image9::setManagedSurface2D(TextureStorage *storage, int level)
gl::Error Image9::setManagedSurfaceCube(TextureStorage *storage, int face, int level) gl::Error Image9::setManagedSurfaceCube(TextureStorage *storage, int face, int level)
{ {
IDirect3DSurface9 *surface = NULL; IDirect3DSurface9 *surface = NULL;
TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); TextureStorage9_Cube *storage9 = GetAs<TextureStorage9_Cube>(storage);
gl::Error error = storage9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, false, &surface); gl::Error error = storage9->getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level, false, &surface);
if (error.isError()) if (error.isError())
{ {
...@@ -394,7 +388,7 @@ gl::Error Image9::copyToStorage(TextureStorage *storage, const gl::ImageIndex &i ...@@ -394,7 +388,7 @@ gl::Error Image9::copyToStorage(TextureStorage *storage, const gl::ImageIndex &i
if (index.type == GL_TEXTURE_2D) if (index.type == GL_TEXTURE_2D)
{ {
TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage); TextureStorage9_2D *storage9 = GetAs<TextureStorage9_2D>(storage);
error = storage9->getSurfaceLevel(index.mipIndex, true, &destSurface); error = storage9->getSurfaceLevel(index.mipIndex, true, &destSurface);
if (error.isError()) if (error.isError())
{ {
...@@ -404,7 +398,7 @@ gl::Error Image9::copyToStorage(TextureStorage *storage, const gl::ImageIndex &i ...@@ -404,7 +398,7 @@ gl::Error Image9::copyToStorage(TextureStorage *storage, const gl::ImageIndex &i
else else
{ {
ASSERT(gl::IsCubeMapTextureTarget(index.type)); ASSERT(gl::IsCubeMapTextureTarget(index.type));
TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage); TextureStorage9_Cube *storage9 = GetAs<TextureStorage9_Cube>(storage);
error = storage9->getCubeMapSurface(index.type, index.mipIndex, true, &destSurface); error = storage9->getCubeMapSurface(index.type, index.mipIndex, true, &destSurface);
if (error.isError()) if (error.isError())
{ {
...@@ -557,7 +551,7 @@ gl::Error Image9::copy(const gl::Offset &destOffset, const gl::Rectangle &source ...@@ -557,7 +551,7 @@ gl::Error Image9::copy(const gl::Offset &destOffset, const gl::Rectangle &source
// ES3.0 only behaviour to copy into a 3d texture // ES3.0 only behaviour to copy into a 3d texture
ASSERT(destOffset.z == 0); ASSERT(destOffset.z == 0);
RenderTarget9 *renderTarget = RenderTarget9::makeRenderTarget9(source); RenderTarget9 *renderTarget = GetAs<RenderTarget9>(source);
IDirect3DSurface9 *surface = renderTarget->getSurface(); IDirect3DSurface9 *surface = renderTarget->getSurface();
ASSERT(surface); ASSERT(surface);
......
...@@ -28,8 +28,6 @@ class Image9 : public ImageD3D ...@@ -28,8 +28,6 @@ class Image9 : public ImageD3D
Image9(Renderer9 *renderer); Image9(Renderer9 *renderer);
~Image9(); ~Image9();
static Image9 *makeImage9(ImageD3D *img);
static gl::Error generateMipmap(Image9 *dest, Image9 *source); static gl::Error generateMipmap(Image9 *dest, Image9 *source);
static gl::Error generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9 *sourceSurface); static gl::Error generateMip(IDirect3DSurface9 *destSurface, IDirect3DSurface9 *sourceSurface);
static gl::Error copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source); static gl::Error copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source);
......
...@@ -65,12 +65,6 @@ gl::Error IndexBuffer9::initialize(unsigned int bufferSize, GLenum indexType, bo ...@@ -65,12 +65,6 @@ gl::Error IndexBuffer9::initialize(unsigned int bufferSize, GLenum indexType, bo
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
IndexBuffer9 *IndexBuffer9::makeIndexBuffer9(IndexBuffer *indexBuffer)
{
ASSERT(HAS_DYNAMIC_TYPE(IndexBuffer9*, indexBuffer));
return static_cast<IndexBuffer9*>(indexBuffer);
}
gl::Error IndexBuffer9::mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory) gl::Error IndexBuffer9::mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory)
{ {
if (!mIndexBuffer) if (!mIndexBuffer)
......
...@@ -23,8 +23,6 @@ class IndexBuffer9 : public IndexBuffer ...@@ -23,8 +23,6 @@ class IndexBuffer9 : public IndexBuffer
virtual gl::Error initialize(unsigned int bufferSize, GLenum indexType, bool dynamic); virtual gl::Error initialize(unsigned int bufferSize, GLenum indexType, bool dynamic);
static IndexBuffer9 *makeIndexBuffer9(IndexBuffer *indexBuffer);
virtual gl::Error mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory); virtual gl::Error mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory);
virtual gl::Error unmapBuffer(); virtual gl::Error unmapBuffer();
......
...@@ -16,12 +16,6 @@ ...@@ -16,12 +16,6 @@
namespace rx namespace rx
{ {
RenderTarget9 *RenderTarget9::makeRenderTarget9(RenderTargetD3D *target)
{
ASSERT(HAS_DYNAMIC_TYPE(RenderTarget9*, target));
return static_cast<RenderTarget9*>(target);
}
// TODO: AddRef the incoming surface to take ownership instead of expecting that its ref is being given. // TODO: AddRef the incoming surface to take ownership instead of expecting that its ref is being given.
TextureRenderTarget9::TextureRenderTarget9(IDirect3DSurface9 *surface, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, TextureRenderTarget9::TextureRenderTarget9(IDirect3DSurface9 *surface, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth,
GLsizei samples) GLsizei samples)
......
...@@ -23,8 +23,6 @@ class RenderTarget9 : public RenderTargetD3D ...@@ -23,8 +23,6 @@ class RenderTarget9 : public RenderTargetD3D
RenderTarget9() { } RenderTarget9() { }
virtual ~RenderTarget9() { } virtual ~RenderTarget9() { }
static RenderTarget9 *makeRenderTarget9(RenderTargetD3D *renderTarget);
virtual IDirect3DSurface9 *getSurface() = 0; virtual IDirect3DSurface9 *getSurface() = 0;
virtual D3DFORMAT getD3DFormat() const = 0; virtual D3DFORMAT getD3DFormat() const = 0;
......
...@@ -173,12 +173,6 @@ void Renderer9::release() ...@@ -173,12 +173,6 @@ void Renderer9::release()
mD3d9Module = NULL; mD3d9Module = NULL;
} }
Renderer9 *Renderer9::makeRenderer9(Renderer *renderer)
{
ASSERT(HAS_DYNAMIC_TYPE(Renderer9*, renderer));
return static_cast<Renderer9*>(renderer);
}
egl::Error Renderer9::initialize() egl::Error Renderer9::initialize()
{ {
if (!mCompiler.initialize()) if (!mCompiler.initialize())
...@@ -834,7 +828,7 @@ gl::Error Renderer9::setTexture(gl::SamplerType type, int index, gl::Texture *te ...@@ -834,7 +828,7 @@ gl::Error Renderer9::setTexture(gl::SamplerType type, int index, gl::Texture *te
// Texture should be complete and have a storage // Texture should be complete and have a storage
ASSERT(texStorage); ASSERT(texStorage);
TextureStorage9 *storage9 = TextureStorage9::makeTextureStorage9(texStorage); TextureStorage9 *storage9 = GetAs<TextureStorage9>(texStorage);
error = storage9->getBaseTexture(&d3dTexture); error = storage9->getBaseTexture(&d3dTexture);
if (error.isError()) if (error.isError())
{ {
...@@ -1442,7 +1436,7 @@ gl::Error Renderer9::applyIndexBuffer(const GLvoid *indices, gl::Buffer *element ...@@ -1442,7 +1436,7 @@ gl::Error Renderer9::applyIndexBuffer(const GLvoid *indices, gl::Buffer *element
if (indexInfo->serial != mAppliedIBSerial) if (indexInfo->serial != mAppliedIBSerial)
{ {
IndexBuffer9* indexBuffer = IndexBuffer9::makeIndexBuffer9(indexInfo->indexBuffer); IndexBuffer9* indexBuffer = GetAs<IndexBuffer9>(indexInfo->indexBuffer);
mDevice->SetIndices(indexBuffer->getBuffer()); mDevice->SetIndices(indexBuffer->getBuffer());
mAppliedIBSerial = indexInfo->serial; mAppliedIBSerial = indexInfo->serial;
...@@ -1477,7 +1471,7 @@ gl::Error Renderer9::drawArrays(const gl::Data &data, GLenum mode, GLsizei count ...@@ -1477,7 +1471,7 @@ gl::Error Renderer9::drawArrays(const gl::Data &data, GLenum mode, GLsizei count
if (mAppliedIBSerial != countingIB->getSerial()) if (mAppliedIBSerial != countingIB->getSerial())
{ {
IndexBuffer9 *indexBuffer = IndexBuffer9::makeIndexBuffer9(countingIB->getIndexBuffer()); IndexBuffer9 *indexBuffer = GetAs<IndexBuffer9>(countingIB->getIndexBuffer());
mDevice->SetIndices(indexBuffer->getBuffer()); mDevice->SetIndices(indexBuffer->getBuffer());
mAppliedIBSerial = countingIB->getSerial(); mAppliedIBSerial = countingIB->getSerial();
...@@ -1700,7 +1694,7 @@ gl::Error Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indi ...@@ -1700,7 +1694,7 @@ gl::Error Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indi
if (mAppliedIBSerial != mLineLoopIB->getSerial()) if (mAppliedIBSerial != mLineLoopIB->getSerial())
{ {
IndexBuffer9 *indexBuffer = IndexBuffer9::makeIndexBuffer9(mLineLoopIB->getIndexBuffer()); IndexBuffer9 *indexBuffer = GetAs<IndexBuffer9>(mLineLoopIB->getIndexBuffer());
mDevice->SetIndices(indexBuffer->getBuffer()); mDevice->SetIndices(indexBuffer->getBuffer());
mAppliedIBSerial = mLineLoopIB->getSerial(); mAppliedIBSerial = mLineLoopIB->getSerial();
...@@ -1846,8 +1840,8 @@ gl::Error Renderer9::applyShaders(gl::Program *program, const gl::VertexFormat i ...@@ -1846,8 +1840,8 @@ gl::Error Renderer9::applyShaders(gl::Program *program, const gl::VertexFormat i
return error; return error;
} }
IDirect3DVertexShader9 *vertexShader = (vertexExe ? ShaderExecutable9::makeShaderExecutable9(vertexExe)->getVertexShader() : NULL); IDirect3DVertexShader9 *vertexShader = (vertexExe ? GetAs<ShaderExecutable9>(vertexExe)->getVertexShader() : nullptr);
IDirect3DPixelShader9 *pixelShader = (pixelExe ? ShaderExecutable9::makeShaderExecutable9(pixelExe)->getPixelShader() : NULL); IDirect3DPixelShader9 *pixelShader = (pixelExe ? GetAs<ShaderExecutable9>(pixelExe)->getPixelShader() : nullptr);
if (vertexShader != mAppliedVertexShader) if (vertexShader != mAppliedVertexShader)
{ {
...@@ -2011,7 +2005,7 @@ gl::Error Renderer9::clear(const ClearParameters &clearParams, ...@@ -2011,7 +2005,7 @@ gl::Error Renderer9::clear(const ClearParameters &clearParams,
return error; return error;
} }
RenderTarget9 *stencilRenderTarget9 = RenderTarget9::makeRenderTarget9(stencilRenderTarget); RenderTarget9 *stencilRenderTarget9 = GetAs<RenderTarget9>(stencilRenderTarget);
ASSERT(stencilRenderTarget9); ASSERT(stencilRenderTarget9);
const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(stencilRenderTarget9->getD3DFormat()); const d3d9::D3DFormat &d3dFormatInfo = d3d9::GetD3DFormatInfo(stencilRenderTarget9->getD3DFormat());
...@@ -2032,7 +2026,7 @@ gl::Error Renderer9::clear(const ClearParameters &clearParams, ...@@ -2032,7 +2026,7 @@ gl::Error Renderer9::clear(const ClearParameters &clearParams,
return error; return error;
} }
RenderTarget9 *colorRenderTarget9 = RenderTarget9::makeRenderTarget9(colorRenderTarget); RenderTarget9 *colorRenderTarget9 = GetAs<RenderTarget9>(colorRenderTarget);
ASSERT(colorRenderTarget9); ASSERT(colorRenderTarget9);
const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(colorBuffer->getInternalFormat()); const gl::InternalFormat &formatInfo = gl::GetInternalFormatInfo(colorBuffer->getInternalFormat());
...@@ -2841,14 +2835,14 @@ ImageD3D *Renderer9::createImage() ...@@ -2841,14 +2835,14 @@ ImageD3D *Renderer9::createImage()
gl::Error Renderer9::generateMipmap(ImageD3D *dest, ImageD3D *src) gl::Error Renderer9::generateMipmap(ImageD3D *dest, ImageD3D *src)
{ {
Image9 *src9 = Image9::makeImage9(src); Image9 *src9 = GetAs<Image9>(src);
Image9 *dst9 = Image9::makeImage9(dest); Image9 *dst9 = GetAs<Image9>(dest);
return Image9::generateMipmap(dst9, src9); return Image9::generateMipmap(dst9, src9);
} }
TextureStorage *Renderer9::createTextureStorage2D(SwapChainD3D *swapChain) TextureStorage *Renderer9::createTextureStorage2D(SwapChainD3D *swapChain)
{ {
SwapChain9 *swapChain9 = SwapChain9::makeSwapChain9(swapChain); SwapChain9 *swapChain9 = GetAs<SwapChain9>(swapChain);
return new TextureStorage9_2D(this, swapChain9); return new TextureStorage9_2D(this, swapChain9);
} }
......
...@@ -64,8 +64,6 @@ class Renderer9 : public RendererD3D ...@@ -64,8 +64,6 @@ class Renderer9 : public RendererD3D
explicit Renderer9(egl::Display *display); explicit Renderer9(egl::Display *display);
virtual ~Renderer9(); virtual ~Renderer9();
static Renderer9 *makeRenderer9(Renderer *renderer);
egl::Error initialize() override; egl::Error initialize() override;
virtual bool resetDevice(); virtual bool resetDevice();
......
...@@ -34,12 +34,6 @@ ShaderExecutable9::~ShaderExecutable9() ...@@ -34,12 +34,6 @@ ShaderExecutable9::~ShaderExecutable9()
SafeRelease(mPixelExecutable); SafeRelease(mPixelExecutable);
} }
ShaderExecutable9 *ShaderExecutable9::makeShaderExecutable9(ShaderExecutableD3D *executable)
{
ASSERT(HAS_DYNAMIC_TYPE(ShaderExecutable9*, executable));
return static_cast<ShaderExecutable9*>(executable);
}
IDirect3DVertexShader9 *ShaderExecutable9::getVertexShader() const IDirect3DVertexShader9 *ShaderExecutable9::getVertexShader() const
{ {
return mVertexExecutable; return mVertexExecutable;
......
...@@ -22,8 +22,6 @@ class ShaderExecutable9 : public ShaderExecutableD3D ...@@ -22,8 +22,6 @@ class ShaderExecutable9 : public ShaderExecutableD3D
ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable); ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable);
virtual ~ShaderExecutable9(); virtual ~ShaderExecutable9();
static ShaderExecutable9 *makeShaderExecutable9(ShaderExecutableD3D *executable);
IDirect3DPixelShader9 *getPixelShader() const; IDirect3DPixelShader9 *getPixelShader() const;
IDirect3DVertexShader9 *getVertexShader() const; IDirect3DVertexShader9 *getVertexShader() const;
......
...@@ -384,12 +384,6 @@ IDirect3DTexture9 *SwapChain9::getOffscreenTexture() ...@@ -384,12 +384,6 @@ IDirect3DTexture9 *SwapChain9::getOffscreenTexture()
return mOffscreenTexture; return mOffscreenTexture;
} }
SwapChain9 *SwapChain9::makeSwapChain9(SwapChainD3D *swapChain)
{
ASSERT(HAS_DYNAMIC_TYPE(SwapChain9*, swapChain));
return static_cast<SwapChain9*>(swapChain);
}
void SwapChain9::recreate() void SwapChain9::recreate()
{ {
if (!mSwapChain) if (!mSwapChain)
......
...@@ -39,8 +39,6 @@ class SwapChain9 : public SwapChainD3D ...@@ -39,8 +39,6 @@ class SwapChain9 : public SwapChainD3D
EGLint getWidth() const { return mWidth; } EGLint getWidth() const { return mWidth; }
EGLint getHeight() const { return mHeight; } EGLint getHeight() const { return mHeight; }
static SwapChain9 *makeSwapChain9(SwapChainD3D *swapChain);
private: private:
void release(); void release();
......
...@@ -27,7 +27,7 @@ TextureStorage9::TextureStorage9(Renderer9 *renderer, DWORD usage) ...@@ -27,7 +27,7 @@ TextureStorage9::TextureStorage9(Renderer9 *renderer, DWORD usage)
mTextureHeight(0), mTextureHeight(0),
mInternalFormat(GL_NONE), mInternalFormat(GL_NONE),
mTextureFormat(D3DFMT_UNKNOWN), mTextureFormat(D3DFMT_UNKNOWN),
mRenderer(Renderer9::makeRenderer9(renderer)), mRenderer(renderer),
mD3DUsage(usage), mD3DUsage(usage),
mD3DPool(mRenderer->getTexturePool(usage)) mD3DPool(mRenderer->getTexturePool(usage))
{ {
...@@ -37,12 +37,6 @@ TextureStorage9::~TextureStorage9() ...@@ -37,12 +37,6 @@ TextureStorage9::~TextureStorage9()
{ {
} }
TextureStorage9 *TextureStorage9::makeTextureStorage9(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage9*, storage));
return static_cast<TextureStorage9*>(storage);
}
DWORD TextureStorage9::GetTextureUsage(GLenum internalformat, bool renderTarget) DWORD TextureStorage9::GetTextureUsage(GLenum internalformat, bool renderTarget)
{ {
DWORD d3dusage = 0; DWORD d3dusage = 0;
...@@ -144,12 +138,6 @@ TextureStorage9_2D::~TextureStorage9_2D() ...@@ -144,12 +138,6 @@ TextureStorage9_2D::~TextureStorage9_2D()
SafeDelete(mRenderTarget); SafeDelete(mRenderTarget);
} }
TextureStorage9_2D *TextureStorage9_2D::makeTextureStorage9_2D(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage9_2D*, storage));
return static_cast<TextureStorage9_2D*>(storage);
}
// Increments refcount on surface. // Increments refcount on surface.
// caller must Release() the returned surface // caller must Release() the returned surface
gl::Error TextureStorage9_2D::getSurfaceLevel(int level, bool dirty, IDirect3DSurface9 **outSurface) gl::Error TextureStorage9_2D::getSurfaceLevel(int level, bool dirty, IDirect3DSurface9 **outSurface)
...@@ -252,7 +240,7 @@ gl::Error TextureStorage9_2D::copyToStorage(TextureStorage *destStorage) ...@@ -252,7 +240,7 @@ gl::Error TextureStorage9_2D::copyToStorage(TextureStorage *destStorage)
{ {
ASSERT(destStorage); ASSERT(destStorage);
TextureStorage9_2D *dest9 = TextureStorage9_2D::makeTextureStorage9_2D(destStorage); TextureStorage9_2D *dest9 = GetAs<TextureStorage9_2D>(destStorage);
int levels = getLevelCount(); int levels = getLevelCount();
for (int i = 0; i < levels; ++i) for (int i = 0; i < levels; ++i)
...@@ -319,12 +307,6 @@ TextureStorage9_Cube::~TextureStorage9_Cube() ...@@ -319,12 +307,6 @@ TextureStorage9_Cube::~TextureStorage9_Cube()
} }
} }
TextureStorage9_Cube *TextureStorage9_Cube::makeTextureStorage9_Cube(TextureStorage *storage)
{
ASSERT(HAS_DYNAMIC_TYPE(TextureStorage9_Cube*, storage));
return static_cast<TextureStorage9_Cube*>(storage);
}
// Increments refcount on surface. // Increments refcount on surface.
// caller must Release() the returned surface // caller must Release() the returned surface
gl::Error TextureStorage9_Cube::getCubeMapSurface(GLenum faceTarget, int level, bool dirty, IDirect3DSurface9 **outSurface) gl::Error TextureStorage9_Cube::getCubeMapSurface(GLenum faceTarget, int level, bool dirty, IDirect3DSurface9 **outSurface)
...@@ -432,7 +414,7 @@ gl::Error TextureStorage9_Cube::copyToStorage(TextureStorage *destStorage) ...@@ -432,7 +414,7 @@ gl::Error TextureStorage9_Cube::copyToStorage(TextureStorage *destStorage)
{ {
ASSERT(destStorage); ASSERT(destStorage);
TextureStorage9_Cube *dest9 = TextureStorage9_Cube::makeTextureStorage9_Cube(destStorage); TextureStorage9_Cube *dest9 = GetAs<TextureStorage9_Cube>(destStorage);
int levels = getLevelCount(); int levels = getLevelCount();
for (int f = 0; f < CUBE_FACE_COUNT; f++) for (int f = 0; f < CUBE_FACE_COUNT; f++)
......
...@@ -26,8 +26,6 @@ class TextureStorage9 : public TextureStorage ...@@ -26,8 +26,6 @@ class TextureStorage9 : public TextureStorage
public: public:
virtual ~TextureStorage9(); virtual ~TextureStorage9();
static TextureStorage9 *makeTextureStorage9(TextureStorage *storage);
static DWORD GetTextureUsage(GLenum internalformat, bool renderTarget); static DWORD GetTextureUsage(GLenum internalformat, bool renderTarget);
D3DPOOL getPool() const; D3DPOOL getPool() const;
...@@ -68,8 +66,6 @@ class TextureStorage9_2D : public TextureStorage9 ...@@ -68,8 +66,6 @@ class TextureStorage9_2D : public TextureStorage9
TextureStorage9_2D(Renderer9 *renderer, GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels); TextureStorage9_2D(Renderer9 *renderer, GLenum internalformat, bool renderTarget, GLsizei width, GLsizei height, int levels);
virtual ~TextureStorage9_2D(); virtual ~TextureStorage9_2D();
static TextureStorage9_2D *makeTextureStorage9_2D(TextureStorage *storage);
gl::Error getSurfaceLevel(int level, bool dirty, IDirect3DSurface9 **outSurface); gl::Error getSurfaceLevel(int level, bool dirty, IDirect3DSurface9 **outSurface);
virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT); virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT);
virtual gl::Error getBaseTexture(IDirect3DBaseTexture9 **outTexture); virtual gl::Error getBaseTexture(IDirect3DBaseTexture9 **outTexture);
...@@ -87,8 +83,6 @@ class TextureStorage9_Cube : public TextureStorage9 ...@@ -87,8 +83,6 @@ class TextureStorage9_Cube : public TextureStorage9
TextureStorage9_Cube(Renderer9 *renderer, GLenum internalformat, bool renderTarget, int size, int levels, bool hintLevelZeroOnly); TextureStorage9_Cube(Renderer9 *renderer, GLenum internalformat, bool renderTarget, int size, int levels, bool hintLevelZeroOnly);
virtual ~TextureStorage9_Cube(); virtual ~TextureStorage9_Cube();
static TextureStorage9_Cube *makeTextureStorage9_Cube(TextureStorage *storage);
gl::Error getCubeMapSurface(GLenum faceTarget, int level, bool dirty, IDirect3DSurface9 **outSurface); gl::Error getCubeMapSurface(GLenum faceTarget, int level, bool dirty, IDirect3DSurface9 **outSurface);
virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT); virtual gl::Error getRenderTarget(const gl::ImageIndex &index, RenderTargetD3D **outRT);
virtual gl::Error getBaseTexture(IDirect3DBaseTexture9 **outTexture); virtual gl::Error getBaseTexture(IDirect3DBaseTexture9 **outTexture);
......
...@@ -56,12 +56,6 @@ gl::Error VertexBuffer9::initialize(unsigned int size, bool dynamicUsage) ...@@ -56,12 +56,6 @@ gl::Error VertexBuffer9::initialize(unsigned int size, bool dynamicUsage)
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
VertexBuffer9 *VertexBuffer9::makeVertexBuffer9(VertexBuffer *vertexBuffer)
{
ASSERT(HAS_DYNAMIC_TYPE(VertexBuffer9*, vertexBuffer));
return static_cast<VertexBuffer9*>(vertexBuffer);
}
gl::Error VertexBuffer9::storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue, gl::Error VertexBuffer9::storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue,
GLint start, GLsizei count, GLsizei instances, unsigned int offset) GLint start, GLsizei count, GLsizei instances, unsigned int offset)
{ {
......
...@@ -23,8 +23,6 @@ class VertexBuffer9 : public VertexBuffer ...@@ -23,8 +23,6 @@ class VertexBuffer9 : public VertexBuffer
virtual gl::Error initialize(unsigned int size, bool dynamicUsage); virtual gl::Error initialize(unsigned int size, bool dynamicUsage);
static VertexBuffer9 *makeVertexBuffer9(VertexBuffer *vertexBuffer);
virtual gl::Error storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue, virtual gl::Error storeVertexAttributes(const gl::VertexAttribute &attrib, const gl::VertexAttribCurrentValueData &currentValue,
GLint start, GLsizei count, GLsizei instances, unsigned int offset); GLint start, GLsizei count, GLsizei instances, unsigned int offset);
......
...@@ -135,7 +135,7 @@ gl::Error VertexDeclarationCache::applyDeclaration(IDirect3DDevice9 *device, Tra ...@@ -135,7 +135,7 @@ gl::Error VertexDeclarationCache::applyDeclaration(IDirect3DDevice9 *device, Tra
} }
} }
VertexBuffer9 *vertexBuffer = VertexBuffer9::makeVertexBuffer9(attributes[i].vertexBuffer); VertexBuffer9 *vertexBuffer = GetAs<VertexBuffer9>(attributes[i].vertexBuffer);
if (mAppliedVBs[stream].serial != attributes[i].serial || if (mAppliedVBs[stream].serial != attributes[i].serial ||
mAppliedVBs[stream].stride != attributes[i].stride || mAppliedVBs[stream].stride != attributes[i].stride ||
......
...@@ -579,7 +579,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment, ...@@ -579,7 +579,7 @@ gl::Error GetAttachmentRenderTarget(const gl::FramebufferAttachment *attachment,
{ {
return error; return error;
} }
*outRT = RenderTarget9::makeRenderTarget9(renderTarget); *outRT = GetAs<RenderTarget9>(renderTarget);
return gl::Error(GL_NO_ERROR); return gl::Error(GL_NO_ERROR);
} }
......
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