mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 16:25:58 +03:00
[PR #3568] [MERGED] Core: Fix MXCSR and FPUCW registers on created threads #3579
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#3579
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/3568
Author: @StevenMiller123
Created: 9/10/2025
Status: ✅ Merged
Merged: 9/10/2025
Merged by: @squidbus
Base:
main← Head:fix-regs📝 Commits (6)
4edf8f4Use _mm_setcsr over assembly4df1108Clang3e5c1e4Missing includef5e9366Unconditionally set FPUCW51e3e04Fix FPUCW and MXCSR registers on Windows6af1eccSet MXCSR on all platforms📊 Changes
1 file changed (+7 additions, -9 deletions)
View changed files
📝
src/core/thread.cpp(+7 -9)📄 Description
Orbis seems to set the flush-to-zero and denormals-are-zero flags of MXCSR, unlike all other platforms, and defaults to a higher floating point precision than Windows.
This PR sets these registers using constants dumped from real hardware.
This fixes the currently Linux-specific crash in base versions of Uncharted 4: A Thief’s End™, as described in https://github.com/shadps4-compatibility/shadps4-game-compatibility/issues/146
Let me know if there are any formatting changes I need to make here, I don't typically use inline assembly.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.