protonscr

Artifacts and missing objects with some 3DMark d3d12 tests

vkd3dopen
HansKristian-Work/vkd3d-proton#247 · opened 2020-08-09 by MegWATTT · updated 2024-05-27 · 12 comments · github
MMegWATTT 2020-08-09 github

3DMark have 2 main d3d12 tests, without counting the API overhead test (which works fine) and the PortRoyal test (need DXR).
Those are TimeSpy and NightRaid. Those 2 benchs have a demo, 2 graphics tests and 1 cpu test.

TimeSpy demo and 2 graphics tests have severe bloc artifacts. It seems a lot of objects are not drawn (can't be sure due to all artifacts).
2020 08 09-20 17_01

TimeSpy CPU test doesn't have those artifacts but some objects are not drawn.

NightRaid demo and graphics test 2 seems to render fine. However, a lot of objects are not drawn on graphics test 1 and cpu test. It looks like this on graphics test 1:
2020 08 09-20 25_02

Here are vkd3d log files for problematic tests. I stopped the benchmark around 1 second after starting it, to avoid having 100mb logfiles. The log level was set to "warn".
timespy_demo_vkd3d.log
timespy_cpu_vkd3d.log
nightraid_gfx1_vkd3d.log
nightraid_cpu_vkd3d.log

Tested on commit 9560612bd723cd3713963855ecd856319391d59f, on a RX 570 on Windows 10, with latest drivers. It may be possible to test on Linux by applying this patch to Wine (haven't tested).

To reproduce on Windows, I've copied d3d12.dll and dxgi.dll from latest stable DXVK to "3DMark/dlc/time-spy-test/bin/x64" and "3DMark/dlc/night-raid-test/bin/x64". Putting those files on the launcher directory can cause issues.

Ooscarbg 2020-10-17 github

curious if anybody has tested new DX12 3DMark Wild life benchmark with latest VKD3D on Windows or Linux?

MMegWATTT 2020-10-17 github

It doesn't work right now. (At least for me)
Note that Wild Life is not a d3d12 benchmark but a Vulkan benchmark, so it's not related to this bug report.

Ooscarbg 2020-10-17 github

@MegWATTT sorry for mistake.. thought really was dx12.. and thanks for sharing working status anyway..

Ooscarbg 2021-03-28 github

just retested with latest VKD3D master and sadly no improvements/changes since issue was opened more than half a year ago..

Ddoitsujin maintainer 2021-03-28 github

I guess the real question is whether this works on Nvidia or RADV.

Ooscarbg 2021-03-31 github

@doitsujin forgot to say that tested on both NV and AMD GPU (Titan V and RX Vega) using latest drivers but on Windows.. rendering bugs on vendors are almost equal i.e. missing objects and showing mostly enviromental cube map background, etc..
Nvidia is a little better in that the first screenshot shared here hasn't the all black pixel color areas and you see the sky/enviroment.. the second screenshot is equally bad on Nvidia and AMD..
didn't test on Linux with RADV, but can't see a reason RADV would work fine.. also anyway NV on Linux will be broken as Win/Lin NV VK drivers rendering "rarely" differs..

Ooscarbg 2022-07-13 github

@MegWATTT @doitsujin seems this bugs have all been solved and this demos now render fine!
using VKD3D master: https://github.com/HansKristian-Work/vkd3d-proton/commit/5b73139f182d86cd58a757e4b5f0d4cfad96d319
tested on Win:
Nvidia 970 with 516.63

BBlisto91 2023-02-06 github

@MegWATTT Friendly ping. Are you able to confirm what oscarbg wrote above?

MMegWATTT 2023-03-28 github

I haven't tested on Windows lately. I tested on Proton after copying d3dcompiler_4*.dll files from "3DMark/bin/x64/" directory to the time spy binaries directory.
It has glitches, at least on Proton experimental. See https://github.com/ValveSoftware/Proton/issues/4034#issuecomment-1484178193 on Proton bug tracker. Tested on a RX 6700 on both RADV and AMDVLK.

MMegWATTT 2023-03-29 github

I also tested on ANV with a Skylake CPU (gen9, HD 520). I don't have any hang but I have the same blocky artifacts as the first picture in the first post.

Ooscarbg 2023-03-30 github

Will retry in a few weeks if “stars align” and can purchase a “cheap”(msrp) 4070 or 4060 ti..

Nniobium93 2024-05-27 github

On my Radeon RX 5700 XT with Mesa 24.0.8 Time Spy shows a loading screen that looks too bright, then briefly starts rendering the scene with severe graphical corruption, before causing a GPU reset a second later.
If I run 3DMark with RADV_PERFTEST=emulate_rt set, I can run Port Royal too, but it fails in the exact same way as Time Spy.
Night Raid, also a D3D12 test, runs perfectly, however.
The Sampler Feedback feature test runs, but shows graphical corruption in the form of black squares all over the place on the second pass which actually uses the Sampler Feedback feature. The first pass which uses a manual approach for texture space shading runs fine.

Would it help to run using a debug build or some debug settings for vkd3d and provide logs of some sort? The vulkan validation layer maybe? I could test and provide logs if requested.

Proton versions

Launch options

Upstream links

DLLs