phr00t / FocusEngine

Focus Game Engine. This is Stride/Xenko fast-tracked for Phr00t's Software games. Improvements over the original Focus on Vulkan support, PC platforms, VR, performance & ease. Cherry-picks commits from other forks as needed.
MIT License
98 stars 11 forks source link

Linux + Vulkan + MESA drivers = No Particles #104

Closed phr00t closed 3 years ago

phr00t commented 4 years ago

See this stack trace:

https://steamcommunity.com/app/1256380/discussions/0/1863867579002032085/#c2139714324755484226

... basically, PerView matrix information for particles is passed through a cbuffer to specific memory addresses. The -> references cause a crash only on Linux with MESA drivers. Works fine everywhere else.

phr00t commented 4 years ago

Crash is on this line, the first perView-> reference:

https://github.com/phr00t/FocusEngine/blob/master/sources/engine/Xenko.Particles/Rendering/ParticleEmitterRenderFeature.cs#L324

phr00t commented 3 years ago

Particles are now automatically disaabled to avoid the crash with this commit: https://github.com/phr00t/FocusEngine/commit/22c85ebb0bec12893588c6fe55efc57aa913f12c

It'd be nice to get particles working, though!

phr00t commented 3 years ago

Got some useful information -- looks like a vkUnmapMemory happening incorrectly before a read:

https://gitlab.freedesktop.org/mesa/mesa/-/issues/4714

phr00t commented 3 years ago

Fixed with https://github.com/phr00t/FocusEngine/commit/d54402526323daa931e27174ef4c211645711aa5