Split the swap chain into an abstract interface and a D3D9 implementation.
TRAC #21926
Signed-off-by: Daniel Koch
Signed-off-by: Geoff Lang
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1445 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libGLESv2/Renderbuffer.cpp
index 0a1a5ee..3fa4d63 100644
--- a/src/libGLESv2/Renderbuffer.cpp
+++ b/src/libGLESv2/Renderbuffer.cpp
@@ -15,6 +15,7 @@
#include "libGLESv2/utilities.h"
#include "libGLESv2/renderer/RenderTarget9.h" // D3D9_REPLACE
+#include "libGLESv2/renderer/SwapChain9.h" // D3D9_REPLACE
#include "libGLESv2/renderer/renderer9_utils.h" // D3D9_REPLACE
namespace gl
@@ -384,7 +385,8 @@
Colorbuffer::Colorbuffer(rx::Renderer *renderer, rx::SwapChain *swapChain)
{
- mRenderTarget = new rx::RenderTarget9(renderer, swapChain->getRenderTarget());
+ rx::SwapChain9 *swapChain9 = static_cast<rx::SwapChain9*>(swapChain);
+ mRenderTarget = new rx::RenderTarget9(renderer, swapChain9->getRenderTarget());
if (mRenderTarget)
{
mWidth = mRenderTarget->getWidth();
@@ -432,7 +434,8 @@
DepthStencilbuffer::DepthStencilbuffer(rx::Renderer *renderer, rx::SwapChain *swapChain)
{
- mDepthStencil = new rx::RenderTarget9(renderer, swapChain->getDepthStencil());
+ rx::SwapChain9 *swapChain9 = static_cast<rx::SwapChain9*>(swapChain);
+ mDepthStencil = new rx::RenderTarget9(renderer, swapChain9->getDepthStencil());
if (mDepthStencil)
{
mWidth = mDepthStencil->getWidth();