Skip to content

Commit f8eb105

Browse files
committed
[Toolkit.Game] Fix issue with DepthBuffer not being created on WP8
1 parent aa9e823 commit f8eb105

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Source/Toolkit/SharpDX.Toolkit.Game/WindowsPhone/GamePlatformPhone.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ public override List<GraphicsDeviceInformation> FindBestDevices(GameGraphicsPara
5656
if (gameWindowBackgroundXaml != null)
5757
{
5858
// Make sure that we have the single graphics device created by the BackgroundXaml
59+
gameWindowBackgroundXaml.RequestDepthFormat = prefferedParameters.PreferredDepthStencilFormat;
5960
var graphicsDevice = gameWindowBackgroundXaml.EnsureDevice();
6061

61-
6262
// Unlike Desktop and WinRT, the list of best devices are completely fixed in WP8 XAML
6363
// So we return a single element
6464
var deviceInfo = new GraphicsDeviceInformation
@@ -109,7 +109,7 @@ public override GraphicsDevice CreateDevice(GraphicsDeviceInformation deviceInfo
109109
var renderTarget = Graphics.Texture2D.New(device, renderTargetDesc);
110110
var BackBuffer = RenderTarget2D.New(device, new RenderTargetView(device, renderTarget));
111111

112-
var graphicsPresenter = new RenderTargetGraphicsPresenter(device, BackBuffer);
112+
var graphicsPresenter = new RenderTargetGraphicsPresenter(device, BackBuffer, deviceInformation.PresentationParameters.DepthStencilFormat);
113113
device.Presenter = graphicsPresenter;
114114

115115
var gameWindowXaml = (GameWindowPhoneXaml)gameWindow;

Source/Toolkit/SharpDX.Toolkit.Game/WindowsPhone/GameWindowPhoneBackgroundXaml.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,8 @@ internal override bool CanHandle(GameContext gameContext)
256256
return gameContext.ContextType == GameContextType.WindowsPhoneBackgroundXaml;
257257
}
258258

259+
public DepthFormat RequestDepthFormat;
260+
259261
/// <summary>
260262
/// Creates a <see cref="GraphicsDevice"/> if not already created based from latest internal device.
261263
/// </summary>
@@ -305,7 +307,7 @@ internal void EnsurePresenter(bool resetPresenter)
305307

306308
if (resetPresenter)
307309
{
308-
graphicsPresenter = new RenderTargetGraphicsPresenter(graphicsDevice, backBuffer);
310+
graphicsPresenter = new RenderTargetGraphicsPresenter(graphicsDevice, backBuffer, RequestDepthFormat);
309311
graphicsDevice.Presenter = graphicsPresenter;
310312
}
311313

0 commit comments

Comments
 (0)