protonscr

F1 2018 corruption on characters in CG

dxvkclosed game bug
doitsujin/dxvk#1897 · opened 2021-01-15 by JaxLinAMD · updated 2021-01-21 · 13 comments · github
JJaxLinAMD 2021-01-15 github

Operating System : Ubuntu 20.04
ASIC : Navi 10
DRIVER : amdvlk https://github.com/GPUOpen-Drivers/AMDVLK

setup steam
Set resolution to 1920x1080
Set quality to Ultra High
When entering time trial mode choose "Classic F1 Cars" otherwise corruption is obscured by car cockpit view.

JJaxLinAMD 2021-01-15 github

add barrier in generated SPIRV can workaround this issue.

Ddoitsujin maintainer 2021-01-15 github

Which shader exactly?

We generate barriers when the orginal DirectX shader contains barriers. If there is none, this is a game bug.

JJaxLinAMD 2021-01-15 github

do you need the spirv file or renderdoc capture?
is the tool to convert dx shader to spriv wrote by yourself or thirdparty?

Ddoitsujin maintainer 2021-01-15 github

The SPIR-V so I can correllate it to the original shader.

JJaxLinAMD 2021-01-15 github
JJaxLinAMD 2021-01-15 github

*_edited.dis shows where I added barriers

Ddoitsujin maintainer 2021-01-15 github

Same bug as in F1 2019. We have a workaround for that already which we can enable for both games.

JJaxLinAMD 2021-01-18 github

Hi @doitsujin thank you for this. I have steam proton environment now, could you tell me how to verify with the workaround you enabled? can I replace some dx binaries of steam proton?

Ddoitsujin maintainer 2021-01-19 github

DXVK binaries are located in .steam/steam/steamapps/common/Proton 5.13/dist/lib64/wine/dxvk and can just be replaced.

JJaxLinAMD 2021-01-19 github

thank ya!

JJaxLinAMD 2021-01-19 github

hi @doitsujin when building dxvk, I encountered following errors:

In file included from ../../../../../root/Downloads/dxvk-master/src/dxgi/dxgi_adapter.cpp:8:
../../../../../root/Downloads/dxvk-master/src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory2’?
13 | class DxgiFactory : public DxgiObject {
do you know how to resolve it?

Ddoitsujin maintainer 2021-01-19 github

The latest MinGW release (8.0, not to be confused with the GCC version which should be 10.2) ships up to date DXGI headers which are required to build DXVK.

JJaxLinAMD 2021-01-21 github

thanks, it works :)

Proton versions