daniel-schuermann / mesa

Mesa 3D graphics library (mirror; no pull requests here please)
http://mesa3d.org
135 stars 3 forks source link

A Problem with The Sinking City #64

Closed SR-dude closed 5 years ago

SR-dude commented 5 years ago

There is a problem with Epic's exclusive title: The Sinking City.
See for yourself. Screenshot from 2019-07-07 15-03-22

Another one. Screenshot from 2019-07-07 15-02-26

That doesn't happen with mesa master. The glowing eyes with the black bars coming out of them are not constant. They flash. I managed to get a screenshot where the eyes looked normal and no black bars.

daniel-schuermann commented 5 years ago

Thank you for reporting the issue. Would it be possible for you to take a renderdoc capture from this scene? Unfortunately, I don't own this game.

SR-dude commented 5 years ago

I'm trying to work on that. I currently don't have renderdoc. Is the optional python dependency PySide2 really necessary for renderdoc? I installed it with pip but renderdoc's cmake scripts can't seem to find it.

daniel-schuermann commented 5 years ago

renderdoc is quite hard to build, so I'd try to use the distro-provided or pre-build binaries.

SR-dude commented 5 years ago

The problem isn't present on the master branch. I previously reported while on the backend branch. I'll try the backend branch again.

+ I have renderdoc but I haven't had much success at getting a capture. It is not a drm-free game and I already need to run Epic through Lutris. I even tried to install the Windows version of Renderdoc inside of Epic's Lutris generated prefix. The game just simply broke out of the prefix "jail" and claimed the Epic game launcher wasn't running. I'll ask for help from the community.

daniel-schuermann commented 5 years ago

ping. Hey, could you confirm that this issue is resolved on the backend branch as well? Or is it still an issue. Thx!

SR-dude commented 5 years ago

I was playing this game all day yesterday without issue on the master branch. Yes, it is still a problem with the backend branch. Screenshot from 2019-07-10 11-30-12 Screenshot from 2019-07-10 11-36-20

With the second screehshot one the gentleman's back is turned from the camera but still the eyes glow.

daniel-schuermann commented 5 years ago

Hi SR-dude, would you like to test https://github.com/daniel-schuermann/mesa/tree/backend_issue_64 to confirm that the issue is not present on this branch? It is the same branch with one commit removed where we think might be the error. Thx!

SR-dude commented 5 years ago

I tried 'backend_issue_64' and the issue still occurs. Sorry.

daniel-schuermann commented 5 years ago

hm, okay. we only had a guess which commit it might be, but was apparently wrong. So, we updated the branch https://github.com/daniel-schuermann/mesa/tree/backend_issue_64 again where basically all changes from the backend branch are reverted, so that it's only a rebased master branch. I'd appreciate if you could retest again, and if it then works and you find the time, would you be able bisect this branch to find the commit which is responsible for this regression? Thx alot!

SR-dude commented 5 years ago

Alright, no glowing eyes with backend_issue_64 branch as of now. Tell me again which branch you want me to bisect and which range of commits?

daniel-schuermann commented 5 years ago

this branch you just tested :) it has a bunch of reverts as last commits. so, knowing which revert exactly made it work again would be gold! thx

SR-dude commented 5 years ago

The rebase ruled out a dirct bisect. Git complained about refs not being direct ancestors of of newer commits But there were only a hand full of commits to test. So, I did it manually. These are the commits in order as git reports them. The first good commit with no glowing eyes was 532679...

commit 9bc391c7857ca1255b40155d27234fe9877a3d84 not glowing commit a0e5ca745361718242e82ae019f86610cfed2ba2 didn't test commit 4ea0889f56940894161d7d3285dbe13ec0cd04e6 didn't test commit 17eb854870b87f0602a7be2061f3a448c5af62db didn't test commit 515538edf581fec1fe840702e269509817182a22 not glowing commit 53267942ec015f76ba943ec5c4924eb6759c0708 not glowing commit 3b7f3b51370de9dc168828882d9fe44a18efcc75 glowing eyes commit 69fe03aed4c9dc11b92738068e4fefde25ddcfff glowing eyes commit bb40825e9a728e7e8708f082eae0c2d9565ecc7c glowing eyes commit 21326c9958cc5bb5b11db57c4dfb0cd86de56fec glowing eyes commit 8c6ebf61d7ab4454b06e195664de631948c3ec1b glowing eyes

daniel-schuermann commented 5 years ago

SR-dude, thx for this investigation. I rewrote the part which happened to be the only case which was affected by the commit which apparently broke Sinking City (although I still don't really understand what could have gone wrong there). Would you retest the normal 'backend' branch? Thx

SR-dude commented 5 years ago

On the backend branch the eyes glow. + Let's talk about renderdoc. As far as I know there are two ways to work this suite. First, you fill out the fields: Executable Path, Working Directory, Command-line Arguments, and Finally Environment Variables. Second, you attach to an already running process. That only works if you can attach before your vulkan instance is created.

One big problem I have is isolating the main game binary from its DRM. I tried the first approach only to be told be the game that Epic needed to be run and logged in. I was but the game couln't see it. I'm not sure what to do here.

daniel-schuermann commented 5 years ago

Did you try to just set

daniel-schuermann commented 5 years ago

Ok, I force-pushed to the backend_issue_64 branch, so that it is just the updated backend branch with the commit you bisected, reverted. Do you mind testing the backend_issue_64 branch again? I admit, I'm quite confused. (if you pull, use -f because of the force-push)

SR-dude commented 5 years ago

Thank for the tip! Here it is.

https://drive.google.com/open?id=18aBQdgYYp_oFF5ds6JVm80Efg9RjOD9b

pendingchaos commented 5 years ago

Thanks, should be fixed with 0e2241145ac4d74bbf1eff3fc92e48c1d12ffc16

SR-dude commented 5 years ago

I'm about to permanently delete the renderdoc, unless anyone wants it. I'll give you 12 hours to grab it.