Pierre-Loup A. Griffais
c3fb6ccaaa
DiskCache: make Writer thread low-priority
2026-08-23 14:01:32 -07:00
Ryan Houdek
0717f4689b
FEX: Only fsync on assert
...
The rest of the messages should be buffered, no reason to sync those.
2026-08-21 16:26:14 -07:00
Pierre-Loup A. Griffais
c038bb5794
Windows: add Thread implementation
...
So we can make a worker thread that the guest (hopefully) won't see.
2026-08-21 11:16:07 -07:00
Pierre-Loup A. Griffais
efc5eaf9c7
Utils/File: add PRead(), PWrite() and Size()
...
Because PRead/PWrite don't have the same side effects on the file cursor
between Linux and Windows (:/), make them all-or-nothing.
2026-08-21 11:16:07 -07:00
Jacek Caban
85efb47a3b
Windows: Handle interrupt 3 in HandleGuestException
2026-08-21 13:16:43 +02:00
Pierre-Loup A. Griffais
561c32b45d
Disk Cache initial implementation
...
Serializes code blocks to disk - only blocks coming from known regions, for now
Disabled by default, key and versioning still needs work, but works for testing
2026-08-19 18:20:49 -07:00
Jacek Caban
ea67665bbf
Windows: Handle 0x2c interrupt in HandleGuestException
2026-08-19 00:41:07 +02:00
Ryan Houdek
2b0d94536f
Steam/CompatTool: Become more picky about configs
...
If `STEAM_COMPAT_FEX_CONFIG` is missing options, then instead of having
an opinion about what those options should be, just leave them unset.
This allows FEX's regular default option handling to kick in for missing
configuration options.
Where previously if an option was missing from the config, it would
default to boolean false, which may or may not be the default depending
on option.
2026-08-17 09:34:25 -07:00
Jacek Caban
412c49a8ce
Windows/CRT: Add printf and puts stubs
...
Fixes PE builds with VIXL disassembler enabled.
2026-08-16 15:14:36 +02:00
Ryan Houdek
71afe47675
Merge pull request #5821 from Sonicadvance1/200
...
Thunks: Adds some new PV paths
2026-08-12 22:47:56 -07:00
Ryan Houdek
7c1036df09
clang-format: Slight whitespace difference
2026-08-12 16:55:38 -07:00
Ryan Houdek
a312347589
Thunks: Adds some new PV paths
...
Slight PV behaviour changes meant we missed this.
2026-08-12 16:54:01 -07:00
Jacek Caban
720039ca6d
CRT: Avoid implicit char to unsigned char casts in strtoumax
...
Fixes -Wpointer-sign warnings.
2026-08-10 15:05:26 +02:00
Jacek Caban
4e9399e029
CRT: Silence -Wunused-but-set-variable warnings in libm.h
2026-08-10 15:05:26 +02:00
Jacek Caban
466ee3cbcf
CRT: Use DLLEXPORT_FUNC for more functions
...
Fixes locally defined symbol imported linker warnings.
2026-08-10 15:05:26 +02:00
Jacek Caban
390d5d2fb4
OfflineCompiler: Avoid unused function in win32 builds
...
Fixes -Wunused-function warning.
2026-08-10 15:05:26 +02:00
Jacek Caban
b543df8299
HostFeatures: Avoid unused function in win32 builds
...
Fixes -Wunused-function warning.
2026-08-10 15:05:26 +02:00
Ryan Houdek
b161a74365
Misc: Adds some missing headers
...
Newer compiler and libraries got angry that these were missing.
2026-08-07 14:52:00 -07:00
Ryan Houdek
c772c0e4e7
Merge pull request #5794 from Sonicadvance1/194
...
Win32: Actually set app config path and name
2026-08-05 19:50:37 -07:00
Iaying
7629323548
Fix an XMM register bug in SpillSRA, along with adding a test that reproduces the bug
2026-08-03 15:15:41 -07:00
Ryan Houdek
681636cd68
Win32: Actually set app config path and name
...
Apparently we never set this and it happened to not be a problem. I
needed it to gather some data so fix it.
2026-07-30 20:51:29 -07:00
Martin Storsjö
efe38f2ee2
Add more function stubs for libc++ 23 on Windows
...
These are needed by libc++ when targeting Windows since
https://github.com/llvm/llvm-project/commit/8a531c3608c722ad529be448d6ecef06ba107228 ,
which is included in libc++ 23.
In a very brief test, it seems like we don't need to actually
implement them.
2026-07-28 23:37:53 +03:00
Martin Storsjö
08031a2767
Add missing includes
...
This fixes compilation with libc++ 23, which has removed a number
of unnecessary transitive includes in its headers.
Include <cstdlib> in StringConv.h for std::strtoll and std::strtoull.
Include <cstdlib> for the declarations of malloc/free/realloc/calloc
in Alloc.cpp. (Without this, the functions we define end up with
C++ name mangling.)
Include <stdarg.h> in IO.cpp for va_start/va_end.
2026-07-28 23:17:43 +03:00
Ryan Houdek
d295d9f08e
Merge pull request #5789 from lioncash/sig
...
SignalDelegator: Remove unused Required parameter in handler setting
2026-07-27 13:14:14 -07:00
LC
e8b5cd18bd
SignalDelegator: Remove unused Required parameter in handler setting
...
The required flag is set by the subsequent frontend functions that
follow the calls to these functions.
2026-07-27 15:06:24 -04:00
LC
1a77f41846
Config: Add missing override specifier
2026-07-27 14:01:11 -04:00
LC
d1947f715c
Config: Move strings in constructor where applicable
...
Same thing, just a little less memory churn.
2026-07-27 14:00:06 -04:00
LC
3f7971b7d2
Config: Mark internally linked where applicable
...
Makes it obvious these aren't supposed to be exposed.
2026-07-27 13:56:53 -04:00
LC
2cbd5cb3e6
Config: Amend prototypes where applicable
...
Previously, these didn't match up with the implementation (luckily it's
only used internally at the moment).
2026-07-27 13:54:25 -04:00
FrontMage
35518a5fa0
FEXCore: Ignore inactive JIT guard ranges
2026-07-24 07:57:48 +08:00
Brendan Shanks
074743d6e8
Windows: Explicitly use *A/*W Win32 functions
2026-07-22 15:16:44 -07:00
Brendan Shanks
8b446de059
Windows: Use GetModuleHandleW() to avoid unnecessary string conversions
2026-07-22 15:16:44 -07:00
Ryan Houdek
99b8df4e6f
Merge pull request #5773 from lioncash/fdres
...
ThreadManager: Fix error return values in FrontendAllocateSlots()
2026-07-19 16:14:50 -07:00
LC
331655182d
ThreadManager: Fix error return values in FrontendAllocateSlots()
...
If ftruncate or the mmap ever fail for whatever reason, then we need to
return the current size, rather than the new size.
2026-07-21 15:12:41 -04:00
Ryan Houdek
ec95330dcd
Merge pull request #5765 from lioncash/signal
...
SignalDelegator: Group members together
2026-07-19 16:13:26 -07:00
LC
3959863462
SignalDelegator: Group members together
...
Hides all public members and situates all of them together to make for
an easier overview.
2026-07-19 21:10:35 -04:00
LC
6e37dca566
LinuxAllocator: Reduce MemAllocator32Bit size by 16 bytes
...
These constants don't need to be member vars.
2026-07-19 18:37:38 -04:00
LC
a3d0b67777
LinuxEmulation: Resolve missing prototype warnings
...
Ensures all functions are marked whether they're intended to be
internally linked or not.
2026-07-17 00:12:28 -04:00
Ryan Houdek
a1cc5d034e
Merge pull request #5755 from lioncash/host
...
HostRunner: Tidy up interface
2026-07-16 12:35:18 -07:00
Ryan Houdek
b478f54aea
Merge pull request #5754 from lioncash/vdso
...
VDSO_Emulation: Mark relevant members as internally linked
2026-07-16 12:34:27 -07:00
LC
a4d5fbae63
HostRunner: Tidy up interface
...
We've accumulated a bunch of forward declarations that are no longer
necessary. We also don't need to pass the signal delegator as a
reference, since we're not modifying the pointer itself, it's just
passed in to register a signal handler.
2026-07-16 07:39:03 -04:00
LC
2943b87c83
VDSO_Emulation: Mark relevant members as internally linked
...
Silences missing prototype warnings and makes it obvious they're only
used within the translation unit.
2026-07-16 07:28:50 -04:00
LC
9575506391
FEXServer: Fix some missing declaration warnings
...
Makes sure prototypes are visible to their implementation. Also marks
functions internally linked where applicable.
Also makes it a little more visibly obvious which bits are exposed for
use elsewhere.
2026-07-16 07:10:32 -04:00
LC
70eafc4f6f
FEXGetConfig: Mark helpers as static where applicable
...
Makes them internally linked, and also lets them be caught by the
compiler when they're unused.
2026-07-15 12:22:12 -04:00
LC
38cbd2aeb2
FEXGetConfig: Add convenience option for dumping system/tso info
...
Just lets you get a broad overview all at once instead of needing to
type out every long command.
Now it's easier to be lazy and just pass "-e", or "--all-emu-info".
2026-07-15 12:22:10 -04:00
Ryan Houdek
372891361c
HostFeatures: Pull MMFR3 identification register
...
This has the S1POE flag that we will want to use in the future.
2026-07-14 20:09:31 -07:00
Ryan Houdek
50c75d1f43
Move Linux version calculation to common code
2026-07-14 20:06:37 -07:00
LC
23402bf31b
x32/Semaphore: Fix storing of message type in msgrcv
...
This was previously storing into the local compat handler, not the
actual managed message.
2026-07-13 17:30:27 -04:00
LC
50be718b72
x32/Semaphore: Mark _ipc as static
...
This isn't used outside of the translation unit.
2026-07-13 17:30:24 -04:00
Ryan Houdek
f2b679f602
Merge pull request #5728 from lioncash/halves
...
x32/FD: Combine offset halves directly
2026-07-12 11:15:10 -07:00