Creates new depthstencils for surfaces.

Trac #11396

Creates new depthstencils for new windows when multiple windows exist,
repurposes original depthstencil if old windows have all been destroyed.
Author: Shannon Woods
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch

git-svn-id: https://angleproject.googlecode.com/svn/trunk@28 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/libGLESv2/Context.cpp b/libGLESv2/Context.cpp
index 6fc2cd4..c5a2623 100644
--- a/libGLESv2/Context.cpp
+++ b/libGLESv2/Context.cpp
@@ -202,13 +202,12 @@
 
     // Wrap the existing Direct3D 9 resources into GL objects and assign them to the '0' names
     IDirect3DSurface9 *defaultRenderTarget = surface->getRenderTarget();
-    IDirect3DSurface9 *defaultDepthStencil = NULL;
-    device->GetDepthStencilSurface(&defaultDepthStencil);
+    IDirect3DSurface9 *depthStencil = surface->getDepthStencil();
 
     Framebuffer *framebufferZero = new Framebuffer();
     Colorbuffer *colorbufferZero = new Colorbuffer(defaultRenderTarget);
-    Depthbuffer *depthbufferZero = new Depthbuffer(defaultDepthStencil);
-    Stencilbuffer *stencilbufferZero = new Stencilbuffer(defaultDepthStencil);
+    Depthbuffer *depthbufferZero = new Depthbuffer(depthStencil);
+    Stencilbuffer *stencilbufferZero = new Stencilbuffer(depthStencil);
 
     setFramebufferZero(framebufferZero);
     setColorbufferZero(colorbufferZero);
@@ -221,9 +220,9 @@
 
     defaultRenderTarget->Release();
 
-    if (defaultDepthStencil)
+    if (depthStencil)
     {
-        defaultDepthStencil->Release();
+        depthStencil->Release();
     }
 }