gfx-rs / gfx

[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
http://gfx-rs.github.io/
Apache License 2.0
5.35k stars 551 forks source link

New Metal pipeline cache doesn't work properly on Dota2 + portability #3755

Open kvark opened 3 years ago

kvark commented 3 years ago

We appear to be constantly recompiling shaders, and we spending all the time in get_pipeline_cache_data (the serializing part). Related to #3719 cc @expenses

expenses commented 3 years ago

We can definitely speed up the serializing path, but I'm pretty sure that the pipeline cache should be working. How do shader compilation times compare against no pipeline cache? Could it be that the output shaders vary slightly on each compilation, resulting in cache misses and a bloated cache?

kvark commented 3 years ago

Sorry for idling, I'll get back to this.