Yesterday I released my app 'Pic Words' to the windows phone store. It is an Silverlight/XNA app that runs on Windows Phone 7.1 & 8. I have BugSense incorporated into my app. Today I started receiving a lot of crash reports emanating exclusively from the 8.0.10211.0 version of Windows Phone 8. I could not replicate the issue since I do now currently own a Windows 8 phone and the emulator is running OS version 8.0.9903.0, which I don't think can be changed. The error from BugSense is as follows:
XNA Framework Reach profile does not support separate alpha blend. BlendState.ColorDestinationBlend and AlphaDestinationBlend must be set to the same value.
Stack Trace:
at Microsoft.Xna.Framework.Graphics.ProfileCapabilities.ThrowNotSupportedException(String message, Object arg1, Object arg2) at Microsoft.Xna.Framework.Graphics.BlendState.Bind(GraphicsDevice device) at Microsoft.Xna.Framework.Graphics.GraphicsDevice.set_BlendState(BlendState value) at Microsoft.Xna.Framework.Graphics.SpriteBatch.SetRenderState() at Microsoft.Xna.Framework.Graphics.SpriteBatch.End() at GlobalEngine.Base.SpriteBatchManager.ResumeSpriteBatch() at GlobalEngine.Base.SpriteBatchManager.Begin(SpriteBatchParams spriteBatchParams) at GlobalEngine.Base.SpriteBatchManager.Begin(Rectangle scissorArea) at GlobalEngine.Base.SpriteBatchManager.Begin() at FourWords.Screens.GameScreen.Draw(Color tint) at GlobalEngine.ScreenUtils.ScreenManager.Draw(Color tint) at GlobalEngine.Base.Engine.Draw() at FourWords.GamePage.OnDraw(Object sender, GameTimerEventArgs e) at Microsoft.Xna.Framework.GameTimer.RaiseDraw(GameTimerEventArgs gameArgs) at Microsoft.Xna.Framework.GameDispatcher.RunFrame() at Microsoft.Xna.Framework.GameDispatcher.OnTick(Object sender, EventArgs e) at MS.Internal.DirectRendering.OnGameUpdate(Object sender, EventArgs e) at MS.Internal.JoltHelper.RaiseEvent(IntPtr target, UInt32 eventId, IntPtr coreEventArgs, UInt32 eventArgsTypeIndex)
GlobalEngine is just my library of basic classes like screen management and so on. SpriteBatchManager is a class I created also for managing the spritebatch.
I Begin the spriteBatch with the following parameters:
SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None
Additionally, I manipulate the graphic device as follows in the GamePage.xaml:
protected override void OnNavigatedTo(NavigationEventArgs e){
// Set the sharing mode of the graphics device to turn on XNA rendering
SharedGraphicsDeviceManager.Current.GraphicsDevice.SetSharingMode(true);
SharedGraphicsDeviceManager.Current.PreferredBackBufferFormat = SurfaceFormat.Color;
SharedGraphicsDeviceManager.Current.ApplyChanges();
//other unrelated code....}
I could not find any help from searching online about this issue and would appreciate any advice on fixing it. Thanks.