GPUOpen-Drivers / AMDVLK

AMD Open Source Driver For Vulkan
MIT License
1.72k stars 161 forks source link

amd-pro 21.10 and amdvlk 201.q23 very slow in Ghostrunner demo DX12 and Control DX12 #231

Closed pingubot closed 1 year ago

pingubot commented 3 years ago

Hi,

for Control and Ghostrunner Demo the performance with DX12 is very bad. While i am fully gpu bound with radv, gpu utilization is very low with amd-pro and amdvlk.

Control: AMd-Pro and amd-vlk: ~ 60-65fps Radv: ~104 fps

Ghostrunner Demo: AMd-Pro and amd-vlk: ~ 60-70fps Radv: ~130 fps

Both titles with proton-experimental, 3440x1440, max settings. For The Ghostrunner demo you need a vkd3d version without calibrated timestamps requirement, looks like amd-pro and amdvlk do not support that feature. Ping me if you need a precompiled version.

System:    Host: gamebox Kernel: 5.12.5-tkg x86_64 bits: 64 compiler: gcc v: 10.3.0 Desktop: KDE Plasma 5.21.5 
           tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM Distro: openSUSE Tumbleweed 20210519 
CPU:       Info: 8-Core model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 rev: 0 cache: L2: 4 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 115090 
           Speed: 4075 MHz min/max: 2200/3600 MHz boost: enabled Core speeds (MHz): 1: 4075 2: 4066 3: 4068 4: 4068 
           5: 4046 6: 4067 7: 4064 8: 4064 9: 4065 10: 4064 11: 4063 12: 4069 13: 4064 14: 4082 15: 4069 16: 4069 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] driver: amdgpu v: kernel 
           bus-ID: 0a:00.0 chip-ID: 1002:73bf 
           Display: x11 server: X.Org 1.20.11 compositor: kwin_x11 driver: loaded: amdgpu resolution: 3440x1440 s-dpi: 96 
           OpenGL: renderer: AMD Radeon RX 6900 XT (SIENNA_CICHLID DRM 3.40.0 5.12.5-tkg LLVM 12.0.0) v: 4.6 Mesa 21.1.0 
           direct render: Yes

Many thx, Christian

aufkrawall commented 3 years ago

I can confirm this also with Hitman 2, Horizon Zero Dawn and Strange Brigade (D3D12). Thus I suspect this to be a very general issue AMDVLK has with VKD3D-Proton.

pingubot commented 3 years ago

Any news on that issue ?

jinjianrong commented 3 years ago

As the first step to investigate the issue, we are adding CLOCK_MONOTONIC_RAW support for calibrated timestamps

pingubot commented 3 years ago

Ok, nice for bringing that in. Control should work without that feature nonetheless, so if you want to take a look you can already start with that game.

pingubot commented 3 years ago

Can confirm that Ghostrunner now starts with the recent amdvlk release due to CLOCK_MONOTONIC_RAW now working , but as expected the performance is still bad.

pingubot commented 2 years ago

any news on that topic ?

jinjianrong commented 2 years ago

The performance issue is because VK_VALVE_mutable_descriptor_type is not supported by AMDVLK. We plan to implement the EXT version extension

pingubot commented 2 years ago

Ayn news on this one ?

pingubot commented 2 years ago

Another release, still with the extension missing. Any news when it could show up ?

Degerz commented 2 years ago

Progress is likely blocked behind Khronos Group and no members are authorized to share detailed information on new functionality prior to public release ...

pingubot commented 2 years ago

Any news on that topic ?

bluestang2006 commented 1 year ago

The new v2022.Q3.4 have the same issue (slow) as well as the 22.20.3 amdpro drivers.

pingubot commented 1 year ago

The performance issue is because VK_VALVE_mutable_descriptor_type is not supported by AMDVLK. We plan to implement the EXT version extension

Hi,

as the ext is available now, can we expect it to be implemented with the next release ?

Many thx !

bluestang2006 commented 1 year ago

The performance issue is because VK_VALVE_mutable_descriptor_type is not supported by AMDVLK. We plan to implement the EXT version extension

2 releases and still not implemented?

jinjianrong commented 1 year ago

The extension is under implementation, some code will show up in following releases, but we still need some effort to fix CTS failure to fully enable it.

bluestang2006 commented 1 year ago

The extension is under implementation, some code will show up in following releases, but we still need some effort to fix CTS failure to fully enable it.

any updates on enabling VK_EXT_mutable_descriptor_type?

Degerz commented 1 year ago

The feature hasn't been merged yet in the compiler ...

bluestang2006 commented 1 year ago

The feature hasn't been merged yet in the compiler ...

its been merged in llpc, but I see that the extension isn't supported/exposed yet in xgl. Any progress with CTS fails?

bluestang2006 commented 1 year ago

Update: From the Q2023.2.1 branch point, I exposed the extension and ran the VK-CTS tests and they seem to pass. I also tested Control w/ RT and it is finally playable. However, there are issues like the occasional GPU hang so I imagine AMD is busy triaging those issues and tweaking perf. (its slower than RADV in Control)

Degerz commented 1 year ago

With the release of mutable descriptors extension functionality, the author of this issue can test to see if the issue is solved and if so may close it ...

bluestang2006 commented 1 year ago

I can vouch that Control (DX12) works well w/ AMDVLK now, but to be honest it started working under Q2.1 w/o the mutable extension exposed...so there was something in the compiler that was fixed to make this game run smoothly in Linux.

On a side note, performance vs RADV is about 5-10% slower.

Degerz commented 1 year ago

If the issue is resolved regardless then closing the issue would be a reasonable course of action I believe ...

jinjianrong commented 1 year ago

Thanks all for the update. Please help create new issue if you still see any quality or performance problem with latest release