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

Flatout 3 has incorrect rendering #3798

Closed
XaeroVincent opened this issue Jan 16, 2024 · 1 comment · Fixed by #3815
Closed

Flatout 3 has incorrect rendering #3798

XaeroVincent opened this issue Jan 16, 2024 · 1 comment · Fixed by #3815
Assignees
Labels

Comments

@XaeroVincent
Copy link

XaeroVincent commented Jan 16, 2024

When testing Direct3D 9 game, Flatout 3: Chaos & Destruction under DXVK, the graphics are rendered very dark and with incorrect colors. The game is rendered correctly with WineD3D.

The game doesn't run out of the box under Proton. At least with my system, it's necessary to disable Fsync and Esync (to prevent a game freeze at the loading screen) and install a native DLL override of d3dcompiler_47 (to actually see the graphics)

Screenshots:

DXVK:
dxvk

WineD3D:
wined3d

Apitrace file:
https://1drv.ms/u/s!Ah8jJX7TFptmijSxVdpRGgknvvU9?e=sCwrHc

@K0bin K0bin added the d3d9 label Jan 16, 2024
@K0bin K0bin self-assigned this Jan 16, 2024
@K0bin
Copy link
Collaborator

K0bin commented Jan 25, 2024

The game enables alpha to coverage once at startup and never disables it. It uses the ATI ATOC hack in the apitrace.
Unlike the Nvidia one which is only active if alpha test is active as well, our implementation of the ATI one has no additional constraints.

The documentation doesn't mention any either:
image

So now we'll have to figure out how the ATI ATOC hack works exactly.
There's a few conditions I could imagine:

  • it's only enabled when alpha test is enabled. (like the NV one, Josh says he tested that ages ago though and it doesn't behave like that.)
  • it's only enabled when rendering to a multisampled RT.
  • it's only enabled when blending is not enabled. ¯\_(ツ)_/¯

Time to write some tests...

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

Successfully merging a pull request may close this issue.

2 participants