diff options
| author | xbzk <xbzk@eden-emu.dev> | 2026-09-30 00:58:29 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-09-30 00:58:29 +0200 |
| commit | 3f78512c83fca84a36bb450a10043b368830f8b0 (patch) | |
| tree | 892899ab08939bab924ef9f0e080275f73e19b01 /src/video_core/gpu.cpp | |
| parent | a82f31a310c5dc7cae50c47b3306510a24cc36a6 (diff) | |
[ro] add TLS patching for runtime NROs (#4492)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.
-------------------
Aimed to fix Biomutant which stucks in a bootloop due to guest being unable to reach correct thread local storage (TLS)
This fixes runtime NRO loading by properly patching the guest TLS (TPIDR_EL0) path. Steps:
-Read the loaded NRO image into a temporary buffer.
-Run the NCE patcher on it.
-Produce a patch section / relocated code.
-Map that patch section as executable memory in the target process.
Game still has intermittent visual issues which can be solved with GPU level accurate, but that causes a huge performance drop in exchange. Someone else will resume this one.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4492
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/video_core/gpu.cpp')
0 files changed, 0 insertions, 0 deletions
