-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misc: Always enable full mipmap with ps2 trilinear by default #11241
Conversation
Have you done thorough testing with this? There will be a performance impact, texture pack breakage (hey, at least they can't blame me this time), and potentially broken games. Also, rather than testing for auto all the time, it's probably better to just remove the auto enum value completely, and default to full. Basic can probably be purged too, I don't think there's anything that actually needs it, and it breaks miptricks. So really, it could become a boolean instead ;) |
Basic is still needed for some games, namely FIFA and some other games like ICO and Harry Potter games. But yeah for 98% of the time full mipmapping should be fine. Though not sure when Full mipmapping was fixed, well probably in multiple waves and iteratively built upon I'm assuming. |
Yeah. Worth checking those games, it might just be legacy holdover, rather than actually being broken with full. If they are busted with full, upload dumps and I can take a look. |
What implications does this have for the existing configs? Can the currently saved option be just safely deprecated? |
I was thinking about that too actually. |
14bba71
to
83eaef6
Compare
My personal experience going through both every single dump we've collated as well as playing the games I own (a combined total of ~4500 dumps examined by hand) is that mip+tri is useful for accuracy in a majority or a near-majority of games and unused but without any negative impact in a majority or near-majority of games. The games which break with mips by default, again in my anecdotal experience, amount to a rounding error within the PS2's library. The amount of games we have not yet had the resources to test which will become more accurate with this change almost assuredly vastly outweigh the amount that we haven't tested and which do break under full mips. Additionally, with Jordan's recent 2000-line PR, we've enabled mips by default in most of the major games that have texture packs (I was keeping track of this bracing for helping texture pack users with complaints on the Discord, although we've received very few). We were eventually going to enable mips by default in those games no matter what once we found out they used mips, so this was simply expediting an inevitibility in that respect. So I don't think it should be taken heavily into consideration. Finally, you would know more about the objective performance impact than I would from simple anecdotal experience, so I won't remark on that. |
@stenzek Okay so dumps that break from the archive:
|
5cd3454
to
55819c8
Compare
55819c8
to
142f12e
Compare
ce09850
to
c3b026b
Compare
Change mipmap config to bool.
Credits to TheTechnician27 and Jordan.
c3b026b
to
433f40c
Compare
Can you add back an option somewhere (even if it's a setting only enabled in an .ini file) to use Basic Generated Mipmaps? I made a texture pack for Ape Escape 2 that shows the same texture quality regardless of distance and it requires the Basic setting. It's also just better to have various options and not be locked to off or on. |
basic was a hack, we don't really want that in there any longer, what you need to do is dump the mipmaps and update them too. We're not going to reverse improvements because you did half a job. |
I'm (eventually) going to add an option to reverse-bias the texture LOD, instead of using the GS LOD, which will result in higher detail in some games, similar to how basic worked. But it can't be the default, because that would break Jak/Ratchet/etc. It also won't help with the hash changes, since it's just adjusting the sampler, not the actual texture source itself. Basic was terrible and a giant hack to begin with (breaking miptricks), that's why I suggested removing it in the first place. |
Dumping with Basic on was dumping lower quality versions of all the textures. I manually identified and removed the low quality ones, made copies of the high quality ones, and renamed those to what I removed. I wouldn't call that half a job, even though it was ridiculous to do. Ape Escape 2 is a unique situation where it's broken with mipmapping off and looks like a terrible blurry mess with it on. Having it set to Basic with a texture pack fixed that. I get that the developers intended it to look that way, but a texture pack barely does anything with mipmapping set to Full. |
okay but basic is a hack, you will need mipmaps compatible with full mode, I would expect those to be lower quality textures, since basic just takes the base level and makes the rest up, full has the full chain of mips, but you should modify your texture pack to use them. |
Biasing the LODs as I said above should force it to use the higher detail levels, similar to how basic behaved before, just without the hackyness refraction is referring to. We need this for upscaling in general, not just texture packs. |
Description of Changes
Always enable full mipmap with ps2 trilinear by default.
Change mipmap option from a drop down to a bool with on off option only, remove automatic and basic options.
TODO for the future: remove support of trilinear and mipmap from db.
Rationale behind Changes
Accuracy, less hassle to keep adding gamefixes, instead we will add gamefixes to force disable mipmap on some games that break.
Suggested Testing Steps
Test variety of games that use mipmap + triliear, make sure to disable gamefixes .
DB list needs to be updated.