Open kvark opened 4 years ago
Dota doesn't discover some of the features we have
I just noticed that it does indeed print the following lines when ran on gfx-portability:
Vulkan physical device (0): does not support Metal depthSampleCompare. Vulkan physical device (0): using transform constant buffer: false Vulkan physical device (0): supports shader clip distance: true Vulkan physical device (0): using secondary command buffers: false
I imagine working around the comparison samplers has a solid GPU performance cost, and on Intel GPU it would show up as an overall regression. So I believe this issue is blocked on https://github.com/ValveSoftware/Dota-2-Vulkan/issues/351
Somewhere between https://gfx-rs.github.io/2018/08/10/dota2-macos-performance.html and today we regressed the benchmark significantly. We used to get
33.9 / 3.5
(in the table), but now we are closer to just30
(in immediate mode). Here are the things to try:VK_KHR_portability_subset
parking_lot
regression? Tried parking_lot-0.6, no change.ExactSizeIterator
bounds are confusing the compiler and making us heap-allocate more?MTLRenderPassDescriptor
is too slow - implemented a pool for reusing them in https://github.com/gfx-rs/gfx/pull/3379/commits/bbf55ff085dd676eb6a214edacc92b6072776814Related to https://github.com/gfx-rs/gfx/issues/3378, https://github.com/gfx-rs/gfx/issues/3382, https://github.com/gfx-rs/gfx/issues/3381, https://github.com/gfx-rs/gfx/issues/3383