With HQ texture filtering configured in driver, quality with negative LOD bias is much worse for Vulkan applications than it is for D3D10-12 applications.
This can be demonstrated in 3DCenter Filter Tester when comparing with and without DXVK api wrapper.
With native D3D10, there is hardly any shimmering with a LOD bias of -1.5 for chosen ground2 texture (shipped with Filter Tester in its directory):
With Vulkan (copy 32 bit DXVK DLLs into Filter Tester directory), there is much more texture shimmering, despite HQ filtering (which makes quality of negative LOD bias much better with D3D10-12) configured in driver:
This should also affect all Vulkan games with DLSS support (such as Doom Eternal), as it is recommended to developers to utilize negative LOD bias with DLSS. Also in Red Dead Redemption 2 with Vulkan, DLSS seems to make texture more shimmering than with D3D12 accordingly.
Tested with RTX 3060 GeForce 496.84 driver on Windows 11. However, situation on Linux is the same. Side note: OpenGL is affected the same as Vulkan, as is seen when running Filter Tester with WineD3D OpenGL on Linux. It is not a bug of DXVK or WineD3D, as the issue does not exist on competitor’s GPUs since Vega.
Download 3DCenter Filter Tester:
Personal thought: I think it would be about time to make HQ texture filtering also the default setting.
Any update on this? Still bad with driver 511.23.
Still broken with 512.15.
Note: The videos should be watched in native resolution (e.g. 1440p on a 1440p screen). When you try to reproduce with 3D Filter Tester, make sure Windows high DPI scaling is disabled (either globally in Windows display settings or set high DPI scaling to override app controlled in Windows compatibility options for Filter Tester.exe). If Filter Testser UI gets scaled, it also affects its texture rendering, making it appear very blurry and impossible to really judge the result.
Hello @aufkrawall, thank you for your persistence!
Apologies that your original post was overlooked.
I will bring this to the attention of our Vulkan experts now and see if we can get some traction.
Thanks a lot for forwarding this!
On this occasion: Perhaps also implementing forcing anisotropic filtering could be evaluated for the Vulkan driver? It is currently ignored with Vulkan, and, similar to HQ negative LOD bias, works with D3D12. It hopefully shouldn’t require large efforts to implement.
I just wanted to give you an update that this issue is still under triage internally. And to ask a question regarding your enhancement request. Is that something which is already specified in the Vulkan standard? If not, than adding this feature might be more difficult, regardless of implementation complexity.
I think it’s generally not mandated by the Vulkan spec how the hardware is supposed to do texture filtering, apart from anisotropic filtering levels. Not directly related to LOD bias, but for example, D3D10+ mandates that mipmapping is done with at least trilinear filtering, but Vulkan still allows ancient bilinear filtering.
But I don’t think this should be a reason not to improve filtering quality with negative LOD bias to achieve quality parity with Nvidia’s D3D10+ driver.
Negative LOD bias is getting more and more important. As described above, it is recommended with DLSS by Nvidia devs:
There are very negative LOD bias values recommended with FSR 2.0 that would show a lot of shimmering without fixed HQ LOD bias:
Also, it is recommended with Unreal Engine 4/5 TAAU:
Because screen percentage causes geometry to render at a lower pixel density, temporal upsample requires more texture information from the Surface and Deferred Decal Material Domains to maintain the same output sharpness. For this purpose, the Texture Sample expression can use, by default, Automatic View Mip Bias .
So, it would be really nice if Nvidia Vulkan users wouldn’t be at a disadvantage with negative LOD bias vs. competitor GPUs.