Skip to content
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

PPTC Profiles #370

Merged
merged 7 commits into from
Jan 29, 2025
Merged

PPTC Profiles #370

merged 7 commits into from
Jan 29, 2025

Conversation

LotP1
Copy link
Contributor

@LotP1 LotP1 commented Dec 10, 2024

Added functionality that allows ExeFS mods to compile to their own PPTC Profile and therefore store PTC data between sessions.
The feature calculates the hash of the currently loaded ExeFS mods and stores the PPTC data in a profile that matches said hash, so you can have multiple ExeFS loadouts without causing issues. This includes different versions of the same mod as their hashes will be different.
Using this PR should be seamless as the JIT Sparse PR already laid the groundwork for PPTC Profiles and this PR just allows ExeFS mods to load and store their own profiles besides the default profile.

❗❗❗ WARNING! ❗❗❗
Using this fork will update your PPTC profile version, which means the PPTC profile will be invalidated if you try to run a PR/Build/Branch that does not include this PR!
This is only relevant for the default PPTC Profile and because of that i don't recommend running this PR without ExeFS mods!

@github-actions github-actions bot added cpu An issue with ARMeilleure, the JIT, or Hypervisor horizon Affects the Horizon OS HLE components. labels Dec 10, 2024
@LotP1 LotP1 force-pushed the PPTC-profiles branch 4 times, most recently from ebc9441 to e0acefe Compare December 20, 2024 12:33
LotP1 added 7 commits January 27, 2025 00:27
this is currently broken with Exlaunch mods that use hooks
The stream hadn't been reset causing all hashes to be the same in most cases
- Added blacklist status to FunctionProfile
- Added PPTC Info file updater from v5518 and updated old updater logic to allow multiple update passes
- Added blacklist check to PPTC Cache loading
- Added marking functions as blacklisted if they do not yet exist at PPTC translation time
- Logger now shows how many functions were blacklisted when translating new functions to PPTC cache
@GreemDev GreemDev merged commit 7085baf into Ryubing:master Jan 29, 2025
10 checks passed
SomeoneIsWorking pushed a commit to SomeoneIsWorking/Greem that referenced this pull request Feb 1, 2025
Added functionality that allows ExeFS mods to compile to their own PPTC
Profile and therefore store PTC data between sessions.
The feature calculates the hash of the currently loaded ExeFS mods and
stores the PPTC data in a profile that matches said hash, so you can
have multiple ExeFS loadouts without causing issues. This includes
different versions of the same mod as their hashes will be different.
Using this PR should be seamless as the JIT Sparse PR already laid the
groundwork for PPTC Profiles and this PR just allows ExeFS mods to load
and store their own profiles besides the `default` profile.

❗❗❗ **WARNING!** ❗❗❗
**This will update your PPTC profile version, which means the
PPTC profile will be invalidated if you try to run a PR/Build/Branch
that does not include this change!**
**This is only relevant for the default PPTC Profile, as any other profiles do not exist to older versions!**
@GreemDev GreemDev mentioned this pull request Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpu An issue with ARMeilleure, the JIT, or Hypervisor horizon Affects the Horizon OS HLE components.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants