protonscr

Star Wars: The Old Republic MSAA bugs

dxvkclosed nvidia proprietaryd3d9
doitsujin/dxvk#3135 · opened 2022-12-12 by elinmyr · updated 2023-04-05 · 16 comments · github
Eelinmyr 2022-12-12 github

I don't know if this is something you can help with because I cannot get an apitrace. Game crashes immediately with apitrace d3d9.dll in the folder. In-game FXAA works fine, as does NVIDIA DSR, so this issue doesn't seem like a very big deal.

Shader glitches while using in-game MSAA or overriding MSAA through dxvk.conf as seen in screenshots. Using in-game MSAA causes heavily pixellated or broken visual effects.

https://imgur.com/a/RRhZCvC

Using dxvk.conf d3d9.forceSwapchainMSAA set to ANY value causes several game elements to become various forms of transparent/missing without seeming to apply MSAA.

https://imgur.com/a/kYeSc37

No change if running/not running as administrator, enabling/disabling fullscreen optimization, enabled or disabled Steam overlay, no geforce experience installed. Whether fullscreen or fullscreen [windowed].

Software information

Star Wars: The Old Republic, ultra graphics preset
32-bit
d3d9 game
Game runs two swtor.exe processes simultaneously.

System information

GPU: NVIDIA GeForce GTX 970
Driver: 527.56
Wine version: Windows 10
DXVK version: 2.0

Apitrace file(s)

  • Game fails to launch when apitrace is in game folder. Should just be d3d9.dll? I have deleted EVERYTHING in this folder and verified local files to ensure nothing but swtor game assets are in there (i.e. no reshade leftovers etc). Apitrace will not launch.

Log files

  • d3d9.log: unavailable, apitrace will not launch.
BBlisto91 2022-12-12 github

Hello. I will check out the game on Linux here when i have time as i've tested it with dxvk before.
Does this also happen with 1.10.3 as i don't remember spotting this issue? Tho i've mostly tested on Linux with AMD and don't remember AA setting used

Using dxvk.conf d3d9.forceSwapchainMSAA set to ANY value causes several game elements to become various forms of transparent/missing without seeming to apply MSAA.

This is not unheard of as there can be a conflict when the game has it turned off but dxvk enbaled in config or vice versa.

d3d9.log: unavailable, apitrace will not launch.

The log needed is the one generated by dxvk when the issue occurs without apitrace.

KK0bin maintainer 2022-12-12 github

Using dxvk.conf d3d9.forceSwapchainMSAA set to ANY value causes several game elements to become various forms of transparent/missing without seeming to apply MSAA.

Forcing MSAA will usually break things. Do not do that.

BBlisto91 2022-12-12 github

I've not been able to reproduce so far on Linux with a R9 380X and the radv driver with either AA set to high or very high. The former i gather is MSAA x2 and latter MSAA + FXAA.
I also tried changing a couple of dxvk config options to correspond to how they would be set on Nvidia.

Will check on my Geforce 960 later

BBlisto91 2022-12-13 github

Okay i can confirm this on my Geforce 960 on Linux.
I have made a trace together with dxvk https://mega.nz/file/lkx33KJC#W5UQ9LvkpaL1LHvmAKB9DTN0-82zB3-CcUjo742ntoQ

Eelinmyr 2022-12-14 github

Thank you so much! I've been busy with work and haven't had much time to keep fiddling around with the apitrace. If needed, I can try again tomorrow because I won't be as busy.

BBlisto91 2022-12-14 github

No worries., the devs will try to look into it.
Thank you for reporting the issue.

BBlisto91 2022-12-14 github
KK0bin maintainer 2022-12-15 github

This very much looks like a Nvidia driver bug.

SWTOR draws objects with transparency in a second render pass which does not use multisampling.
Before doing that, it resolves the depth buffer used for the primary geometry pass using D3D9Device::StretchRect.

DXVK implements this resolve using an empty render pass (with VK_KHR_dynamic_rendering) with just a depth resolve attachment. That doesn't seem to work correctly on Nvidia drivers.

Before e406484b84f7ebf9b3a6ebeea187c4d127aa0856 DXVK used a different code path that uses a shader.

WWhitestrak3 2023-02-23 github

Just reporting that I have the same problem on Windows 10 64-bit RTX 3070 gpu. Any anti-aliasing above medium setting will cause artifacts.

KK0bin maintainer 2023-03-07 github

Nvidia have informed me that they reproduced and fixed the bug. The next Vulkan beta driver should fix this issue.

Eelinmyr 2023-03-07 github

Thank you so much for looking into this and for all that you do.

Ppdaniell-nv 2023-03-11 github

A fix for this bug is available in our latest Vulkan beta drivers found here: https://developer.nvidia.com/vulkan-driver. Use Linux driver version 525.47.13 or Windows driver version 531.32.

Ddagrboii 2023-04-05 github

@K0bin Still experiencing this bug.. and updated drivers for Nvidia. For a layman, are the apitrace / rdc files you uploaded fixes for a recompile? SWTOR recently released a 64bit client.

KK0bin maintainer 2023-04-05 github

No, you just need to install the Nvidia Vulkan beta driver.

BBlisto91 2023-04-05 github

Note the beta drivers, as the name implies, aren't as tested and can have bugs of their own. The fix will arrive in the stable drivers at a later date.

DLLs