Performance issues with Lavapipe in Windows (?)

Mike Blumenkrantz michael.blumenkrantz at
Fri Apr 7 13:55:59 UTC 2023

Looks like it's compiling a lot of shader variants.

You could try adding a return at the top of update_inline_shader_state() to
see if it's trying too hard to inline.

On Fri, Apr 7, 2023 at 9:53 AM George Karpathios <gkarpa1 at> wrote:

> Hi again, thank you Adam & Marek for your feedback! I appreciate it.
> Unfortunately It's the same amount of time even if I skip the swapchain. I
> have profiled some seconds of the execution using Visual Studio's profiler
> (with the swapchain, normally) while panning an almost empty scene, and
> it's identifying a hotpath. I have uploaded 2 screenshots of the call tree
> at  if you'd like to check it out.
> Another thing I'd like to note is that by using Mesa 23.1-dev (instead of
> 23.0.1) I got a nice performance boost of ~2-3x. However it's still
> performing slower than what I'd expect on this system (right now it takes
> 60ms for 10 lines so I feel that something weird is still going on). Big
> congratulations on your tremendous work anyway.
> Best regards,
> George
> On Tue, Apr 4, 2023 at 9:24 PM Adam Jackson <ajax at> wrote:
>> My first suspicion would be to rule out window system interaction. If you
>> render to your own VkImage instead of to a swapchain, how fast can you go?
>> - ajax
>> On Tue, Apr 4, 2023 at 12:56 PM George Karpathios <gkarpa1 at>
>> wrote:
>>> Hi list, I hope all is well.
>>> I would like to ask if there are any known issues regarding the
>>> performance of Lavapipe in Windows 10.
>>> I'm trying to add support for Vulkan software rendering into a
>>> relatively large 3d modeling/rendering application, so I opted to try Mesa
>>> and Lavapipe. I built LLVM 16.0.0 and Mesa 23.0.1 using the documentation
>>> (thanks for that!). My environment is an 8-core Intel i7 (with an
>>> integrated iGPU) with 32GiB RAM, an nVidia RTX 3070 and Visual Studio
>>> 2019/MSVC.
>>> The build procedure seems to be ok (Release builds, proper linking with
>>> either MT or MD runtime libraries, proper DLL loading via VK_ICD_FILENAMES)
>>> but the performance I'm getting during runtime is very slow. It looks like
>>> it needs 1-1.5 seconds to render a virtually empty scene (think just a
>>> floor grid of lines)  and over 15-20 seconds for a frame of a few thousand
>>> vertices. The CPU utilisation also seems to be low, under 20-25%.
>>> I understand that the information I provide is probably vague, but at
>>> this point I just want to rule some probable causes out, like is there any
>>> version of LLVM or Mesa or combination of them that is known to have such
>>> issues? Maybe some build/installation configuration parameter or
>>> environment variable that is important in Windows specifically and I may
>>> have missed (I tried tweaking LP_NUM_THREADS but didn't change anything) ?
>>> Anything that could point me in the right direction is highly valuable &
>>> appreciated.
>>> Also probably worth noting is the fact that the vkcube(pp) demo from the
>>> Vulkan SDK seems to run ok with Lavapipe, but in this case I also notice
>>> (in task manager) a ~50% utilization of the integrated iGPU (why?). In the
>>> aforementioned larger application I don't notice any usage of the
>>> integrated iGPU.
>>> Any advice on what I could check/double check is more than welcome.
>>> Thank you in advance for your time.
>>> Best regards,
>>> George
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the mesa-dev mailing list