On Fri Dec 2 10:52:41 2022 +0000, mbriar wrote:
Hello, I've compared a windows build of [vkoverhead](https://github.com/zmike/vkoverhead) test case 92, which uses descriptor buffers, on latest wine from git. I'm getting a score of around 48000 operations per second without this patch, and around 84000 with this patch using direct calls, so still almost a 2x difference. FWIW, a linux build without using wine gets around 320000 in the same test, all using the RADV vulkan driver. I haven't tested it with actual games yet, but I expect it to still have a noticeable effect on CPU-bound games with vkd3d-proton.
In a Vulkan sample that I previously used to measure the impact on command buffers, I can see a really nice improvement. If I disable all direct calls, overhead drops from __wine_syscall_dispatcher ~8% (measured in Wine without your recent patches) to 1.05% (and <0.2% for __wine_syscall_dispatcher, so not related to winevulkan). That compares to 0.6% for direct Unix calls. FPS differences roughly match that. It looks promising.