protonscr

Regression: Black textures in Borderlands 2/Pre-Sequel with dxvk 1.9 and d3d9.evictManagedOnUnlock

dxvkclosed bugd3d9
doitsujin/dxvk#2125 · opened 2021-06-26 by philipl · updated 2021-07-01 · 3 comments · github
Pphilipl 2021-06-26 github

There was a regression between dxvk 1.8.1 and 1.9 which results in black textures (or at least the appearance of black textures) when playing Borderlands 2 or TPS with evictManagedOnUnlock turned on, and you really need to turn it on as you'll hit #1318 otherwise.

I did a git bisect and identified change b9512a40630c1e9030aa7958ce2456664bc3b059 as the cause. I don't pretend to really understand any of this, but the description is Only copy dirty parts of managed/sysmem resources and the config option relates to managed resources, so perhaps the issue is something along the lines of evicted resources no longer being tracked for dirtiness so it never bothers copying them. Or something like that.

I'll also note that this change looks like it's part of a series and the actual tracking of dirtiness of managed resources shows up in earlier changes - this is the just the change where there is visible impact.

Software information

  • Borderlands 2 or Borderlands TPS. Any in-game graphical settings.
  • d3d9.evictManagedOnUnlock turned on

System information

  • GPU: nvidia RTX 3090 (but also repros with my Intel 630 iGPU)
  • Driver: 465.31
  • Wine version: Proton 6.3-5
  • DXVK version: Any build with b9512a40630c1e9030aa7958ce2456664bc3b059 present

Log files

Borderlands2_d3d9.log

API Trace

https://www.dropbox.com/s/vtz699ok45b8202/borderlands2.trace.7z?dl=0

KK0bin maintainer 2021-06-26 github

Please make an apitrace.

Pphilipl 2021-06-26 github

I've created a trace on Windows. It covers the game just getting to the main menu, where you can already see the effect.

KK0bin maintainer 2021-06-27 github

Fix is linked above.

Proton versions