S
Silk.NET3y ago
Kai

vk suffering

Open vkconfig.exe (or whatever file ending your OS uses) add validation & API dump to the enabled layers, Profit
33 Replies
Lyris the Kitori
https://i.beyleyisnot.moe/L2TbyFs.png i think i see my draw calls here
Supine
Supine3y ago
RenderDoc?
Lyris the Kitori
no
Kai
Kai3y ago
Uuuuh you should get a .html file
Lyris the Kitori
i got a 3 megabyte txt file
Kai
Kai3y ago
No description
Kai
Kai3y ago
I think by default the format is HTML but the file ending is .txt so maybe just rename and open in browser
Lyris the Kitori
it was defaulted to TXT format
Lyris the Kitori
it seems it dies after frame 3 https://i.beyleyisnot.moe/xSJsQkQ.png
Kai
Kai3y ago
assuming the validation layers aren't reporting anything?
Lyris the Kitori
maybe i just didnt enable it properly one sec
Kai
Kai3y ago
(using that tool should be perfect for this)
Lyris the Kitori
enabling the validation layer causes the app to crash at startup
Unhandled exception.
Veldrid.VeldridException: No suitable memory type.
at Veldrid.Vk.VkDeviceMemoryManager.Allocate(VkPhysicalDeviceMemoryProperties memProperties, UInt32 memoryTypeBits, VkMemoryPropertyFlags flags, Boolean persistentMapped, UInt64 size, UInt64 alignment, Boolean dedicated, VkImage dedicatedImage, VkBuffer dedicatedBuffer)
at Veldrid.Vk.VkBuffer..ctor(VkGraphicsDevice gd, UInt32 sizeInBytes, BufferUsage usage, String callerMember)
at Veldrid.Vk.VkResourceFactory.CreateBufferCore(BufferDescription& description)
at Veldrid.ResourceFactory.CreateBuffer(BufferDescription& description)
at Veldrid.ResourceFactory.CreateBuffer(BufferDescription description)
at Furball.Vixie.Graphics.Backends.Veldrid.ImGuiController.CreateDeviceResources(GraphicsDevice gd, OutputDescription outputDescription, ColorSpaceHandling colorSpaceHandling) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/ImGuiController.cs:line 348
at Furball.Vixie.Graphics.Backends.Veldrid.ImGuiController..ctor(GraphicsDevice gd, OutputDescription outputDescription, IView view, IInputContext input) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/ImGuiController.cs:line 72
at Furball.Vixie.Graphics.Backends.Veldrid.VeldridBackend.Initialize(IWindow window) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/VeldridBackend.cs:line 111
at Furball.Vixie.WindowManager.SetupGraphicsApi() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/WindowManager.cs:line 142
at Furball.Vixie.Game.RendererInitialize() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Game.cs:line 74
at Silk.NET.Windowing.Internals.ViewImplementationBase.Initialize()
at Silk.NET.Windowing.WindowExtensions.Run(IView view)
at Furball.Vixie.WindowManager.RunWindow() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/WindowManager.cs:line 150
at Furball.Vixie.Game.Run(WindowOptions options, Backend backend) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Game.cs:line 64
at Program.<Main>$(String[] args) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie.TestApplication/Program.
Unhandled exception.
Veldrid.VeldridException: No suitable memory type.
at Veldrid.Vk.VkDeviceMemoryManager.Allocate(VkPhysicalDeviceMemoryProperties memProperties, UInt32 memoryTypeBits, VkMemoryPropertyFlags flags, Boolean persistentMapped, UInt64 size, UInt64 alignment, Boolean dedicated, VkImage dedicatedImage, VkBuffer dedicatedBuffer)
at Veldrid.Vk.VkBuffer..ctor(VkGraphicsDevice gd, UInt32 sizeInBytes, BufferUsage usage, String callerMember)
at Veldrid.Vk.VkResourceFactory.CreateBufferCore(BufferDescription& description)
at Veldrid.ResourceFactory.CreateBuffer(BufferDescription& description)
at Veldrid.ResourceFactory.CreateBuffer(BufferDescription description)
at Furball.Vixie.Graphics.Backends.Veldrid.ImGuiController.CreateDeviceResources(GraphicsDevice gd, OutputDescription outputDescription, ColorSpaceHandling colorSpaceHandling) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/ImGuiController.cs:line 348
at Furball.Vixie.Graphics.Backends.Veldrid.ImGuiController..ctor(GraphicsDevice gd, OutputDescription outputDescription, IView view, IInputContext input) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/ImGuiController.cs:line 72
at Furball.Vixie.Graphics.Backends.Veldrid.VeldridBackend.Initialize(IWindow window) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Graphics/Backends/Veldrid/VeldridBackend.cs:line 111
at Furball.Vixie.WindowManager.SetupGraphicsApi() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/WindowManager.cs:line 142
at Furball.Vixie.Game.RendererInitialize() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Game.cs:line 74
at Silk.NET.Windowing.Internals.ViewImplementationBase.Initialize()
at Silk.NET.Windowing.WindowExtensions.Run(IView view)
at Furball.Vixie.WindowManager.RunWindow() in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/WindowManager.cs:line 150
at Furball.Vixie.Game.Run(WindowOptions options, Backend backend) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie/Game.cs:line 64
at Program.<Main>$(String[] args) in /mnt/Home/beyley/Projects/PROGRAMMING/C#/Furball.Vixie/Furball.Vixie.TestApplication/Program.
Kai
Kai3y ago
oh what the fuck no suitable memory type what
Kai
Kai3y ago
Seems reasonable
Kai
Kai3y ago
No description
Kai
Kai3y ago
No description
Kai
Kai3y ago
From the minimal knowledge I have it seems it's not waiting for the fence correctly idk why it's even using a fence
Lyris the Kitori
@techpizza you might have some insight here
Kai
Kai3y ago
the Queue & Present submits don't have a semaphore or fence associated with them, which is weird but probably due to some architectural thing so the fence probably exists for architectural reasons and is maybe not correctly being waited on (the trace looks like a typical frame deadlock)
Lyris the Kitori
since it works fine with the Veldrid windowing, woult it be helpful to launch that and see the api dump?
Kai
Kai3y ago
yeah try that
Lyris the Kitori
https://i.beyleyisnot.moe/veldrid-sdl2.html that should work i love that its all self contained in a single file
Kai
Kai3y ago
Seems like the fence status is always VK_SUCCESS There :/
Lyris the Kitori
lemme try Silk.NET windowing SDL no change very weird how i create the window: https://github.com/Furball-Engine/Furball.Vixie/blob/4ab1dca2f4ac0861eea5f2cfae062ee9cedbb477/Furball.Vixie/WindowManager.cs#L80 how i create the graphics device: https://github.com/Furball-Engine/Furball.Vixie/blob/4ab1dca2f4ac0861eea5f2cfae062ee9cedbb477/Furball.Vixie/Graphics/Backends/Veldrid/VeldridBackend.cs#L36 maybe im doing something stupid here with the window i checked with the veldrid example in the lab, and i seem to be doing everything right, but maybe im blind okay so some updates when i dont initialize my quad renderer, and just do ImGui everything works except for GL and GLES on windows, which complain about no gl context D3D complains about input data not matching which it seems to my sampler name was wrong c# side, but even after fixing it the issue persists if only there were actually errors given out by veldrid this would be a lot easier
Lyris the Kitori
by spamming launch with the validation layer it actually launched and gave an error https://i.beyleyisnot.moe/TXTmA1E.png
Lyris the Kitori
problem: i dont know what this means
Lyris the Kitori
they definitely match it was a small typo sadcaret
Kai
Kai3y ago
Added to the list of things I want to do: typesafe shader imports