Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Tmem cache emulation option #7562
The pr just makes the tmem cache emulation optional and disables it for the games that are known to be broken with it. Ideally, it would be improved/repaired to work properly, but that's beyond by my skillset. An alternative would be to remove it completely, since the currently implemented tmem cache emulation is just a hack, but that would break some effects in Spyro: A Hero's Tail.
I have chosen to enable the option by default to avoid reports of reduced performance.
Also, i wanted to put the option in the GUI right under the texture cache slider, but couldn't figure out how to align it with the other 2nd column options.
I understand that the proper solution is to make the tmem cache emulation actually cache the exact same things that are cached on the gamecube/wii. Since that is beyond my skillset and there are at least 5 games right now that have been broken for over 1 year now, i think something should be done.
The alternative to this pr, that i'd be able to implement, would be to remove the feature again and break Spyro. Removing it instead of making it optional would have one big advantage: It would increase the incentive for somebody to implement a proper solution. The tmem cache emulation was part of Dolphin for over a year now, if there were a few other affected games, i think JMC or somebody else would have found some of them by now. If there's only 1 affected game, and it "works", i think it's hard to get somebody to work on it.
I see 4 options:
I'd be genuinely glad, if i'm overlooking another, a better, alternative.
PS: Sorry, there's another bad alternative that i thought of and i dismissed it, it's a variation of the 1st alternative. Add the option to enable/disable tmem cache emulation, don't expose it to the GUI, and only turn it on for Spyro.