LC
ca2bdbca19
Merge pull request #5319 from neobrain/fix_cc_codebuffer_size
...
FEXCore: Default to a larger CodeBuffer size when code caching is enabled
2026-02-21 19:08:06 -05:00
LC
8dfdfdf6ef
Merge pull request #5318 from neobrain/fix_cc_validation
...
CodeCache: Fix validation of large binaries
2026-02-21 19:07:52 -05:00
LC
c0724d904f
Merge pull request #5317 from Sonicadvance1/92
...
JIT: Support avoiding spilling CPU flags
2026-02-20 17:59:14 -05:00
LC
97bc2c5c66
Merge pull request #5320 from Sonicadvance1/93
...
CoreState: Add some more alignment checks
2026-02-20 17:58:55 -05:00
Ryan Houdek
b130d14de4
CoreState: Add some more alignment checks
...
Just to ensure we don't hit performance penalties of some CPUs.
We already weren't, but make sure.
2026-02-20 12:57:21 -08:00
Tony Wasserka
cec52253fb
FEXCore: Default to a larger CodeBuffer size when code caching is enabled
...
The current CodeBuffer regrowth code discards any existing contents. This is
undesirable with code caching, since those contents can't be re-fetched from
the disk cache and instead need to be recompiled at runtime.
Additionally, FEXOfflineCompiler obviously should never discard compiled code.
Using a large enough CodeBuffer right away reduces the likelihood that FEX
runs into such scenarios.
2026-02-20 19:07:48 +01:00
Tony Wasserka
31d5805681
CodeCache: Ensure CodeBuffer is large enough for validation run
...
Previously, CodeBuffer regrowth would discard parts of the code compiled
during the reference run.
2026-02-20 18:49:58 +01:00
Tony Wasserka
fda087e24f
FEXCore: Add helper function to query available CodeBuffer size
2026-02-20 18:49:07 +01:00
Tony Wasserka
1d8935d0ab
CodeCache: Drop unnecessary CodeBuffer size check
...
The CodeBuffer is resized as required right below.
2026-02-20 18:49:07 +01:00
Ryan Houdek
b49730f255
JIT: Support avoiding spilling CPU flags
...
When thunks are jumping out, games are jumping /entirely/ out of their
controlled code, which means we don't need to save and restore
NZCV,PF,AF.
Some CPUs don't fully rename direct accesses to this register which adds
up during thunking. FPCR is also in the same situation where it'll force
pipeline flushes and isn't renamed away, but we can't really avoid that.
Improves performance at least in Detroit: Become human where the game
spends ~48% CPU time inside of the thunk trampoline for
`vkUpdateDescriptorSets`.
I plan on a follow-up PR where I converge all these options into a
struct argument instead, but that's a follow-up since I don't want to
burn a bunch of time right now.
2026-02-19 17:18:30 -08:00
LC
537d1599f3
Merge pull request #5316 from Sonicadvance1/91
...
Scripts: Add support for Ampere tuning
2026-02-19 20:00:37 -05:00
Ryan Houdek
7eb7b9f802
Scripts: Add support for Ampere tuning
2026-02-19 16:20:55 -08:00
Ryan Houdek
73822b9e54
Merge pull request #5315 from carsongoodwin32/fix_install_script
...
Fix InstallFEX.py not running FEXRootFSFetcher correctly
2026-02-19 16:19:21 -07:00
Carson Goodwin
a71adc5950
Script: For InstallFEX.py Replace subprocess.call() with subprocess.run() and add TTY as stdin for FEXRootFSFetcher
2026-02-19 16:13:57 -06:00
Tony Wasserka
49a37c7d6f
Merge pull request #5313 from neobrain/refactor_header_cleanup
...
Revert "CodeCache: Use defaulted dtor for ExecutableFileInfo"
2026-02-17 10:31:14 +00:00
LC
df3d236408
Merge pull request #5314 from neobrain/opt_cc_generation
...
CodeCache: Avoid unnecessary copying of CodeBuffer contents
2026-02-16 18:48:36 -05:00
LC
8c536e4d58
Merge pull request #5311 from Sonicadvance1/89
...
VDSOEmulation: Adds some checks for corrupt guest VDSO ELF
2026-02-16 11:30:41 -05:00
LC
6f7f0867af
Merge pull request #5312 from Sonicadvance1/90
...
ELFCodeLoader: Fixes accidental vector copy
2026-02-16 11:30:04 -05:00
Tony Wasserka
7bdf53291b
CodeCache: Avoid unnecessary copying of CodeBuffer contents
2026-02-16 11:07:32 +01:00
Tony Wasserka
44a6bfd874
Revert "CodeCache: Use defaulted dtor for ExecutableFileInfo"
...
CodeCache.h has no dependency on SourcecodeResolver.h.
This reverts commit f2bbc0eccd .
2026-02-16 10:29:58 +01:00
Ryan Houdek
76551e5648
ELFCodeLoader: Fixes accidental vector copy
...
Fixes Coverity CID #899885
2026-02-15 15:22:58 -08:00
Ryan Houdek
64482ed07b
VDSOEmulation: Adds some checks for corrupt guest VDSO ELF
...
Fixes Coverity CID #899901
2026-02-15 15:09:22 -08:00
LC
c0ec3d92db
Merge pull request #5309 from Sonicadvance1/88
...
Steam: Update VERSIONS.txt requirements
2026-02-14 02:36:19 -05:00
Ryan Houdek
c1a2f418a2
Steam: Update VERSIONS.txt requirements
...
Name and object separated by a tab deliminated character.
2026-02-13 11:43:25 -08:00
Ryan Houdek
6d23625601
Merge pull request #5308 from crueter/install-all-at-once
...
CMake: Use a single install(FILES) command for SteamRT
2026-02-12 20:39:42 -08:00
crueter
094d429ff0
CMake: Use a single install(FILES) command for SteamRT
...
No need for individual calls here. While doing this I also realized
xxhash has this at one point, I guess I'll PR that there later
Signed-off-by: crueter <crueter@eden-emu.dev >
2026-02-12 22:42:20 -05:00
Ryan Houdek
2a574e8c92
Merge pull request #5306 from crueter/iwyu
...
CMake: Also search for `include-what-you-use` if IWYU is enabled
2026-02-12 19:03:36 -08:00
Ryan Houdek
da766dd84f
Merge pull request #5305 from crueter/cmake-version-style
...
CMake: Split version/commit identifier to two lines
2026-02-12 18:58:28 -08:00
crueter
e2d11ce0fc
CMake: Also search for include-what-you-use if IWYU is enabled
...
Gentoo installs it as this, unsure about others but should "guarantee"
compatibility here
Signed-off-by: crueter <crueter@eden-emu.dev >
2026-02-12 21:50:48 -05:00
crueter
fd5c5a18a4
CMake: Split version/commit identifier to two lines
...
Something something style
Signed-off-by: crueter <crueter@eden-emu.dev >
2026-02-12 21:46:24 -05:00
Ryan Houdek
011fe6a8d2
Merge pull request #5304 from Sonicadvance1/87
...
Steam: Install a VERSIONS.txt file
2026-02-12 10:10:20 -08:00
Ryan Houdek
9275f09cf9
Merge pull request #5302 from Sonicadvance1/86
...
CI: Checkout with tags and non-shallow
2026-02-12 10:10:07 -08:00
Ryan Houdek
43a14c986c
Merge pull request #5301 from Sonicadvance1/85
...
CMake: Print FEX version strings found
2026-02-12 10:10:00 -08:00
Ryan Houdek
9d5aecc51d
Steam: Install a VERSIONS.txt file
2026-02-11 19:16:33 -08:00
Ryan Houdek
a4498925d6
CI: Checkout with tags and non-shallow
...
This way `git describe` works.
2026-02-11 17:12:54 -08:00
Ryan Houdek
36ec090ee3
Merge pull request #5300 from pmatos/feat/MirrorsEdge
...
Inline softfloat i16/i32/f32/f64 to extF80 conversions in dispatcher
2026-02-11 16:49:29 -08:00
Ryan Houdek
079038b09e
CMake: Print FEX version strings found
...
Useful debugging
2026-02-11 16:41:05 -08:00
Paulo Matos
11a5229f37
Inline softfloat i16/i32/f32/f64 to extF80 conversions in dispatcher
...
This was mainly targetted to MirrorsEdge but hopefully will help other workloads
that hit these softfloat conversions in a similar way.
2026-02-11 18:39:20 +01:00
LC
1387aecceb
Merge pull request #5297 from Sonicadvance1/82
...
Fixes remaining quirks of the ARPL implementation
2026-02-10 22:29:25 -05:00
LC
6edde868e6
Merge pull request #5295 from Sonicadvance1/81
...
unittests/ASM: Adds unittests for undocumented x87 instruction encodings
2026-02-10 22:26:49 -05:00
LC
1cade38b79
Merge pull request #5298 from Sonicadvance1/83
...
code-format-helper: Update minimum for dependabot again
2026-02-10 22:26:14 -05:00
LC
e9fd3005b9
Merge pull request #5299 from Sonicadvance1/84
...
External/rpmalloc: Fix rpmalloc on mingw
2026-02-10 22:25:49 -05:00
Ryan Houdek
40815c9c78
External/rpmalloc: Fix rpmalloc
...
Build option changed which broke rpmalloc. Fixed the cmake option.
2026-02-10 18:03:54 -08:00
Ryan Houdek
397fe29bb2
code-format-helper: Update minimum for dependabot again
2026-02-10 15:52:00 -08:00
Ryan Houdek
9e3525408f
Merge pull request #5278 from Sonicadvance1/74
...
CI: Update containers to inherit DEBIAN_FRONTEND
2026-02-10 15:46:38 -08:00
Ryan Houdek
55a2688dc0
Merge pull request #5293 from crueter/cmake-alias-targets
...
CMake: Avoid global include_directories in favor of propagation
2026-02-10 14:50:09 -08:00
Ryan Houdek
f4b0ecd0a0
unittests/ASM: Adds test for arpl correct set operation
...
arpl will only set part of the destination register if the RPL doesn't
match, it leaves the remaining bits of the register alone.
2026-02-10 14:40:21 -08:00
Ryan Houdek
6fc4ffef0a
unittests/ASM: Adds test for arpl flags
2026-02-10 14:30:27 -08:00
Ryan Houdek
cf3c41acc7
FEXCore: Fixup ARPL implementation
...
Some subtle details were wrong in the implementation, and some minor
changes to be more optimal.
2026-02-10 14:29:32 -08:00
FrontMage
9bf9c00474
x86: implement ARPL (0x63) in 32-bit mode
2026-02-10 14:12:52 -08:00