208 Commits

Author SHA1 Message Date
SternXD
d983b2b066 Copyright: Change year from 2002-2025 to 2002-2026 2026-01-15 00:22:32 +01:00
TheTechnician27
23fd57f641 Copyright: Change year from 2002-2024 to 2002-2025 2025-01-20 05:07:26 +01:00
GovanifY
132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek
d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
Stenzek
606cbb3883 System: Simplify memory allocation 2023-10-10 18:01:30 +10:00
Stenzek
377746f155 x86: Move dispatchers to recompiler code space 2023-10-10 18:01:30 +10:00
Stenzek
81236209db SaveState: Remove exceptions 2023-06-30 21:37:44 +10:00
Stenzek
7c9c8e197c Common: Replace MemsetFast routines with C memset
And associated cleanup.

On most compilers these days, it'll either inline the memset with vector
fills or rep stosq, or outline with a call to memset.

I trust the compiler is probably going to make a better decision here,
than manual SSE intrinsics.

Ends up a couple of percent faster in FMV decoding.
2023-06-22 19:11:57 +10:00
Stenzek
a5ed24ca88 Perf: Support instruction-level profiling with jitdump on Linux 2023-04-29 16:22:37 +01:00
Stenzek
265afcec7e x86/microVU: Fix incorrect VI being backed up when uncached
Fixes hang going ingame in Gitaroo Man.
2023-01-01 09:47:46 +00:00
Stenzek
cdadad5689 x86/microVU: Use unrolled copy loop for updating PL state 2022-12-29 10:01:25 +00:00
Stenzek
00d768a6bf x86/microVU: Add VI caching 2022-12-29 10:01:25 +00:00
Stenzek
08faba5455 x86/microVU: Add tracing similar to EE
Can dump per-block or per-instruction, useful for debugging regressions.
2022-12-29 10:01:25 +00:00
Connor McLaughlin
edb9a5ba3c Qt: Add -testconfig option 2022-11-23 15:55:39 +00:00
refractionpcsx2
be438587c7 mVU: Clean up range function and improve merging. Slim down cmpProg. 2022-11-19 02:35:25 +00:00
Connor McLaughlin
d446e40741 System: Remove/move out a bunch more leftover stuff from wx
The exceptions are particularly nasty, because there's nothing which
catches them.
2022-10-14 22:24:42 +01:00
Connor McLaughlin
00bcb4cf02 System: Revamp memory allocation
Guest memory is now mapped into a shared memory/file mapping, for use
with fastmem.

64-bit and 128-bit arguments are passed by register/value instead of by
reference/address.

LDL/LDR/SDL/SDR now use 64-bit GPRs instead of SSE.
2022-10-14 22:24:42 +01:00
Connor McLaughlin
893b3c629d Everything: Remove a **lot** of wx, and px nonsense
- common has no wx left except for Path.
 - pcsx2core only has it in a few places (memory cards and path related
   stuff).
2022-05-22 13:58:56 +01:00
Connor McLaughlin
599626b709 MTVU: Purge pxThread 2022-05-07 15:43:03 +01:00
Mrlinkwii
c86dd7397d microVU : correct logging and remove not needed comments 2022-05-05 23:13:33 +01:00
Connor McLaughlin
2634134481 microVU: Remove unused VSync() callback 2022-05-01 11:36:37 +01:00
arcum42@gmail.com
33e0ac729e Core: Remove memcmp_mmx. 2022-03-20 12:54:58 +00:00
TellowKrinkle
f7476dfb63 Core: Replace alignment macros with alignas 2021-11-14 13:52:20 -06:00
refractionpcsx2
24e73b3134 Savestates: Add missing things from Savestates (#4917)
Savestates: Add missing variables from Savestates
2021-10-20 10:41:50 +01:00
Ty Lamontagne
ab64023e56 MicroVU: Cleanup stale comments and code 2021-09-11 01:33:02 +01:00
lightningterror
c2dad218e5 microVU: Combine mVU0cacheReserve and mVU1cacheReserve. 2021-09-05 18:06:46 +02:00
TellowKrinkle
5260d63565 Core: Format recompilers 2021-09-04 18:28:24 -04:00
kojin
8fdaaa2eab common: reorganize 2021-09-04 18:28:07 -04:00
refractionpcsx2
bda80fc748 Clang Format VU files 2021-08-31 21:29:31 +01:00
refractionpcsx2
d8dfe0a1e9 VU: optimise entering VU JITs
Keeps note on how many cycles it needs for the next block to save exiting the EE JIT and entering the microVU JIT for no reason
2021-08-31 21:29:31 +01:00
refractionpcsx2
8f82cd11b9 microVU: avoid half completed program loading null block 2021-08-03 11:52:15 +01:00
refractionpcsx2
c77e0a3a56 microVU: Enable T-Bit to work with MTVU 2021-07-05 10:26:50 +01:00
refractionpcsx2
973ebd153d microVU: Consolidate I-bit hacks in to one generic one 2021-07-05 10:26:09 +01:00
Gauvain 'GovanifY' Roussel-Tarbouriech
8a9ec4c706 core: purge sse2 2021-04-10 19:16:42 +02:00
refractionpcsx2
155cf385bd microVU: Flush running VU1 program when toggling MTVU on 2020-12-18 20:55:02 +00:00
refractionpcsx2
03445d0b55 microVU: Add sanity check when loading quick block from program.
Sometimes (CoD Finest Hour) can somehow end up with blocks missing from a program, not sure how, but it still finds the current program, so we check if the block exists, if not, recompile new ones.
2020-12-15 20:26:41 +00:00
refractionpcsx2
4595aae0de mVU: Keep start PC, modify prog search to avoid recompilation
Also fix some M-Bit stuff
2020-12-06 07:06:51 +00:00
refractionpcsx2
3dc44bafb3 microVU: Fix program range wrapping 2020-10-26 22:44:52 +00:00
kozarovv
df79a17baa VU: Improve VU0/EE sync, Implement better M-Bit Handling, Fix VU program handing on VIF 2020-08-29 21:56:26 +01:00
tellowkrinkle
75aac90452 Allocate memory in an x86-64-compatible way (#3523)
Allocate memory in an x86-64-compatible way

Another part of #3451

Note: While this shouldn't change how anything works, it's been the #1 source of breakage of 32-bit builds in #3451 (it was the cause for the failure of win32 to allocate memory and the failure of linux-32 afterward) so we should definitely make sure it gets tested

see #3523 for more information
2020-08-19 09:20:48 +01:00
refractionpcsx2
184f0df2c5 Modify VU PC addressing so it only multiplies by 8 before entering the p… (#3362)
* Modify VU addressing so it only multiplies by 8 before entering the program
Fixes issues with VU1 TPC being read multiplied by 8 (bad)

* Removed assert on SuperVU which no longer makes sense
2020-05-12 23:59:42 +01:00
hibye8313
56a976e277 microVU: Add gamefix for Crash Tag Team Racing. Fixes constant recompilation problems. 2019-04-30 22:57:11 +01:00
Gregory Hainaut
02861fabc8 pcsx2|common: replace throw() by noexcept 2017-05-13 10:38:35 +02:00
Gregory Hainaut
4fca5f4d88 mvu: use static array for dispatcher code
I don't understand why but standard mmap blew up Vtune
2016-11-28 19:07:04 +01:00
Gregory Hainaut
ef7530af29 microVU: fix aliasing issue
Union is safer for the compiler
2016-08-14 20:49:12 +02:00
Gregory Hainaut
40b1a3996a VU: port BaseVUmicroCPU to std::atomic 2016-02-28 15:29:31 +01:00
Jonathan Li
499fed40f2 pcsx2: Convert ScopedPtr to unique_ptr 2016-02-08 22:31:45 +00:00
Gregory Hainaut
a7a8c542f5 Merge pull request #1100 from PCSX2/recompiler-abi-wrapper
Recompiler abi wrapper
2016-01-14 19:21:27 +01:00
refractionpcsx2
22de865582 Gamefix: Add Scarface - The World is Yours Gamefix, might help other games that do constant VU recompilation. 2016-01-11 23:32:33 +00:00
Gregory Hainaut
859d62d2a7 ee|iop: use xScopedStackFrame to handle dynarec frame
* Rework a bit MVU to support xScopedStackFrame. Potentially
stack frame can be optimized (save 5 instructions)

* I removed the recompiler stack check. Address sanitizer is more efficient anyway
2016-01-11 09:21:45 +01:00