DebugText.Print causes a GraphicsException at graphics profile Level_9_1
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Release Type: GitHub
Version: master
Platform(s): Windows
Describe the bug
When targeting DX 9 via Level_9_1:
Calling DebugText.Print("Whatever", new Int2(10)); on the new project raises a Stride.Graphics.GraphicsException (details below).
To Reproduce
Steps to reproduce the behavior:
- Create new project, select graphics profile 9.1
- Add a SyncScript that tries to debug print something
- Observe the game crash
Expected behavior
The string is printed on the screen.
Log and callstacks
Stride.Graphics.GraphicsException: Unexpected error on Present (device status: InternalError)
---> SharpDX.SharpDXException: HRESULT: [0x887A0005], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_DEVICE_REMOVED/DeviceRemoved],
Message: The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
at SharpDX.Result.CheckError()
at SharpDX.DXGI.SwapChain.Present(Int32 syncInterval, PresentFlags flags)
at Stride.Graphics.SwapChainGraphicsPresenter.Present()
--- End of inner exception stack trace ---
at Stride.Graphics.SwapChainGraphicsPresenter.Present()
at Stride.Games.GraphicsDeviceManager.Stride.Games.IGraphicsDeviceManager.EndDraw(Boolean present)
at Stride.Games.GameBase.EndDraw(Boolean present)
at Stride.Engine.Game.EndDraw(Boolean present)
at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
at Stride.Games.GameBase.RawTickProducer()
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the crash in a new Windows project using graphics profile Level_9_1 and a SyncScript calling DebugText.Print("Whatever", new Int2(10)). Start by tracing the call through SwapChainGraphicsPresenter.Present() and the reported DXGI device-removed error. Done means the text is rendered on screen without a GraphicsException at Present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100