Changwei Miao
7ea3d7b9b4
Docs/SourceOutline: Remove X11 thunks
...
Signed-off-by: Changwei Miao <chanthmiao@outlook.com >
2026-02-24 02:02:24 +08:00
Changwei Miao
d81a370fca
Library Forwarding: Remove unused X11 thunks
...
These files should be remove with libX11 in #3584 .
Signed-off-by: Changwei Miao <chanthmiao@outlook.com >
2026-02-24 01:58:21 +08:00
Ryan Houdek
5849001d00
Merge pull request #5324 from neobrain/refactor_config_remove_unused
...
Config: Remove unused function from the old code cache skeleton implementation
2026-02-23 09:18:06 -08:00
Ryan Houdek
f75ea6ea24
Merge pull request #5323 from neobrain/feature_ir_docstrings
...
json_ir_generator: Generate docstring for IR op emitters
2026-02-23 09:17:48 -08:00
Tony Wasserka
35e4d452c0
Config: Remove unused function from the old code cache skeleton implementation
2026-02-23 17:49:15 +01:00
Tony Wasserka
7c31ca2ac2
json_ir_generator: Generate docstring for IR op emitters
2026-02-23 17:45:05 +01:00
Tony Wasserka
35bba14b2c
IR: Remove malformatted comments from json
...
Presumably this was done as a hack to highlight the line in red when rendering
documentation to markdown. Since it's only used for two instructions, drop this
use to ease generation of C++ docstrings.
2026-02-23 17:45:05 +01:00
LC
f5b08bbea6
Merge pull request #5321 from Sonicadvance1/94
...
AVX128: Convert vzeroupper/vzeroall zeroing to dc zva
2026-02-22 20:57:15 -05:00
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
Ryan Houdek
f8b8d21698
InstcountCI: Update for vzero* changes
2026-02-21 15:25:09 -08:00
Ryan Houdek
d6d4f84c3b
AVX128: Convert vzeroupper/vzeroall zeroing to dc zva
...
For the upper-half of the registers it is more efficient to zero the
context with `dc zva` on Ampere1A hardware, while Cortex implements this
as equivalent uops in their store pipeline and aren't affected one way
or the other. ARM C1-Pro and newer with FEAT_MOPS also match `dc zva`
performance with 64B/c, but theoretically slightly fewer instructions.
C1-Nano on the other hand, clearly loses to `dc zva`, where mops can
only do 16B/c, but `dc zva` does 64B/c. So we'll need to benchmark or
not if MOPS is a clear win once hardware is actually shipping.
2026-02-21 15:24:13 -08:00
Ryan Houdek
12fcf96e93
IR: Adds a ContextClear operation
...
This will be useful for zeroing parts of the context at CLZero alignment
and sizes.
2026-02-21 15:24:13 -08:00
Ryan Houdek
5875a121db
InstcountCI: Update for alignment change
...
NFC but touches everything.
2026-02-21 15:24:13 -08:00
Ryan Houdek
19ff098db5
FEXCore: Ensure that CpuStateFrame is 64-byte aligned
...
This is our cacheline and CLZero line size. Need to ensure it is
aligned.
2026-02-21 15:11:47 -08: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