stride3d / stride3d/stride

Got Error when enable the GameProfiling

Open
#2,040 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Release Type: GitHub

Version: the latest(.net8)

Platform(s): Windows (Direct3D12)

Describe the bug
as title

To Reproduce
Steps to reproduce the behavior:

  1. Enable the GameProfiling when select 'Direct3D12'

Expected behavior
A clear and concise description of what you expected to happen.

Log and callstacks
[MyGame]: Error: Unexpected exception. SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: ��������

at SharpDX.Result.CheckError() in C:\projects\sharpdx\Source\SharpDX\Result.cs:line 195
at SharpDX.Direct3D12.Device.CreateCommittedResource(HeapProperties& heapPropertiesRef, HeapFlags heapFlags, ResourceDescription& descRef, ResourceStates initialResourceState, Nullable1 optimizedClearValueRef, Guid riidResource) in C:\projects\sharpdx\Source\SharpDX.Direct3D12\Generated\REFERENCE\Interfaces.cs:line 1398 at SharpDX.Direct3D12.Device.CreateCommittedResource(HeapProperties heapPropertiesRef, HeapFlags heapFlags, ResourceDescription resourceDescRef, ResourceStates initialResourceState, Nullable1 optimizedClearValueRef) in C:\projects\sharpdx\Source\SharpDX.Direct3D12\Device.cs:line 221
at Stride.Graphics.Buffer.Recreate(IntPtr dataPointer)
at Stride.Graphics.Buffer.InitializeFromImpl(BufferDescription description, BufferFlags viewFlags, PixelFormat viewFormat, IntPtr dataPointer)
at Stride.Graphics.Buffer`1..ctor(GraphicsDevice device, BufferDescription description, BufferFlags viewFlags, PixelFormat viewFormat, IntPtr dataPointer)
at Stride.Graphics.Buffer.New[T](GraphicsDevice device, T[] initialValue, BufferFlags bufferFlags, PixelFormat viewFormat, GraphicsResourceUsage usage)
at Stride.Graphics.Buffer.New[T](GraphicsDevice device, T[] initialValue, BufferFlags bufferFlags, GraphicsResourceUsage usage)
at Stride.Graphics.Buffer.Vertex.New[T](GraphicsDevice device, T[] value, GraphicsResourceUsage usage)
at Stride.Graphics.FastTextRenderer.Initialize(GraphicsContext graphicsContext, Int32 maxCharacters)
at Stride.Graphics.FastTextRenderer..ctor(GraphicsContext graphicsContext, Int32 maxCharacterCount)
at Stride.Profiling.GameProfilingSystem.Draw(GameTime gameTime) in E:\Stride\stride\sources\engine\Stride.Engine\Profiling\GameProfilingSystem.cs:line 354
at Stride.Games.GameSystemCollection.Draw(GameTime gameTime)
at Stride.Games.GameBase.Draw(GameTime gameTime)
at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
at Stride.Games.GameBase.RawTickProducer()

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure on Windows with Direct3D12 and GameProfiling enabled, then inspect Stride.Engine/Profiling/GameProfilingSystem.cs around line 354. Trace the FastTextRenderer initialization through Buffer.Recreate and the Direct3D12 Device.CreateCommittedResource call. Done means profiling no longer raises the reported E_INVALIDARG exception.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.