Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gujian 3 corrupted graphics on Nvdia #1784

Closed
3kinox opened this issue Oct 1, 2020 · 14 comments · Fixed by #3133
Closed

Gujian 3 corrupted graphics on Nvdia #1784

3kinox opened this issue Oct 1, 2020 · 14 comments · Fixed by #3133

Comments

@3kinox
Copy link

3kinox commented Oct 1, 2020

As can be seen in attached images, in some areas, graphics get corrupted on my Nvidia card, In particular on characters (main or NPC). This also happens near water, not sure if it is lighting related or something.
Also, it does not happen on my integrated intel card, only on Nvidia card. Does not happen on Geforce now either.
I attached log, and ran with vk validation layers already, did not see any particularly meaningul errors.

API trace makes the game freeze at launch so can't provide one seems. If I can add anything to help don't hesitate.

  • Images of the issue:
    20200927143649_1
    20200927141700_1
    20200927141655_1

Software information

Game: Gujian3
API: dx11
Settings: any (tried from lowest to highest)

System information

  • GPU: GTX 1070
  • Driver: 450.66
  • Wine version: proton 5.09
  • DXVK version: 1.7.8

Apitrace file(s)

Freeze game at launch

Log files

@doitsujin
Copy link
Owner

Does this work with wined3d?

@3kinox
Copy link
Author

3kinox commented Oct 3, 2020

20201003184026_1
20201003184017_1

I attached wined3d images, there are other bugs (like no hair and kinda broken clothes), but not this one indeed.

@doitsujin
Copy link
Owner

How exactly do you reproduce this bug? The game seems to look fine on the latest Nvidia Vulkan beta driver:

Screenshot_20201003_214431

@3kinox
Copy link
Author

3kinox commented Oct 3, 2020

Oh yeah sorry for not being precise enough: The bug only happens in some areas. The one I showed you is when going outside of the village later in the story - when switching protagonist - At that time, it happens at multiple times in the village too, notably during a fight included in the story, and almost directly after switching characted while teaching martial arts to children, and near the a river with a boat. Otherwise, it also happens near the fountain in the capital (nearer in the story for you). I can send more screenshots if it helps.
In the very first parts I did not have any issues, need to at least go until the capital - is half an hour of playing I'd say to get there.

I will also try latest beta drivers just in case.

@doitsujin
Copy link
Owner

Please provide a savegame if possible, I don't really have the time to play through the entire game to (maybe) find a spot where the bug appears.

@3kinox
Copy link
Author

3kinox commented Oct 4, 2020

Okay, as @LordJBeckman said, no way to transfer saves ... But, I managed to get an apitrace, turns out, load time is tied to framerate .... So it was just excruciatingly slow. With DXVK_ASYNC=1 I ended up managing to get to a state where I could get it done. There goes the link: https://we.tl/t-Lif4srxNYK (on wetransfer since firefox send is dead and github won't take such large files...)

@doitsujin
Copy link
Owner

@3kinox thanks, but the trace file is broken since it does not contain any DXGI calls, and I can therefore not replay it.

Did you copy both dxgi.dll and dxgitrace.dll from apitrace next to the game, and did you also set the DLL override for dxgi to native? (WINEDLLOVERRIDES=dxgi=n)

@3kinox
Copy link
Author

3kinox commented Oct 5, 2020

@doitsujin I did copy both but indeed, I did not put the override. I'm on proton, and I've added the WINEDLLOVERRIDES=dxgi=n in launch option now. Here's the result: https://we.tl/t-HACeB5xUD8
I stayed at bug position at the end - you can ignore the few first tries, hard to control anything at sub 1 fps ;p

@doitsujin
Copy link
Owner

Thanks, that one works. Seems like an Nvidia-only problem, it works fine on RADV but I can reproduce the bug on NV.

@3kinox
Copy link
Author

3kinox commented Jun 23, 2021

Just chiming in to say the bug is still present with latest driver/dxvk (in proton ge). Any other thing I can do to help ?

@Blisto91
Copy link
Contributor

@3kinox Friendly ping. Could i get you to try this again with latest dxvk and drivers?

@3kinox
Copy link
Author

3kinox commented Jul 26, 2022

@Blisto91 I tried with latest dxvk git and nvidia 515.57, no luck bug is still there.

@Blisto91
Copy link
Contributor

Blisto91 commented Dec 7, 2022

Made a trace so just adding it to the issue here. https://mega.nz/file/MpYW2ByB#Eq4bO7kfyx5yPbn3luhKLFXDSNSZYBKJruTe07PtYb8

It is a bit cursed since it doesn't show the main menu or loading screen so you can see the world blinking and everything loading in. The actual ingame time is at the end when you see the main character.

doitsujin added a commit that referenced this issue Dec 11, 2022
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by @cme. Should fix #1784.
@doitsujin
Copy link
Owner

Does the above PR fix the issue?

doitsujin added a commit that referenced this issue Dec 11, 2022
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix #1784.
doitsujin added a commit that referenced this issue Dec 11, 2022
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix #1784.
Blisto91 pushed a commit to Blisto91/dxvk that referenced this issue Jan 18, 2023
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix doitsujin#1784.
doitsujin added a commit that referenced this issue Jan 19, 2023
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix #1784.
Etaash-mathamsetty pushed a commit to Etaash-mathamsetty/dxvk that referenced this issue Jul 16, 2023
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.

Found by CME. Should fix doitsujin#1784.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants