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

[d3d9] VenusBlood FRONTIER International (1189440) - Transitioning to Fullscreen will cause graphical flickering in the title's left pillarbox. #1481

Closed
ZereoX opened this issue Feb 28, 2020 · 7 comments · Fixed by #3392

Comments

@ZereoX
Copy link
Contributor

ZereoX commented Feb 28, 2020

Description:

Transitioning from Windowed to Fullscreen mode will cause graphical flickering to appear in the game's left pillarbox (title has a 4:3 aspect ration). The flicker appears to be remnants of the options menu.

Video: https://www.youtube.com/watch?v=22dym_0aC_I

This occurs on both Proton 5.0-3 and Windows using DXVK 1.5.4 or master (3587bcd). b954ab8 is the last known functional build that allows you to transition to Fullscreen without any issues. Starting with caae5d1, the title will start rendering part of the in-game Settings menu inside the left pillarbox.

The title does appear correctly when transitioning to Fullscreen with WineD3D and on native Windows. The issue also does not occur when launching directly into a Fullscreen state.

Please let me know if any additional information is required or if additional testing is needed.

Notes:

  • This game stops rendering new frames the moment you enter the settings menu.
  • The in-game exit confirmation prompts is its own window (so... two DXVK_HUD).
  • On Mesa if RADV_DEBUG=zerovram is not set, the pillar-boxes will be filled with garbage data causing additional visual corruption:
AMD Mesa w/o zerovram Confirmation Prompt
1189440 VenusBlood - Mesa DXVK_HUD_PROMPT

Software information

VenusBlood FRONTIER International (1189440)

System information

  • OS: Ubuntu 18.04 / Windows 10 Pro 1909
  • GPU: Radeon RX 580 / Nvidia GeForce GTX 970
  • Driver: 20.1~git2002270730.2b155b~oibaf~b / 440.59-0ubuntu0.18.04.1
  • Wine version: Proton 5.0-3
  • DXVK version: 1.5.4 / Master (3587bcd)

Apitrace file(s)

Log files

Bisect w/ froggi.es builds:

master - 3587bcd (❌)
1.5.4 - 2435c63 (❌)
1.5.2 - e242d7f (❌)
a57dc75 (❌)
eed57ed (❌)
caae5d1 (❌)
b954ab8 (✔️)
9e5e4c1 (✔️)
1.5.1 - 4308d9b (✔️)

@w-flo
Copy link
Contributor

w-flo commented Feb 28, 2020

According to the trace, this game uses SwapEffect = D3DSWAPEFFECT_COPY. I believe this is not fully implemented in dxvk right now, but it looks like some work on it has been started recently. COPY swapeffect semantics were used in dxvk pre-1.5.2 by happenstance and, as I understand it, had to go in order to support multiple backbuffers and GetFrontBufferData.

Related: #1368, even though that one is about a game that claims to use SWAPEFFECT_DISCARD (which is compatible with the current dxvk implementation), but still requires SWAPEFFECT_COPY semantics. Windows drivers just happen to offer COPY semantics when using DISCARD in windowed mode.

@misyltoad
Copy link
Collaborator

There is the d3d9_partial_presentation branch if you want to give it a try.

@ZereoX
Copy link
Contributor Author

ZereoX commented Mar 2, 2020

The d3d9_partial_presentation branch result in the same behaviour as described above.

@ZereoX
Copy link
Contributor Author

ZereoX commented Mar 19, 2020

Hey @Joshua-Ashton, I've confirmed that enabling "d3d9.noExplicitFrontBuffer" does resolve the issue on this title. RADV still requires the "zerovram" debug option, but otherwise the issue is completely resolved on Nvidia when toggling that option on master (3697583).

MR for enabling that option has been entered.

@ZereoX
Copy link
Contributor Author

ZereoX commented May 5, 2020

@Joshua-Ashton Sorry to bother you, but It would seem that The Elder Scrolls: Online's installer for its launcher also requires partial presentation for its prompts (Don't know if this is already known). The breakage match the commits mentioned in the top post. This only affects the installer portion and not the Launcher itself or the game client.

On b954ab8, the log indicates a failure to create an image view and the installer appears correctly (no DXVK HUD):

err: DxvkImageView: Failed to create image view:
err: View type: VK_IMAGE_VIEW_TYPE_2D
err: View format: VK_FORMAT_UNDEFINED
err: Subresources:
err: Aspect mask: 0
err: Mip levels: 0 - 1
err: Array layers: 0 - 1
err: Image properties:
err: Type: VK_IMAGE_TYPE_2D
err: Format: VK_FORMAT_D16_UNORM
err: Extent: (6a,2,1)
err: Mip levels: 1
err: Array layers: 1
err: Samples: 1
err: Usage: 27
err: Tiling: VK_IMAGE_TILING_OPTIMAL

While on caae5d1 / master (68be040), no log errors, but the installer's prompt appears as such:
Video: https://www.youtube.com/watch?v=UmaSjU4R_Lw

Log:
javaw_d3d9_b954ab8.log
javaw_d3d9_caae5d1.log

Would you like an new issue be entered or is this ticket suitable for tracking?

@Blisto91
Copy link
Contributor

Blisto91 commented Jun 15, 2022

@ZereoX Is this still a issue with newest dxvk?
If it's about partial representation then i guess it should still be. If that was a sure suspected cause ofc.

@ZereoX
Copy link
Contributor Author

ZereoX commented Jun 18, 2022

@ZereoX Is this still a issue with newest dxvk? If it's about partial representation then i guess it should still be. If that was a sure suspected cause ofc.

Yep. Still an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants