PRIME setup- Usage of VK_KHR_present_id extension causes presentation failure on 525.85.05 driver with vkd3d-proton master

Hi; when an Optimus/Prime system is used with vkd3d-proton ( D3D12 to Vulkan translation layer that is used in Valve’s Proton and can be used on Wine as well ) with master branch of it, games fails to render anything on screen.

Using VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id environment variable makes the DX12 games renders correctly with vkd3d-proton.

When apps fails to render , log that is grabbed with VKD3D_CONFIG=vk_debug contains 0198:err:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Failed to create swapchain, vr -3..

When VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id is used, apps renders correctly and log from VKD3D_CONFIG=vk_debug contains 0198:info:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 3 swapchain images instead of failure.

Can be easily reproduced within Steam with any DX12 game and using Proton Experimental as Proton build. Proton Experimental ships a fairly close to vkd3d-proton master build.

A further note; Nvidia actually tried to fix issues with that extension in 525.78.01 with Fixed a bug where usage of VK_KHR_present_id could cause applications to crash with Xid 32 errors. . With 525.78.01 and newer apps doesn’t crash anymore when that extension is used but has presentation problems mentioned/explained above.

Nvidia bug report log:

nvidia-bug-report.log (20.2 MB)

I have filed a bug 3958879 internally for tracking purpose.
Shall try to reproduce issue locally and get back to you if require any additional information.