amwatson / CitraVR

Port of the leading 3DS emulator, Citra — designed for playing 3DS homebrew and personal game backups in 3D on the go with your Quest.
GNU General Public License v3.0
707 stars 61 forks source link

Additional "Immersive Mode" that has a higher resolution #33

Closed DrBeef closed 8 months ago

DrBeef commented 8 months ago

There's not a lot to it really, just uses a smaller top panel display which increases the resolution, but keeps it big enough you don't tend to see the edges. I really liked Lubos' mode, but it felt too low res for me, so I thought I would have a tinker with it and see if I could bump it up a bit. I also modified the settings so you can select between the modes.

Please let me know if there's anything I should tweak.

PS. For some reason this pull request has picked up one of your commits!

amwatson commented 8 months ago

Oh this is so cool! Thanks so much! I will take a look in a second. Assuming no issues, I'll pull it in!

Fair warning, I'm going to push the merge from upstream Citra soon, which will decimate the java files in this revision. I'll manually update the changeset since I know how to do it

amwatson commented 8 months ago

It looks great! I only see one issue (and it's with the base commit, not yours)

It looks like the shader gets cached for the next run, and is sometimes reused when the immersive-mode setting is changed. Ideally, both would be stored and retrieved based on the mode, but I might be able to dump them as a quick-fix.

I'll start looking into this

amwatson commented 8 months ago

ok, got it!

There was only one bit left of the bitfield that's cached, though, so we can only add one mode. I think that's ok, because the mode you just added looks incredible. I'd like to go with that.

This system for caching gets completely replaced in the new version, so we may be able to restore additional resolution options when that happens

DrBeef commented 8 months ago

Fantastic!, thank-you for merging this and good spot on the shader cache thing too!