protonscr

[Question] VK_EXT_memory_budget & VK_KHR_buffer_device_address

dxvkclosed
doitsujin/dxvk#4804 · opened 2025-03-28 by WapMap · updated 2025-03-28 · 4 comments · github
WWapMap 2025-03-28 github
  1. Is VK_KHR_buffer_device_address extension supported, if not, will it be added?
  2. Can the combination of VK_EXT_memory_budget & VK_KHR_buffer_device_address replace d3d11.cachedDynamicResources, caching whatever is needed into video memory?

VK_KHR_buffer_device_address

Ddoitsujin maintainer 2025-03-28 github

Not sure what exactly you're asking here, but BDA is already part of Vulkan 1.2 and we use memory budget already for some memory management decision making (e.g. when to defrag VRAM).

WWapMap 2025-03-28 github

Thank you for your reply. However, I would like to clarify more, is it possible to use a combination of VK_EXT_memory_budget and VK_KHR_buffer_device_address to cache dynamic resources in video memory like d3d11.cachedDynamicResources or is this not an option?

Ddoitsujin maintainer 2025-03-28 github

The point of dynamic resources in D3D11 is that they are CPU-writable, and DXVK puts them into host-visible VRAM by default already. We don't need extra Vulkan extensions for that.

The reason why the option exists is because some games read the mapped memory region, which is catastrophically slow over PCI-E, so we need to put them into system memory instead to not suffer a massive performance loss in those games.

WWapMap 2025-03-28 github

I see, I have no further question, thanks again for the reply.

Nothing extracted yet.