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
71036c95a4
Core: ARM64 compatibility
2024-06-14 17:06:45 +10:00
Stenzek
d9abe10308
Misc: Remove explicit PCH include, switch to SPDX
2023-12-24 14:03:14 +10:00
refractionpcsx2
9203ae20cd
GIF: Don't check current path for FINISH
2023-09-17 23:23:04 +01:00
refractionpcsx2
2947e11b9b
GIF: Correctly delay FINISH interrupts/flags
...
[SAVEVERSION+]
2023-09-17 14:52:47 +01: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
TellowKrinkle
ab1d2009a0
Core: Use 2MB stacks for µVU
2023-05-25 16:16:14 +01:00
Stenzek
512d24cea6
Misc: More build system cleanups
...
Set UTF-8 source file format globally.
Set permissive/compliance mode globally.
Get rid of include of base 3rdparty directory, be explicit.
Get rid of duplicated properties.
Get rid of leftover plugin property files.
2023-05-16 12:58:19 +01:00
Connor McLaughlin
c44266eb82
MTVU: Fix hang on shutdown if thread never opened
2023-01-04 11:43:23 +00: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
TellowKrinkle
738c8cb630
Core: Remove trailing whitespace from all files
2022-09-16 00:52:28 -05:00
refractionpcsx2
38ee8ccfe3
VU: Fix some bugs, ignore VU's in EE Timing Hack
2022-07-31 10:58:51 +01:00
refractionpcsx2
53161f76a6
VU-MTVU: Simulate VU times when in MTVU w/o Instant VU.
2022-07-31 10:58:51 +01:00
Connor McLaughlin
bb9a551318
MTVU: Use Thread wrapper
2022-06-04 18:10:46 +01:00
Connor McLaughlin
756cd1ee47
System: Move old SysThread junk to gui
2022-05-08 05:40:59 +01:00
Connor McLaughlin
599626b709
MTVU: Purge pxThread
2022-05-07 15:43:03 +01:00
TellowKrinkle
481c92c1c8
MTVU: Use WorkSema
2022-04-15 08:41:58 +01:00
refractionpcsx2
fd4a5acc40
MTVU: Try to make T-Bit more reliable.
...
Add MTVUSpeedHack option to GameDB so it can be forcefully disabled
2022-03-11 10:25:15 +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
refractionpcsx2
98b19656c9
VU: Fix address masking in MTVU
2021-07-10 03:31:04 +01:00
refractionpcsx2
c77e0a3a56
microVU: Enable T-Bit to work with MTVU
2021-07-05 10:26:50 +01:00
refractionpcsx2
2859123c47
MTVU: Actually add MTVU to savestates
...
On loading a savestate, restore the VIF state on the MTVU side
2020-12-29 23:15:39 +00:00
refractionpcsx2
e8c91f0537
MTVU: Stop the buffer filling up when MTVU is disabled
2020-12-28 18:40:07 +00:00
TellowKrinkle
4ffc0d2247
MTVU: Allow stacking of LABEL
2020-12-28 02:12:52 -06:00
TellowKrinkle
3c2f7983a5
MTVU: Cleaned up GS SIGNAL/LABEL/FINISH communication
2020-12-28 02:12:52 -06:00
refractionpcsx2
839b243bf1
VIF: Always update MTVU thread with Row/Col Changes
...
Fixes graphical issues in Fatal Frame 2 when swapping to MTVU
2020-12-25 00:57:37 +00:00
refractionpcsx2
d78de3237c
MTVU: Redesign of how to handle signals, seems more reliable
...
Added new variables to savestates
2020-12-24 09:03:45 +00:00
refractionpcsx2
6066f48d7c
MTVU/GIF: Clang Formatting
2020-12-24 09:03:45 +00:00
refractionpcsx2
20695d6b15
MTVU: Add new savestate variables, bump savestate version
2020-12-24 09:03:45 +00:00
refractionpcsx2
3f4bb44310
MTVU: Improve compatibility with games that do GS SIGNAL/LABEL/FINISH
2020-12-24 09:03:45 +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
87dc885a4a
VU: Improved EE Cycle Skipping hack to work better with the new VU0 sync changes
2020-08-30 17:15:18 +01:00
RedPanda4552
4dc4892588
Rename VU Cycle stealing to EE Cycle Skipping, and change tool tips for
...
EE Cycle Stealing and EE Cycle Skipping
2018-08-25 18:50:26 +02:00
Gregory Hainaut
2ff43f2ed8
core: remove throw specifier on destructor
...
It is the 'default' on C++11
2017-05-13 10:38:35 +02:00
Gregory Hainaut
44b5552231
MTVU: hide ring buffer pointer bug under the carpet
...
There is a bug lurking around (intro of SotC). Unfortunately, I didn't find it. So instead, I added a safety net
in the ring buffer reservation.
2017-01-22 15:42:14 +01:00
Gregory Hainaut
e3d1871f86
MTVU: small thread scheduling improvement
...
* Use yield to avoid a spin loop during WAIT
* Don't flush the full buffer when we miss space
2017-01-18 19:11:10 +01:00
Gregory Hainaut
fff5230631
MTVU: redo properly atomic management around the MTVU ring buffer
...
The ring buffer is composed of severals read/write by transaction.
Atomic operations are only required at the start/end of the full
transaction. In the middle, you can use normal variable (optimization
opportunity for the compiler)
Use acquire/release semantics on isBusy and vuCycles to remain 100% safe
(relaxed might be doable but better be safe than sorry)
Use dedicated cache line for atomic variable to avoid any conflict between CPU
2017-01-18 19:10:47 +01:00
Gregory Hainaut
c448c2becb
mtvu: use function instead of macro
2016-09-18 16:13:55 +02:00
Gregory Hainaut
10ea05bc6f
common: remove old atomic wrapper
...
Use cross-platform std::atomic instead
2016-07-14 18:29:41 +02:00
Gregory Hainaut
567976e822
MTVU: port vuCycles to std::atomic
...
V2: use relaxed order as the variable doesn't carry load/store dependency
It is only used as a counter for the speed hack
2016-07-14 18:29:41 +02:00
Gregory Hainaut
3f0655c821
MTVU: port write pointer to atomic and optimize atomic access
...
Write pointer can be relaxed-read from the EE thread
Read pointer can be relaxed-read from the VU thread
Warning: AtomicExchange calls were replaced by release-store
However AtomicExchange generates a memory barrier (at least on linux)
So either it is useless and it will be faster, or it will explode ;)
2016-07-14 18:29:41 +02:00
Gregory Hainaut
ca46921796
MTVU: use acquire/release semantics for atomic operation
...
* Avoid the generation of memory barrier (mfence)
* Based on the fact that it used to work on previous code without any
barrier
v2:
* keep basic code in reset path
* use relaxed access for isBusy. The variable doesn't carry load/store
dependency but is instead an hint to optimize semaphore post
2016-07-14 18:29:40 +02:00
Gregory Hainaut
3a4787dd98
MTVU: partially port code to MTVU
...
Remains volatize as MTGS and the ScopedLockBool stuff
2016-02-28 15:29:31 +01:00
refractionpcsx2
0147e6cb8d
Vif: Fix for Unpacks when WL = 0. (KH2 + Tests) Removes a long standing hack.
...
Note: CL = 0 behaviour is still not completely accurate, the first vector is incorrect, but will look at that another day, need a game that does it first really so we can see if it helps :)
2016-01-25 21:43:53 +00:00
Gregory Hainaut
2eb73644e9
pcsx2|common: use DESTRUCTOR_CATCHALL to catch exception in various destructor
...
Allow to print a nice error message instead of a brutal abort in case of
massive failure
2015-09-23 09:47:27 +02:00
Miguel A. Colón Vélez
6462393aaf
Introduce end-of-line normalization
...
Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com>
2015-08-04 23:52:48 +02:00
Gregory Hainaut
b20deb0752
MTVU: fix linux crash after a shutdown
...
* Lock during the reset
* Purge the ring before memory unallocation
Close issue #474
2015-03-17 09:33:20 +01:00