Pass swapchain to Colorbuffer constructor instead of a d3d9 surface

Trac #21810 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1354 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 114bd460
......@@ -319,20 +319,14 @@ void Context::makeCurrent(egl::Display *display, egl::Surface *surface)
// Wrap the existing Direct3D 9 resources into GL objects and assign them to the '0' names
// D3D9_REPLACE
renderer::SwapChain *swapchain = surface->getSwapChain();
IDirect3DSurface9 *defaultRenderTarget = swapchain->getRenderTarget();
IDirect3DSurface9 *depthStencil = swapchain->getDepthStencil();
Colorbuffer *colorbufferZero = new Colorbuffer(defaultRenderTarget);
Colorbuffer *colorbufferZero = new Colorbuffer(swapchain);
DepthStencilbuffer *depthStencilbufferZero = new DepthStencilbuffer(depthStencil);
Framebuffer *framebufferZero = new DefaultFramebuffer(colorbufferZero, depthStencilbufferZero);
setFramebufferZero(framebufferZero);
if (defaultRenderTarget)
{
defaultRenderTarget->Release();
}
if (depthStencil)
{
depthStencil->Release();
......
......@@ -379,14 +379,13 @@ unsigned int RenderbufferStorage::issueCubeSerials()
return firstSerial;
}
Colorbuffer::Colorbuffer(IDirect3DSurface9 *renderTarget) : mRenderTarget(renderTarget)
Colorbuffer::Colorbuffer(renderer::SwapChain *swapChain)
{
if (renderTarget)
mRenderTarget = swapChain->getRenderTarget();
if (mRenderTarget)
{
renderTarget->AddRef();
D3DSURFACE_DESC description;
renderTarget->GetDesc(&description);
mRenderTarget->GetDesc(&description);
mWidth = description.Width;
mHeight = description.Height;
......
......@@ -19,6 +19,8 @@
#include "common/angleutils.h"
#include "common/RefCountObject.h"
#include "renderer/SwapChain.h"
namespace gl
{
class Texture2D;
......@@ -199,7 +201,7 @@ class Renderbuffer : public RefCountObject
class Colorbuffer : public RenderbufferStorage
{
public:
explicit Colorbuffer(IDirect3DSurface9 *renderTarget);
explicit Colorbuffer(renderer::SwapChain *swapChain);
Colorbuffer(GLsizei width, GLsizei height, GLenum format, GLsizei samples);
virtual ~Colorbuffer();
......
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