protonscr

GCC/Meson options discussion

dxvkclosed
doitsujin/dxvk#798 · opened 2018-12-04 by pchome · updated 2019-05-14 · 2 comments · github
Ppchome 2018-12-04 github

WARNING! : this issue is not about performance!

The main purpose is to collect info about the flags known to break things. About a build/compile flags, that have (or can have) negative impact on generated binary. Also about build/compile flags, that can fix issues.

Such as already known:

  • -falign-functions (-O2 and higher) required for Overwatch

  • -O3 can cause 20% fps-drop for Trackmania

  • meson --unity builds are much slower than regular builds for some reason #386

  • unknown Missing textures in Far Cry 5
    https://github.com/doitsujin/dxvk/issues/344#issuecomment-437055943

    Some users have reported that building DXVK with an older GCC version fixes the issue.

Ppchome 2018-12-04 github

An unconfirmed one from my own build:

  • -fipa-pta seems fixing some The Witcher 3 sometimes freezes with 'dxvk::DxvkError' #747 (?)

The last one can be hard to reproduce on regular builds, because I'm using :

  • winelib builds

  • GCC 8.2.0 built w/ GRAPHITE support

  • meson --unity option enabled in ebuild

  • system-wide compiler/linker flags to build DXVK:
    C*FLAGS: -march=native -O3 -pipe -fgraphite-identity -ftree-loop-distribution -floop-nest-optimize -fipa-pta -fuse-linker-plugin
    LDFLAGS: -march=native -O3 -pipe -fgraphite-identity -ftree-loop-distribution -floop-nest-optimize -fipa-pta -fuse-linker-plugin -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu
    (duplication is not an error, it's for system-wide LTO, but -flto flag removed for DXVK)

  • slightly patched DXVK version, here is the list (from files/):

    • dxvk-0.70-option-for-utils.patch
    • dxvk-0.93-fix-tests.patch
    • dxvk-0.92-MipLODBias.patch
    • dxvk-0.92-config-support-float.patch
    • dxvk-0.93-whole-program-support.patch (this one definitely is not responsible for the result, just for the record)
  • -march=native for me is amdfam10

Ppchome 2019-05-14 github

Closing. Information is outdated and requires retest.

Upstream links