stride3d / stride

Stride (formerly Xenko), a free and open-source cross-platform C# game engine.
https://stride3d.net
MIT License
6.52k stars 944 forks source link

Can not select Vulkan or DirectX 12 in Rendering Panel #1649

Open SoNewBee opened 1 year ago

SoNewBee commented 1 year ago

1 I created a "Template: Third-Person platformer" project via Stride. But when I click "Game Settings", I just find that I can not switch Rendering API to Vulkan or DirectX 12,just like the picture above. BTW,I install Stride Engine via the installer which is offered by the official website. Any help please?

tebjan commented 1 year ago

The profile is only the available feature set, e.g. to specify the hardware generation. it is recommended to set this to Direct3D 11.0 / OpenGL ES 3.1 to target a wide variety of devices. The graphics API is set via an identifier in the c# project: https://github.com/stride3d/stride/wiki/Graphics-API

Ethereal77 commented 1 year ago

As an idea, maybe we should rename it or something to avoid confusion to users. Like the "feature level" of Direct3D or some other name that doesn't give the impression of selecting a graphics API. I think Unreal also have something similar, but can't find it right now.

SoNewBee commented 1 year ago

The profile is only the available feature set, e.g. to specify the hardware generation. it is recommended to set this to Direct3D 11.0 / OpenGL ES 3.1 to target a wide variety of devices. The graphics API is set via an identifier in the c# project: https://github.com/stride3d/stride/wiki/Graphics-API

That is an answer quite quickly,thanks for your reply. I have tried the method in that link.But there are errors. When I add <StrideGraphicsApi>Vulkan</StrideGraphicsApi> in "ThirdPersonPlatformer.Windows.csproj",these errors show in console:

[Game]: Error: Unexpected exception. Vortice.Vulkan.VkException: [5] Incomplete - Vulkan error occured at Vortice.Vulkan.VkUtils.CheckResult(VkResult result) at Vortice.Vulkan.Vulkan.vkEnumeratePhysicalDevices(VkInstance instance) at Stride.Graphics.GraphicsAdapterFactory.InitializeInternal() at Stride.Graphics.GraphicsAdapterFactory.Initialize() at Stride.Graphics.GraphicsAdapterFactory.get_Adapters() at Stride.Games.GamePlatform.FindBestDevices(GameGraphicsParameters preferredParameters) at Stride.Games.GraphicsDeviceManager.FindBestDevice(Boolean anySuitableDevice) at Stride.Games.GraphicsDeviceManager.ChangeOrCreateDevice(Boolean forceCreate) at Stride.Games.GraphicsDeviceManager.Stride.Games.IGraphicsDeviceManager.CreateDevice() at Stride.Games.GameBase.InitializeBeforeRun() Vortice.Vulkan.VkException: [5] Incomplete - Vulkan error occured at Vortice.Vulkan.VkUtils.CheckResult(VkResult result) at Vortice.Vulkan.Vulkan.vkEnumeratePhysicalDevices(VkInstance instance) at Stride.Graphics.GraphicsAdapterFactory.InitializeInternal() at Stride.Graphics.GraphicsAdapterFactory.Initialize() at Stride.Graphics.GraphicsAdapterFactory.get_Adapters() at Stride.Games.GamePlatform.FindBestDevices(GameGraphicsParameters preferredParameters) at Stride.Games.GraphicsDeviceManager.FindBestDevice(Boolean anySuitableDevice) at Stride.Games.GraphicsDeviceManager.ChangeOrCreateDevice(Boolean forceCreate) at Stride.Games.GraphicsDeviceManager.Stride.Games.IGraphicsDeviceManager.CreateDevice() at Stride.Games.GameBase.InitializeBeforeRun() Unhandled exception. Vortice.Vulkan.VkException: [5] Incomplete - Vulkan error occured at Vortice.Vulkan.VkUtils.CheckResult(VkResult result) at Vortice.Vulkan.Vulkan.vkEnumeratePhysicalDevices(VkInstance instance) at Stride.Graphics.GraphicsAdapterFactory.InitializeInternal() at Stride.Graphics.GraphicsAdapterFactory.Initialize() at Stride.Graphics.GraphicsAdapterFactory.get_Adapters() at Stride.Games.GamePlatform.FindBestDevices(GameGraphicsParameters preferredParameters) at Stride.Games.GraphicsDeviceManager.FindBestDevice(Boolean anySuitableDevice) at Stride.Games.GraphicsDeviceManager.ChangeOrCreateDevice(Boolean forceCreate) at Stride.Games.GraphicsDeviceManager.Stride.Games.IGraphicsDeviceManager.CreateDevice() at Stride.Games.GameBase.InitializeBeforeRun() at Stride.Games.GamePlatform.OnInitCallback() at Stride.Games.GameWindowSDL.Run() at Stride.Games.GamePlatform.Run(GameContext gameContext) at Stride.Games.GameBase.Run(GameContext gameContext) at ThirdPersonPlatformer.ThirdPersonPlatformerApp.Main(String[] args) in D:\SEP\ThirdPersonPlatformer\ThirdPersonPlatformer.Windows\ThirdPersonPlatformerApp.cs:line 11

When I add <StrideGraphicsApi>Direct3D12</StrideGraphicsApi> in "ThirdPersonPlatformer.Windows.csproj",It shows a window with black backaroud for several times,then it shows a console with these errors below:

[Game]: Error: Unexpected exception. System.NullReferenceException: Object reference not set to an instance of an object. at Stride.Graphics.CommandList.FlushResourceBarriers() at Stride.Graphics.CommandList.Close() at Stride.Graphics.CommandList.Flush() at Stride.Games.GameBase.EndDraw(Boolean present) at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445 at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame) at Stride.Games.GameBase.RawTickProducer() System.NullReferenceException: Object reference not set to an instance of an object. at Stride.Graphics.CommandList.FlushResourceBarriers() at Stride.Graphics.CommandList.Close() at Stride.Graphics.CommandList.Flush() at Stride.Games.GameBase.EndDraw(Boolean present) at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445 at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame) at Stride.Games.GameBase.RawTickProducer() Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. at Stride.Graphics.CommandList.FlushResourceBarriers() at Stride.Graphics.CommandList.Close() at Stride.Graphics.CommandList.Flush() at Stride.Games.GameBase.EndDraw(Boolean present) at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445 at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame) at Stride.Games.GameBase.RawTickProducer() at Stride.Games.GameBase.Tick() at Stride.Games.GamePlatform.Tick() at Stride.Games.GamePlatform.OnRunCallback() at Stride.Games.GameWindowWinforms.<>c__DisplayClass19_0.b__0() at Stride.Games.WindowsMessageLoop.Run(Control form, RenderCallback renderCallback, Boolean useApplicationDoEvents) at Stride.Games.GameWindowWinforms.Run() at Stride.Games.GamePlatform.Run(GameContext gameContext) at Stride.Games.GameBase.Run(GameContext gameContext) at ThirdPersonPlatformer.ThirdPersonPlatformerApp.Main(String[] args) in D:\SEP\ThirdPersonPlatformer\ThirdPersonPlatformer.Windows\ThirdPersonPlatformerApp.cs:line 11

BTW,I didn't install Visual Studio. Any help please?

SoNewBee commented 1 year ago

As an idea, maybe we should rename it or something to avoid confusion to users. Like the "feature level" of Direct3D or some other name that doesn't give the impression of selecting a graphics API. I think Unreal also have something similar, but can't find it right now.

That's very kind of you.Your idea is pretty good.I support it :) Maybe we can add an option in tools bar so that we can switch rendering API easily.

SoNewBee commented 1 year ago

The profile is only the available feature set, e.g. to specify the hardware generation. it is recommended to set this to Direct3D 11.0 / OpenGL ES 3.1 to target a wide variety of devices. The graphics API is set via an identifier in the c# project: https://github.com/stride3d/stride/wiki/Graphics-API

Maybe I modified the wrong .csproj file? But I didn't find any file called "VulkanTest.Windows.csproj" in my project .

SoNewBee commented 1 year ago

I have installed Vulkan SDK and updated GPU driver. I am using Windows 10 and my GPU is RTX 3050. So,any help please?

tebjan commented 1 year ago

Have you set the feature level back to the default? I think when you go above DirectX 11.0 future level, the adapter doesn't initialize... But that is just a guess. Does it work with DirectX 11 API?

SoNewBee commented 1 year ago

Have you set the feature level back to the default? I think when you go above DirectX 11.0 future level, the adapter doesn't initialize... But that is just a guess. Does it work with DirectX 11 API?

I think this problem is related to the drivers.

I will test it later, for now, I am really busy.

SoNewBee commented 1 year ago

Have you set the feature level back to the default?

Yes.

Does it work with DirectX 11 API?

Yes. The project can run successfully with <StrideGraphicsApi>Direct3D11</StrideGraphicsApi> option in "ThirdPersonPlatformer.Windows.csproj".

My CPU is Ryzen 7 5800U with Vega graphics, my GPU is RTX3050. So I have 2 graphic cards in my computer. I have updated the drivers of my CPU and GPU. Then I got these errors and garbled characters below (it is diffierent from before):

[Game]: Error: Unexpected exception. System.AggregateException: One or more errors occurred. (One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?)
 ---> System.AggregateException: One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱 殑鏂囦欢銆?
 ---> System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Stride.ShellHelper.RunProcessAndRedirectToLogger(String command, String parameters, String workingDirectory, LoggerResult logger) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\shared\Stride.Core.ShellHelper\ShellHelper.cs:line 106
   at Stride.Shaders.Compiler.OpenGL.ShaderCompiler.Compile(String shaderSource, String entryPoint, ShaderStage stage, EffectCompilerParameters effectParameters, EffectReflection reflection, String sourceFilename) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\OpenGL\ShaderCompiler.cs:line 134
   at Stride.Shaders.Compiler.EffectCompiler.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\EffectCompiler.cs:line 259
   at Stride.Shaders.Compiler.EffectCompilerChain.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerChain.cs:line 55
   at Stride.Shaders.Compiler.EffectCompilerCache.CompileBytecode(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters, ObjectId mixinObjectId, DatabaseFileProvider database, String compiledUrl) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 158
   at Stride.Shaders.Compiler.EffectCompilerCache.<>c__DisplayClass18_0.<Compile>b__0() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 138
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at Stride.Rendering.EffectSystem.<>c__DisplayClass20_0.<LoadEffect>b__0(Task`1 x) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\EffectSystem.cs:line 164
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Stride.Rendering.RootEffectRenderFeature.PrepareEffectPermutations(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RootEffectRenderFeature.cs:line 553
   at Stride.Rendering.RenderSystem.Prepare(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RenderSystem.cs:line 229
   at Stride.Rendering.Compositing.GraphicsCompositor.DrawCore(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Rendering\Compositing\GraphicsCompositor.cs:line 116
   at Stride.Rendering.RendererBase.Draw(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RendererBase.cs:line 49
   at Stride.Engine.SceneSystem.Draw(GameTime gameTime) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\SceneSystem.cs:line 234
   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()
System.AggregateException: One or more errors occurred. (One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?)
 ---> System.AggregateException: One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱 殑鏂囦欢銆?
 ---> System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Stride.ShellHelper.RunProcessAndRedirectToLogger(String command, String parameters, String workingDirectory, LoggerResult logger) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\shared\Stride.Core.ShellHelper\ShellHelper.cs:line 106
   at Stride.Shaders.Compiler.OpenGL.ShaderCompiler.Compile(String shaderSource, String entryPoint, ShaderStage stage, EffectCompilerParameters effectParameters, EffectReflection reflection, String sourceFilename) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\OpenGL\ShaderCompiler.cs:line 134
   at Stride.Shaders.Compiler.EffectCompiler.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\EffectCompiler.cs:line 259
   at Stride.Shaders.Compiler.EffectCompilerChain.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerChain.cs:line 55
   at Stride.Shaders.Compiler.EffectCompilerCache.CompileBytecode(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters, ObjectId mixinObjectId, DatabaseFileProvider database, String compiledUrl) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 158
   at Stride.Shaders.Compiler.EffectCompilerCache.<>c__DisplayClass18_0.<Compile>b__0() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 138
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at Stride.Rendering.EffectSystem.<>c__DisplayClass20_0.<LoadEffect>b__0(Task`1 x) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\EffectSystem.cs:line 164
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Stride.Rendering.RootEffectRenderFeature.PrepareEffectPermutations(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RootEffectRenderFeature.cs:line 553
   at Stride.Rendering.RenderSystem.Prepare(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RenderSystem.cs:line 229
   at Stride.Rendering.Compositing.GraphicsCompositor.DrawCore(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Rendering\Compositing\GraphicsCompositor.cs:line 116
   at Stride.Rendering.RendererBase.Draw(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RendererBase.cs:line 49
   at Stride.Engine.SceneSystem.Draw(GameTime gameTime) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\SceneSystem.cs:line 234
   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()
Unhandled exception. System.AggregateException: One or more errors occurred. (One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 系统找不到指定的文件。))
 ---> System.AggregateException: One or more errors occurred. (An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 系统找不到指定的文件。)
 ---> System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'win-x64\glslangValidator.exe' with working directory 'D:\SEP\ThirdPersonPlatformer\Bin\Windows\Debug\win-x64'. 系统找不到指定的文件。
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Stride.ShellHelper.RunProcessAndRedirectToLogger(String command, String parameters, String workingDirectory, LoggerResult logger) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\shared\Stride.Core.ShellHelper\ShellHelper.cs:line 106
   at Stride.Shaders.Compiler.OpenGL.ShaderCompiler.Compile(String shaderSource, String entryPoint, ShaderStage stage, EffectCompilerParameters effectParameters, EffectReflection reflection, String sourceFilename) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\OpenGL\ShaderCompiler.cs:line 134
   at Stride.Shaders.Compiler.EffectCompiler.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders.Compiler\EffectCompiler.cs:line 259
   at Stride.Shaders.Compiler.EffectCompilerChain.Compile(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerChain.cs:line 55
   at Stride.Shaders.Compiler.EffectCompilerCache.CompileBytecode(ShaderMixinSource mixinTree, EffectCompilerParameters effectParameters, CompilerParameters compilerParameters, ObjectId mixinObjectId, DatabaseFileProvider database, String compiledUrl) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 158
   at Stride.Shaders.Compiler.EffectCompilerCache.<>c__DisplayClass18_0.<Compile>b__0() in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Shaders\Compiler\EffectCompilerCache.cs:line 138
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at Stride.Rendering.EffectSystem.<>c__DisplayClass20_0.<LoadEffect>b__0(Task`1 x) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\EffectSystem.cs:line 164
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Stride.Rendering.RootEffectRenderFeature.PrepareEffectPermutations(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RootEffectRenderFeature.cs:line 553
   at Stride.Rendering.RenderSystem.Prepare(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RenderSystem.cs:line 229
   at Stride.Rendering.Compositing.GraphicsCompositor.DrawCore(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Rendering\Compositing\GraphicsCompositor.cs:line 116
   at Stride.Rendering.RendererBase.Draw(RenderDrawContext context) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Rendering\Rendering\RendererBase.cs:line 49
   at Stride.Engine.SceneSystem.Draw(GameTime gameTime) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\SceneSystem.cs:line 234
   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()
   at Stride.Games.GameBase.Tick()
   at Stride.Games.GamePlatform.Tick()
   at Stride.Games.GamePlatform.OnRunCallback()
   at Stride.Games.GameWindowSDL.<>c__DisplayClass17_0.<Run>b__0()
   at Stride.Games.SDLMessageLoop.Run(Window form, RenderCallback renderCallback)
   at Stride.Games.GameWindowSDL.Run()
   at Stride.Games.GamePlatform.Run(GameContext gameContext)
   at Stride.Games.GameBase.Run(GameContext gameContext)
   at ThirdPersonPlatformer.ThirdPersonPlatformerApp.Main(String[] args) in D:\SEP\ThirdPersonPlatformer\ThirdPersonPlatformer.Windows\ThirdPersonPlatformerApp.cs:line 11
SoNewBee commented 1 year ago

My Vulkan SDK version is 1.3. I can see glslangValidator's infomation in cmd. I have set RTX3050 as the default render device through nvidia setting panel. Maybe the Vulkan SDK version is too new for Stride?

SoNewBee commented 1 year ago

I can not run with <StrideGraphicsApi>Direct3D12</StrideGraphicsApi> either... The program crashed. It shows a dialog named "Report your crash" and an error console with the infomation below.

[Game]: Error: Unexpected exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Stride.Graphics.CommandList.FlushResourceBarriers()
   at Stride.Graphics.CommandList.Close()
   at Stride.Graphics.CommandList.Flush()
   at Stride.Games.GameBase.EndDraw(Boolean present)
   at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445
   at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
   at Stride.Games.GameBase.RawTickProducer()
System.NullReferenceException: Object reference not set to an instance of an object.
   at Stride.Graphics.CommandList.FlushResourceBarriers()
   at Stride.Graphics.CommandList.Close()
   at Stride.Graphics.CommandList.Flush()
   at Stride.Games.GameBase.EndDraw(Boolean present)
   at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445
   at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
   at Stride.Games.GameBase.RawTickProducer()
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Stride.Graphics.CommandList.FlushResourceBarriers()
   at Stride.Graphics.CommandList.Close()
   at Stride.Graphics.CommandList.Flush()
   at Stride.Games.GameBase.EndDraw(Boolean present)
   at Stride.Engine.Game.EndDraw(Boolean present) in C:\BuildAgent\work\b5f46e3c4829a09e\sources\engine\Stride.Engine\Engine\Game.cs:line 445
   at Stride.Games.GameBase.RawTick(TimeSpan elapsedTimePerUpdate, Int32 updateCount, Single drawInterpolationFactor, Boolean drawFrame)
   at Stride.Games.GameBase.RawTickProducer()
   at Stride.Games.GameBase.Tick()
   at Stride.Games.GamePlatform.Tick()
   at Stride.Games.GamePlatform.OnRunCallback()
   at Stride.Games.GameWindowWinforms.<>c__DisplayClass19_0.<Run>b__0()
   at Stride.Games.WindowsMessageLoop.Run(Control form, RenderCallback renderCallback, Boolean useApplicationDoEvents)
   at Stride.Games.GameWindowWinforms.Run()
   at Stride.Games.GamePlatform.Run(GameContext gameContext)
   at Stride.Games.GameBase.Run(GameContext gameContext)
   at ThirdPersonPlatformer.ThirdPersonPlatformerApp.Main(String[] args) in D:\SEP\ThirdPersonPlatformer\ThirdPersonPlatformer.Windows\ThirdPersonPlatformerApp.cs:line 11
SoNewBee commented 1 year ago

I uninstalled Stride by the launcher which is offered by the official website. Then I reinstalled it. I just find that I can not open C# script with the built-in script editor. ...

Doprez commented 1 year ago

If you are using the dotnet 7 branch that could make sense. I know recently Manio fixed the dotnet 6 version but it relies on https://github.com/roslynpad/roslynpad Which may need to be updated in strides nuget packages.

I personally use VS2022 anyway since that editor is fairly basic even when it works.

SoNewBee commented 1 year ago

If you are using the dotnet 7 branch that could make sense. I know recently Manio fixed the dotnet 6 version but it relies on https://github.com/roslynpad/roslynpad Which may need to be updated in strides nuget packages.

I personally use VS2022 anyway since that editor is fairly basic even when it works.

No, I am using .NET 6. I don't want to install VS since we got a built-in script editor. VS is too heavy. Maybe I didn't uninstall Stride completely? And... How to select the install path of it?

SoNewBee commented 1 year ago

If you are using the dotnet 7 branch that could make sense. I know recently Manio fixed the dotnet 6 version but it relies on https://github.com/roslynpad/roslynpad Which may need to be updated in strides nuget packages.

I personally use VS2022 anyway since that editor is fairly basic even when it works.

image Weird BUG. I can not open any file in built-in script editor if I opened this file. Stride Version: 4.1.1822

SoNewBee commented 1 year ago

I reinstalled my operating system. The problem still exists.

SoNewBee commented 1 year ago

I think the Windows Update should be blame. I created project before install "2023-04 cumulative update for Windows 10 Version 21H2 version (KB5025221)". Then the project works fine with "Direct3D12" option. The project will show various errors after install that Update package is installed.

BTW,I am using Windows 10 LTSC 2021.