dxvk icon indicating copy to clipboard operation
dxvk copied to clipboard

Aion broken text with msaa enabled

Open 234523413432634 opened this issue 3 years ago • 4 comments

Turning on msaa in game options corrupts the text. Happens both on win10 and linux Also msaa setting resets to x0 on every game restart, while with original d3d9 game remembers the last value it was set to.

No msaa: Aion0000 x8 msaa: Aion0001

Software information

Aion 64 bit , directx 9, cry engine i think?

System information

  • GPU: rx 5700xt
  • Driver: mesa 22.2.2 on linux/ 22.10.1 on windows
  • Wine version: GE-Proton 7-37
  • DXVK version: 1.10.3 and latest master

Apitrace file(s)

windows: https://drive.google.com/file/d/1NmuD4opOpMjg0mCS3Fg-otFhNVznH--K/view?usp=sharing

Log files

234523413432634 avatar Oct 20 '22 09:10 234523413432634

Likely another issue caused by DXVK not supporting single-sampled rasterization to multisampled render targets. We can't really implement this in any resasonable way since the only Vulkan extension that would provide the required functionality does not work with the dynamic rendering functionality that DXVK relies on.

doitsujin avatar Oct 20 '22 17:10 doitsujin

I see. Should i close the issue then?

234523413432634 avatar Oct 21 '22 04:10 234523413432634

No it is a legit issue even if there isn't a easy fix. 🙂

Blisto91 avatar Oct 21 '22 04:10 Blisto91

Maybe another issue is that "MSAA extensions" (e.g. CSAA/EQAA/etc.) was a thing as part of a drivers. So in some games which didn't mark modes explicitly like "CSAA 4x/EQ4x" an "8x" mode can actually be "4x+4coverage samples". For obvious reasons this may not be available in linux drivers (not sure about amd's EQAA, there is something present in vulkan drivers, maybe works).

Just guessing, but what can happen in the game:

  • on init the game validates config options and checks supported modes via pair sampleCount+qualityLevel
  • in case of "extension" 8x it expect at least 9 quality levels available (8+"0"), check fails, option reset to 0 (No MSAA)
  • user enables MSAA again (idk why it still available, different checks maybe), messes with some game logic (maybe forces 8x for 4 samples), receive broken fonts

EDIT: actually 8x CSAA can be 4 samples and qualityLevel=8 (9 levels count). Also all above is pure speculation, I know nothing about dx/vk/driver internals, but I believe there is a grain of truth somewhere.

Q: Is it possible for DXVK to use built-in post-processing AA in cases where it can't support MSAA properly? Just to fill the gap and do not live user w/o AA. Yes, it's possible to force some AA via driver settings or external tools, but good to have something OOTB.

pchome avatar Oct 21 '22 18:10 pchome