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

Missing shadows on Neverwinter Nights 2 Complete (GOG Edition) #187

Closed dieg0-a closed 8 years ago

dieg0-a commented 8 years ago

Using arch linux x64, latest mesa-git, latest wine-gaming-nine from AUR.

Video card: Radeon R9 270x. (radeonsi).

There is something else, and I am not sure if I can post an issue for this, but Gallium Nine is noticeably slower than CMST in every game i've tested (Skyrim, Neverwinter Nights 2, Starcraft II). am I doing something wrong?.

axeldavy commented 8 years ago

Could you make a trace with apitrace ? That would be the best way to be able to find why the shadows are missing.

As for performance, it should perform better than csmt. However you may get better performance with latest ixit/master, because we have a performance fix for some games.

sarnex commented 8 years ago

Unfortunately, the server is down for a few days because there was a big snow storm and the internet line was cut.

On Sun, Feb 7, 2016 at 3:57 AM, axeldavy notifications@github.com wrote:

Could you make a trace with apitrace ? That would be the best way to be able to find why the shadows are missing.

As for performance, it should perform better than csmt. However you may get better performance with latest ixit/master, because we have a performance fix for some games.

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/187#issuecomment-180978626.

dieg0-a commented 8 years ago

Sorry to hear about the server being down. Anyway, the shadows are back and I don't think we are going to need an API trace for this particular problem. This is what I did:

Downloaded, compiled and installed noext_dll branch of wine to run with apitrace. Created a fresh wineprefix and reinstalled the game. Set the needed DLLs as native. Ran apitrace, it produced a ~300MB file.

To my surprise, I noticed while tracing that shadows were back, and I thought it was an issue with the newer version of Wine. Tried to run APITrace with newer version of wine from AUR (wine-gaming-nine), kept the wineprefix that was created with 1.7.53-noextdll, however it didn't work -> warn:debugstr:OutputDebugStringA "inject: warning: failed to create child process\n"

But shadows were rendered correctly too! So I suppose it was a problem with the old wineprefix, maybe the choice of native DLL's? I double checked to see if gallium nine was enabled just in case. About performance, now it seems to run slightly faster than CSMT and with much less cpu overhead, which I guess makes sense.

There is another issue which I might investigate later, this one seems more difficult to debug. Trying to launch Vampires: The Masquerade with gallium Nine enabled apparently triggers a really bad memory leak, only way to avoid a hard reset seems to be blindly pressing Alt+F4 and waiting for swap activity to cease a bit, then it closes.

One last thing, i read on Phoronix that the latest patches for Gallium Nine were committed to mainstream mesa? I am particularly interested in testing the performance fixes, but I am not sure if Mesa-git is enough or if I need Ixit/Mesa-3D.

Thank you very much for the awesome work.

axeldavy commented 8 years ago

The performance fix is not yet in mesa git. Should be soon.

dieg0-a commented 8 years ago

I suppose the original issue was just a bad setup. I downloaded latest ixit/master and tested it, got some interesting results and the minimum FPS did improve quite a bit, but this is probably not the right place to report on that. Peace.