pcsx2/pcsx2/x86
cottonvibes ac9bf45f98 pcsx2: Implemented Threaded VU1 :D
Threading VU1 took a lot of rewrites and new code to make possible (MTGS, microVU, gifUnit...), but we finally got to the point where it was feasible, and now we've done it! (so now everyone can stop complaining that pcsx2 only takes advantages of 2 cores :p).

The speedups in the games that benefit from it are great if you have a cpu with 3+ cores (generally a 10~45% speedup), however games that are GS limited can be a slowdown (especially on dual core cpu's).

The option can be found in the speedhacks section as "MTVU (Multi-Threaded microVU1)". And when enabled it should should show the VU thread-time percentage on the title bar window (Like we currently do for EE/GS/UI threads).

It is listed as a speedhack because in order for threading VU1 to have been a speedup, we need to assume that games will not send gif packets containing Signal/Finish/Label commands from path 1 (vu1's xgkick). The good news is very-few games ever do this, so the compatibility of MTVU is very high (a game that does do this will likely hang).

Note: vs2010 builds and Linux builds need to be updated to include "MTVU.h" and "MTVU.cpp".


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4865 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-12 02:31:49 +00:00
..
ix86-32 Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
BaseblockEx.cpp Patch by Firnis: 2011-04-13 16:32:47 +00:00
BaseblockEx.h Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
aVUzerorec.S Fixed inconsistent newlines / added as many svn:eol-style=native properties as I could without killing myself. 2011-03-25 05:06:49 +00:00
iCOP0.cpp Introducing a mostly revamped Tracelog and Console log system. Various console log sources can now be toggled on/off on the fly, allowing end users to enable more verbose logging when they encounter problems. Both console and trace sources can be given automatic prefixing. 2010-08-06 05:46:09 +00:00
iCOP0.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iCore.cpp EE: Changed some load/store flushing behaviour for better efficiency (and hopefully no bugs). Changed my mind about the internals for future exception handling so scrapped what we have for now. Also restored correct rt=r0 behaviour on all loads. 2011-07-10 03:38:21 +00:00
iCore.h EE: Changed some load/store flushing behaviour for better efficiency (and hopefully no bugs). Changed my mind about the internals for future exception handling so scrapped what we have for now. Also restored correct rt=r0 behaviour on all loads. 2011-07-10 03:38:21 +00:00
iFPU.cpp Refactoring: 2010-08-09 04:10:38 +00:00
iFPU.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iFPUd.cpp Merge const qualifiers and cleanups from ReorderingMTGS: Includes the VIF DIRECT changes, which seem to be stable this time. ;) 2010-07-22 12:20:11 +00:00
iMMI.cpp Refraction found an issue with an MMI op, committing the fix for him. 2010-06-10 11:56:47 +00:00
iMMI.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iMisc.cpp GameDatabase / Patches: 2010-06-18 14:27:13 +00:00
iPsxMem.cpp Removed all trailing whitespace in *.c *.cpp *.h because it irritates me. 2010-04-25 00:31:27 +00:00
iR3000A.cpp Patch by Firnis: 2011-04-13 16:32:47 +00:00
iR3000A.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR3000Atables.cpp Converted IOP to use a static/global hardware register allocation. (same as I did for the EE a few weeks ago). 2010-09-23 19:44:55 +00:00
iR5900.h More fixes for my own mess 2010-05-22 16:02:55 +00:00
iR5900Arit.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900AritImm.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900Branch.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900Jump.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900LoadStore.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900Misc.cpp Cache Emulation: Updated cache emulation for new VTLB, Dead or Alive 2 (Japanese Version only) now playable. You can enable this under the Recompiler options by ticking the "Enable EE Cache" box, however it will only work with the EE in Interpreter mode. Also fixed some cache bugs from the old implementation. 2011-02-17 21:27:24 +00:00
iR5900Move.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900MultDiv.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iR5900Shift.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
iVU1micro.cpp - Working on getting some old code working again which allows comparison between mVU and sVU program results. 2010-07-07 05:59:25 +00:00
ir5900tables.cpp Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
microVU.cpp pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
microVU.h pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
microVU_Alloc.inl Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
microVU_Analyze.inl microVU: 2011-08-01 03:16:42 +00:00
microVU_Branch.inl pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
microVU_Clamp.inl microVU cleanups (mostly changing pointers to references) 2011-03-31 03:08:48 +00:00
microVU_Compile.inl Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
microVU_Execute.inl pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
microVU_Flags.inl microVU: 2011-08-01 03:16:42 +00:00
microVU_IR.h Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
microVU_Log.inl microVU cleanups (mostly changing pointers to references) 2011-03-31 03:08:48 +00:00
microVU_Lower.inl microVU: 2011-08-01 03:16:42 +00:00
microVU_Macro.inl microVU cleanups (mostly changing pointers to references) 2011-03-31 03:08:48 +00:00
microVU_Misc.h Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
microVU_Misc.inl pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
microVU_Tables.inl microVU cleanups (mostly changing pointers to references) 2011-03-31 03:08:48 +00:00
microVU_Upper.inl microVU cleanups (mostly changing pointers to references) 2011-03-31 03:08:48 +00:00
newVif.h pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
newVif_Dynarec.cpp pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
newVif_HashBucket.h Refactoring: 2010-08-09 04:10:38 +00:00
newVif_Unpack.cpp pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
newVif_UnpackSSE.cpp Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
newVif_UnpackSSE.h Bugfix for Tri-ace games and possibly others (bug introduced in r3762, caused by missing 'vifRegs.num is actually 256' checks) 2010-09-14 00:39:40 +00:00
sVU_Compare.h Improved EE/VTLB memory management: Removes various psM/psR/psS/psH pointers and replaces them with a single unified eeMem pointer. Members of eeMem correspond to Main, Scratchpad, Hardware, etc. This simplifies the EE's memory allocation, improves compiler optimization, gets rid of some macro mess, and allows templated code to deduce the size of memory buffers automatically. 2010-08-16 15:57:01 +00:00
sVU_Debug.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
sVU_Lower.cpp pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
sVU_Micro.cpp Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
sVU_Micro.h Big gif transfer code rewrite! 2011-07-24 13:02:50 +00:00
sVU_Upper.cpp Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00
sVU_zerorec.cpp pcsx2: Implemented Threaded VU1 :D 2011-08-12 02:31:49 +00:00
sVU_zerorec.h Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins) 2010-05-03 14:08:02 +00:00