TheFuseLab / VL.Fuse

A library for visually programming on the GPU, built to enable rapid workflows and modular approaches to accelerated graphics, logic and computation.
https://www.thefuselab.io
MIT License
255 stars 19 forks source link

Exception when hovering pins of ShaderNodes datatype #82

Open mhusinsky opened 1 year ago

mhusinsky commented 1 year ago

using current gamma (2022.5-0662) and fuse with commits from @azeno #81 , please try the following:

Patch will pause and this exception will be logged:

IndexOutOfRangeException: "Index was outside the bounds of the array." StackTrace: Stride.Graphics.CommandList { internal void OMSetSingleUnorderedAccessView(int slot, SharpDX.Direct3D11.UnorderedAccessView view, int uavInitialOffset) { ... } } Stride.Graphics.ResourceBinder { public void BindResources(Stride.Graphics.CommandList commandList, Stride.Graphics.DescriptorSet[] descriptorSets) { ... } } _VL_Stride_Rendering_.Stride.Rendering.MeshRenderer_C { public _VL_Stride_Rendering_.Stride.Rendering.MeshRenderer_C DrawInternal(Stride.Rendering.RenderDrawContext Context_In) { ... } } _VL_Stride_Rendering_.Stride.Rendering.MeshRenderer_C { public _VL_Stride_Rendering_.Stride.Rendering.MeshRenderer_C Draw_(Stride.Rendering.RenderDrawContext Context_In) { ... } } _VL_Stride_Rendering_.Stride.Rendering.MeshRenderer_C { private virtual void Stride.Rendering.IGraphicsRendererBase.Draw(Stride.Rendering.RenderDrawContext context) { ... } } VL.Stride.Rendering.EntityRendererRenderFeature { public virtual void Draw(Stride.Rendering.RenderDrawContext context, Stride.Rendering.RenderView renderView, Stride.Rendering.RenderViewStage renderViewStage, int startIndex, int endIndex) { ... } } System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } VL.Lang.Platforms.RuntimeHost { private void SharedStep() { ... } }

mhusinsky commented 1 year ago

the same happens in 2022.5-0582 with VL.Fuse 1.0.0-alpha2, so it seems unrelated to the latest stride updates

texone commented 1 year ago

Guess we need to look into a way to catch exceptions here, when working with compute system there should just not be a tooltip.