Commit Graph

16 Commits

Author SHA1 Message Date
Crementif
3f87a42f4f
[Bayonetta 2] Fix aspect ratio patch to not break Vulkan
Fixes https://github.com/slashiee/cemu_graphic_packs/issues/437

The aspect ratio mod apparently relied more on a shotgun approach, which caused major issues with Vulkan.
Using @getdls addresses, I found out that 2 of the addresses that were being patched to jump to the code cave were unrelated to the aspect ratio, so I had those removed.

Those random jumps probably didn't cause issues because they would jump to code that would just utilize floating point registers that were in-use and then put the result in the wrong register too. While the picked registers would work with the 3D rendering aspect ratio instruction, it wouldn't fail for the other registers since they weren't specific to those.

Anyway, the proper fix was to just make a second code cave for the aspect ratio, which outputted the culling ratio in the proper register. And also make sure it didn't use in-use registers.

I also reverted some of the shader code changes since they are inconsistent with how we've done them for all the other packs. And made them more compatible with the ultrawide resolutions.
2020-05-24 18:11:09 +02:00
getdls
49719345a7 Bayonetta 2- Ultrawide, DOF, scale gl_point
Cutscene DOF is LOD based, should not have been scaled.
2020-04-23 21:45:28 +02:00
Crementif
bca55a1bc4
Add 5k and 8k resolutions back
Solves https://github.com/slashiee/cemu_graphic_packs/issues/422

Was requested over at the Cemu discord too after we took them away while we sanitized them, and there isn't really an issue with having these. Let's just keep those presets sanitized now.

Also found out that some random workaround had appeared in our resolutions folder 🤔.
2020-01-19 02:40:11 +01:00
Crementif
f3d35c75dc Convert a lot of graphic packs to V4 (#417)
Didn't update the docs (will do that tomorrow), but I manually checked (didn't verify things, but I basically checked if it contained "uf_windowSpaceToClipSpaceTransform" and if the shader was made after a certain Cemu change was made due to how they're left out) to see if any graphic pack in here was *probably* safe.

I also didn't convert 5 graphic packs since they contained signs that needed to be manually checked or at least examined more:
- \Enhancements\TwilightPrincessHD_Bicubic
- \Resolutions\DevilsThird_Resolution
- \Resolutions\TwilightPrincessHD_Resolution (this one just needs to be fully verified since it's popular enough and has like 27 shaders)
- \Resolutions\LegoStarWars_Resolution
- \Resolutions\TokyoMirage_Resolution (this one could also be manually verified)

I hope I didn't make too many mistakes with this one.
2020-01-17 20:31:42 -08:00
getdls
feb37c730b [Bayo2] Fix load screen
.. and particles
2020-01-12 21:36:58 +01:00
Michele
4398ebcebe Add credits and normalize resolution presets
I searched through quite a bit of commits to properly credit some packs. Some of the credits are based off memory. Please let me know if I incorrectly credited or forgot to credit somebody.
2020-01-10 17:06:51 -08:00
Michele
9bc2df3fff Fix non-integer resolutions for certain packs 2020-01-01 12:03:05 -08:00
Crementif
c1b904314d
Revert "Update every graphic pack to V4"
This reverts commit 306da0b802.
2019-11-29 05:20:11 +01:00
Crementif
306da0b802
Update every graphic pack to V4
Since it's not possible to update 300+ shaders manually and automation was possible, I thought that I'd take the honor and create a script that's able to automatically convert all of the shaders to be cross-compatible with Vulkan. And change the graphic pack versions to version 4 of course.

Also, the script has some nifty testing code which compiled every shader as OpenGL and Vulkan, but for that see the details that I've written below.

**Here's the script that I've made to do all of this. No manual edits were needed:**
https://gist.github.com/Crementif/8d98a855b95f219d95298fb3db99deae
2019-11-29 04:36:05 +01:00
Crementif
077f4f8f27
Fix shader errors and shader cleanup
Since I wanted to make sure that I didn't broke the shaders after converting the shaders to Vulkan, we need to check if all the shaders weren't broken. Since we're talking about like 400 shaders checking all of them is pretty much impossible and even then, 

So, the obvious solution was to automate the checking. Not as simple as you'd think, because in 300 of our shaders we use preset variables which without replacing the value like Cemu does, will make the shader error regardless. So I also implemented some functionality that would read the preset values and types out of the rules.txt file and replace them in the shaders using that information. And then we use Khronos' glslang to compile the shaders, using both OpenGL and Vulkan.

The result was that glslang found quite a few errors in some of the shaders, which I fixed in this commit. I'm considering adding this rules.txt parsing and automated shader compilation testing to the build process.

Also, I fixed Clarity's name and description since Monochromia isn't available anymore and Xenoblade's resolution pack had a lot of weird blank lines before their #version declaration, which my converter didn't like.
2019-11-29 00:51:00 +01:00
Michael
477f71cf86 Revert "Improve performance with (almost) every game"
This reverts commit 2f5488c22e.
2019-04-01 19:54:41 -07:00
Michael
2f5488c22e Improve performance with (almost) every game 2019-03-31 22:45:26 -07:00
getdls
a8ce85c9ac [Bayo2] Scale cutscene AA, specular highlights 2019-01-31 23:25:34 +01:00
Michael
a3e675cba0 force update 2019-01-06 15:05:29 -08:00
Skal Fate
f55f569783
Added 1600x900 Resolution to Packs that didnt have it (#286)
Added 1600x900 resolution to all packs that didn't have it.
2018-11-30 22:35:12 -07:00
Michael
a89f270565 rename graphics to resolutions 2018-11-30 17:53:53 -08:00