Adds makeRenderer9/11 functions

TRAC #22134 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1479 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent f2423659
...@@ -280,8 +280,7 @@ bool Image::redefine(rx::Renderer9 *renderer, GLint internalformat, GLsizei widt ...@@ -280,8 +280,7 @@ bool Image::redefine(rx::Renderer9 *renderer, GLint internalformat, GLsizei widt
mD3DFormat = renderer->ConvertTextureInternalFormat(internalformat); mD3DFormat = renderer->ConvertTextureInternalFormat(internalformat);
mActualFormat = d3d9_gl::GetEquivalentFormat(mD3DFormat); mActualFormat = d3d9_gl::GetEquivalentFormat(mD3DFormat);
ASSERT(dynamic_cast<rx::Renderer9*>(renderer) != NULL); // D3D9_REPLACE mRenderer = Renderer9::makeRenderer9(renderer); // D3D9_REPLACE
mRenderer = static_cast<rx::Renderer9*>(renderer); // D3D9_REPLACE
if (mSurface) if (mSurface)
{ {
......
...@@ -18,8 +18,7 @@ namespace rx ...@@ -18,8 +18,7 @@ namespace rx
RenderTarget9::RenderTarget9(Renderer *renderer, IDirect3DSurface9 *surface) RenderTarget9::RenderTarget9(Renderer *renderer, IDirect3DSurface9 *surface)
{ {
ASSERT(dynamic_cast<rx::Renderer9*>(renderer) != NULL); mRenderer = Renderer9::makeRenderer9(renderer);
mRenderer = static_cast<rx::Renderer9*>(renderer);
mRenderTarget = surface; mRenderTarget = surface;
if (mRenderTarget) if (mRenderTarget)
...@@ -38,8 +37,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, IDirect3DSurface9 *surface) ...@@ -38,8 +37,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, IDirect3DSurface9 *surface)
RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height, GLenum format, GLsizei samples) RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height, GLenum format, GLsizei samples)
{ {
ASSERT(dynamic_cast<rx::Renderer9*>(renderer) != NULL); mRenderer = Renderer9::makeRenderer9(renderer);
mRenderer = static_cast<rx::Renderer9*>(renderer);
mRenderTarget = NULL; mRenderTarget = NULL;
D3DFORMAT requestedFormat = gl_d3d9::ConvertRenderbufferFormat(format); D3DFORMAT requestedFormat = gl_d3d9::ConvertRenderbufferFormat(format);
......
...@@ -83,6 +83,12 @@ Renderer11::~Renderer11() ...@@ -83,6 +83,12 @@ Renderer11::~Renderer11()
} }
} }
Renderer11 *Renderer11::makeRenderer11(Renderer *renderer)
{
ASSERT(dynamic_cast<rx::Renderer11*>(renderer) != NULL);
return static_cast<rx::Renderer11*>(renderer);
}
EGLint Renderer11::initialize() EGLint Renderer11::initialize()
{ {
mDxgiModule = LoadLibrary(TEXT("dxgi.dll")); mDxgiModule = LoadLibrary(TEXT("dxgi.dll"));
......
...@@ -33,6 +33,8 @@ class Renderer11 : public Renderer ...@@ -33,6 +33,8 @@ class Renderer11 : public Renderer
Renderer11(egl::Display *display, HDC hDc); Renderer11(egl::Display *display, HDC hDc);
virtual ~Renderer11(); virtual ~Renderer11();
static Renderer11 *makeRenderer11(Renderer *renderer);
virtual EGLint initialize(); virtual EGLint initialize();
virtual bool resetDevice(); virtual bool resetDevice();
......
...@@ -150,6 +150,12 @@ Renderer9::~Renderer9() ...@@ -150,6 +150,12 @@ Renderer9::~Renderer9()
} }
} }
Renderer9 *Renderer9::makeRenderer9(Renderer *renderer)
{
ASSERT(dynamic_cast<rx::Renderer9*>(renderer) != NULL);
return static_cast<rx::Renderer9*>(renderer);
}
EGLint Renderer9::initialize() EGLint Renderer9::initialize()
{ {
if (mSoftwareDevice) if (mSoftwareDevice)
......
...@@ -76,6 +76,8 @@ class Renderer9 : public Renderer ...@@ -76,6 +76,8 @@ class Renderer9 : public Renderer
Renderer9(egl::Display *display, HDC hDc, bool softwareDevice); Renderer9(egl::Display *display, HDC hDc, bool softwareDevice);
virtual ~Renderer9(); virtual ~Renderer9();
static Renderer9 *makeRenderer9(Renderer *renderer);
virtual EGLint initialize(); virtual EGLint initialize();
virtual bool resetDevice(); virtual bool resetDevice();
......
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