iXit / Mesa-3D

Please use official https://gitlab.freedesktop.org/mesa/mesa/ !
https://github.com/iXit/Mesa-3D/wiki
66 stars 13 forks source link

Final Fantasy XIV broken lighting and shadows #220

Closed user827 closed 8 years ago

user827 commented 8 years ago

I'm trying Final Fantasy XIV with nine and it does give a nice 400% fps boost but there is problem with the lights being too bright and the shadows not displaying.

Here is a comparison:

normal image

nine image

Setup: 32bit Wine-Staging 1.9.11 with nine patches iXit/Mesa-3D latest (a951c13) driver

Hardware: Radeon R7 250X? (Cape Verde PRO [Radeon HD 7750/8740 / R7 250E])

Apitrace: minor bugs/issue.220.ffxiv.lightning.trace.xz on ftp I used these commands with nine enabled: export WINEDLLOVERRIDES='C:\path\to\apitrace-mingw\x86\lib\wrappers\d3d9.dll=n' wine /path/to/apitrace-mingw/x86/bin/apitrace.exe trace -a d3d9 -v ffxivboot.exe

axeldavy commented 8 years ago

Investigation found that the shader with assert(false) due to relative addressing not implemented for ps inputs wasn't the issue (it wasn't used at all in the trace).

However the issue is that we have bugs (known bugs) with depth bias used with D16. Faking D16 with D24 (it results in just perf hits) solves the bug.

Fixing it properly will take some time.

As a quick hack, you can enforce D16 to be like D24 by changing its definition in nine_d3d9_to_pipe_format_map (nine_pipe.c)

And have [D3DFMT_D16] = PIPE_FORMAT_X8Z24_UNORM, instead of [D3DFMT_D16] = PIPE_FORMAT_Z16_UNORM,

The fix for the failing shader is pushed in this repo.

user827 commented 8 years ago

Reading yesterday's irc logs I noticed the issue disappears without the performance hit when patched with https://github.com/siro20/Mesa-3D/commit/18bf9f1383943d38de5e624bfb6abcba7bf36d24.

Maybe it's not a proper fix but the game now works perfectly with my setup. Thanks!

(edit: oops, didn't mean to close the issue)

axeldavy commented 8 years ago

Do you have some visual bug (replaying the trace) ?

Here at least it looks like there is another issue (that looks random)

axeldavy commented 8 years ago

It's possible the visual bugs are due to different stride for memory resource between wine and nine (apitrace doesn't always adapt to the differences perfectly). Can you check if the game is ok when running it ? (and check that for you the trace displays bugs as well

user827 commented 8 years ago

I see some corrupted textures in the trace with f99757f (no relative addressing fix yet) with siro's patch. But they don't appear in the game.

Altosk commented 8 years ago

using siro's patch plus the relative addressing i dont see this problem either in game

Altosk commented 8 years ago

axeldavy can you rebase? i'm having patching problems with the first patch in the series against mesa git

axeldavy commented 8 years ago

Done

Altosk commented 8 years ago

compiled and everything looks the same as siro's patch

user827 commented 8 years ago

Current master works without issues.

I think it's fixed.