LC
4d62e75d5a
Merge pull request #4085 from pmatos/FScaleZero
...
Fix FScale'ing zero that should return zero
2024-09-27 18:13:07 -04:00
LC
b6d3df0e54
Merge pull request #4086 from Sonicadvance1/stop_breaking_x86
...
Stop installing binfmt_misc on x86
2024-09-27 03:34:41 -04:00
Ryan Houdek
d5d1230422
Stop installing binfmt_misc on x86
...
With the new systemd support, we had forgotten to wrap this check in an
arm64 check. I had done an install and broke my x86 machine.
Add the check back so we stop breaking x86 machines...again. Took me
only about three hours to find the issue this time.
2024-09-26 15:49:48 -07:00
Paulo Matos
f35a212f06
Fix FScale'ing zero that should return zero
...
Added tests will fail without the current patch.
This will properly check if we return the correct sign of zero.
2024-09-26 17:57:39 +02:00
Ryan Houdek
f49d82deb3
Merge pull request #4074 from Sonicadvance1/global_rootfs
...
FEXConfig: Add the ability to watch and configure global rootfs
2024-09-24 03:30:47 -07:00
Ryan Houdek
77b801b8ae
FEXConfig: Add the ability to watch and configure global rootfs
...
Global rootfs doesn't support a named rootfs (only local supports that).
So when it is a global rootfs option just give the full path to the
config path.
Just needs some special handling to ensure the full path is retained for
global paths.
A reimplementation of #4067 that doesn't hardcode paths and routes the
global data path through FEXCore.
2024-09-24 01:17:45 -07:00
Ryan Houdek
163a3fc899
FEXConfig: Convert select over to ppoll usage
...
Using select initially was a mistake, it has issues with FD limits and
is less efficient due to fd_set. It's recommended to switch select using
over to polling, so do it.
2024-09-24 01:17:45 -07:00
Ryan Houdek
9b627e8743
FEXCore: Add global data directory support
...
Currently unused as all data still comes from local installs.
2024-09-24 01:17:43 -07:00
LC
9d6865f62d
Merge pull request #4073 from Sonicadvance1/constexpr_all_tables
...
OpcodeDispatcher: Constexpr-ify all the tables possible
2024-09-23 21:40:37 -04:00
LC
d547f2b8f2
Merge pull request #4080 from Sonicadvance1/improve_createthread_stack
...
Linux: Optimize CreateNewThread and HandleNewClone stack usage
2024-09-23 21:28:56 -04:00
Ryan Houdek
b5c9eb3463
Merge pull request #4081 from Sonicadvance1/smarter_meta_reload
...
Config: Be a bit smarter in ReloadMetaLayer
2024-09-23 04:52:25 -07:00
Ryan Houdek
00a3793814
Config: Be a bit smarter in ReloadMetaLayer
...
Reduces stack usage from ~1024 bytes to ~704 bytes and stops making a
bunch of string copies when they can just be pointers instead.
2024-09-23 04:21:10 -07:00
LC
4f8d7cb89c
Merge pull request #4078 from Sonicadvance1/fix_envloader_stackusage
...
Config: Fixes stack usage in EnvLoader
2024-09-22 19:19:46 -04:00
LC
9310ac59f4
Merge pull request #4076 from Sonicadvance1/remove_block_sampling
...
FEXCore: Remove BlockSamplingData
2024-09-22 19:18:37 -04:00
Ryan Houdek
9e4de3bfe8
Merge pull request #4079 from alyssarosenzweig/bug/maxss-nan
...
Fix (v)maxss on non-AFP platforms
2024-09-22 11:45:30 -07:00
Alyssa Rosenzweig
598b99fe58
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-09-22 14:06:27 -04:00
Alyssa Rosenzweig
9dda76ebe6
unittests: add min/max tests
...
we had a bug with max of nans. since x86 behaviour is weird, add a unit test to
try all the weird things. this fails on main without AFP
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-09-22 14:06:27 -04:00
Ryan Houdek
f5def7ae1c
Linux: Also optimize HandleNewClone stack usage
...
Drops from ~1392 bytes of stack usage to ~80 bytes
2024-09-22 10:51:25 -07:00
Ryan Houdek
58bcf691d6
Linux: Optimize CreateNewThread stack usage
...
We were creating a copy of the FEXCore::Core::CPUState object when we
didn't need to. We can pass the host thread's CPUState frame through to
the creation handlers since it's read-only (so modify it to be const).
We then just move the RAX and RSP setting to /after/ the CreateThread
handling instead of before.
This reduces stack usage from ~1392 bytes to ~80 bytes.
2024-09-22 10:45:21 -07:00
Alyssa Rosenzweig
33186b803d
JIT: fix scalar fmax on non-AFP platforms
...
NaN and signed zero handling was busted. Pretty nasty.
Fixes the following Vulkan CTS test run under emulation without thunking with a clang-built Mesa:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp32.generated_args.denorm_nmax_nan_flush_to_zero_vert
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-09-22 12:14:21 -04:00
Alyssa Rosenzweig
bb1d7d0750
JIT: rm broken dead code
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-09-22 12:14:21 -04:00
Ryan Houdek
4897c1e80c
Config: Fixes stack usage in EnvLoader
...
EnvLoader::Load was generating strings on the stack and then copying
them to the FEXCore::Config state. FEXCore::Config::Set supports
string_views directly which will emplace in to the map directly.
This improves this functions stack usage from ~4464 bytes to ~288 bytes.
2024-09-22 08:45:02 -07:00
Ryan Houdek
ab5a10374b
FEXCore: Remove BlockSamplingData
...
This was a legacy interface that has long lost its implementation and
has long lost its use. This interface was similar to an older
Dolphin-Emu interface that was useful in that project, but isn't really
useful in a world with hundreds of threads and processes running at the
same time.
2024-09-22 08:04:39 -07:00
Ryan Houdek
dc2a26582f
FEXCore/OpcodeDispatcher: Fixes missing static on some tables
...
This was causing egregious stack usage in these two functions
2024-09-16 18:52:55 -07:00
Ryan Houdek
e6512fbe4d
X86Tables: Remove function wraps from VEX tables
2024-09-16 18:52:55 -07:00
Ryan Houdek
dbca441573
X86Tables: Remove function wraps from DDD table
2024-09-16 18:52:55 -07:00
Ryan Houdek
31adc953b7
X86Tables: Remove function wraps from H0F38/H0F3A table
2024-09-16 18:52:55 -07:00
Ryan Houdek
0dd7f5e2f7
X86Tables: Remove function wraps from SecondaryModRM table
2024-09-16 18:52:54 -07:00
Ryan Houdek
36556c4705
X86Tables: Remove function wraps from Group tables
2024-09-16 18:52:54 -07:00
Ryan Houdek
e29fac3f25
X86Tables: Remove function wraps from Secondary tables
2024-09-16 18:52:54 -07:00
Ryan Houdek
c984bdb42a
OpcodeDispatcher: Remove previous template instantiantions and use Bind
2024-09-16 18:52:54 -07:00
Ryan Houdek
2645b374a7
OpcodeDispatcher: Deduplicate InstallToTable helper
2024-09-16 18:52:54 -07:00
Ryan Houdek
10192eebe5
X86Tables: Remove EVEX Table
...
Still track the telemetry if EVEX is attempted, but remove the tables
which we won't be supporting.
2024-09-16 17:40:20 -07:00
Ryan Houdek
0e57cbf5b9
OpcodeDispatcher: Remove EVEX table install
...
This hasn't been necessary for quite a while as we handle
invalid/unsupported opcodes in the frontend now.
2024-09-16 17:40:20 -07:00
Ryan Houdek
c7413d96ad
OpcodeDispatcher: Constexpr-ify VEX & VEXGroup tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
f3ba8cb33c
OpcodeDispatcher: Constexpr-ify DDD tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
e714933b10
OpcodeDispatcher: Constexpr-ify H0F3A tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
9a0f83cbf6
OpcodeDispatcher: Constexpr-ify H0F38 tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
c4d30e8437
OpcodeDispatcher: Constexpr-ify SecondaryModRM tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
7b30df8a56
OpcodeDispatcher: Constexpr-ify SecondaryGroup tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
86aa459dd1
OpcodeDispatcher: Constexpr-ify PrimaryGroup tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
6c9a47fc71
OpcodeDispatcher: Constexpr-ify Secondary OpSizeMod tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
7a72cf631b
OpcodeDispatcher: Constexpr-ify Secondary RepNEMod tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
3d98eef7b8
OpcodeDispatcher: Constexpr-ify Secondary RepMod tables
2024-09-16 17:40:20 -07:00
Ryan Houdek
f2011b0b79
OpcodeDispatcher: Constexpr-ify Secondary base tables
2024-09-16 17:40:19 -07:00
Ryan Houdek
c0b8a0d9c3
Merge pull request #4066 from Sonicadvance1/remove_imgui
...
Build + Test / build_plus_test ([self-hosted ARMv8.0]) (push) Has been cancelled
Build + Test / build_plus_test ([self-hosted ARMv8.2]) (push) Has been cancelled
Build + Test / build_plus_test ([self-hosted ARMv8.4]) (push) Has been cancelled
GLIBC fault test / glibc_fault_test ([self-hosted ARM64]) (push) Has been cancelled
Hostrunner tests / hostrunner_tests ([self-hosted x64]) (push) Has been cancelled
Instruction Count CI run / instcountci_tests ([self-hosted ARM64]) (push) Has been cancelled
Instruction Count CI run / instcountci_tests ([self-hosted x64]) (push) Has been cancelled
Mingw build / mingw_build ([self-hosted ARM64 mingw]) (push) Has been cancelled
Mingw build / mingw_build ([self-hosted ARM64EC mingw ARM64]) (push) Has been cancelled
Vixl Simulator run / vixl_simulator ([self-hosted ARMv8.4]) (push) Has been cancelled
Vixl Simulator run / vixl_simulator ([self-hosted x64]) (push) Has been cancelled
Tools: Delete imgui FEXConfig
2024-09-16 17:25:46 -07:00
Ryan Houdek
5bd0afa307
Merge pull request #4068 from Sonicadvance1/update_cpuid
...
Build + Test / build_plus_test ([self-hosted ARMv8.0]) (push) Waiting to run
Build + Test / build_plus_test ([self-hosted ARMv8.2]) (push) Waiting to run
Build + Test / build_plus_test ([self-hosted ARMv8.4]) (push) Waiting to run
GLIBC fault test / glibc_fault_test ([self-hosted ARM64]) (push) Waiting to run
Hostrunner tests / hostrunner_tests ([self-hosted x64]) (push) Waiting to run
Instruction Count CI run / instcountci_tests ([self-hosted ARM64]) (push) Waiting to run
Instruction Count CI run / instcountci_tests ([self-hosted x64]) (push) Waiting to run
Mingw build / mingw_build ([self-hosted ARM64 mingw]) (push) Waiting to run
Mingw build / mingw_build ([self-hosted ARM64EC mingw ARM64]) (push) Waiting to run
Vixl Simulator run / vixl_simulator ([self-hosted ARMv8.4]) (push) Waiting to run
Vixl Simulator run / vixl_simulator ([self-hosted x64]) (push) Waiting to run
CPUID: Update to something a little more modern
2024-09-16 06:33:04 -07:00
Ryan Houdek
20fb0da7d9
Merge pull request #4048 from Sonicadvance1/constexpr_more_tables
...
FEXCore: Convert Base tables over to constexpr
2024-09-16 06:32:23 -07:00
Ryan Houdek
35cb1f710c
FEXQConfig->FEXConfig
2024-09-16 02:11:27 -07:00
Ryan Houdek
7c7b99f9c5
FEXConfig: Remove
2024-09-16 02:09:25 -07:00