newVif:
* Bugfix to HashBucket::find() cuts microprogram caches misses in half.
* Dynarec version now uses alternating XMM registers for unmasked unpacks (very minor speedup, ~1%).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2397 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented TlsVariable, a nifty alternative to __threadlocal, suitable for archaic operating systems that don't have native TLS support (namely Mac OS/X).
* Added a forced reference to TLS in AppInit so that TLS is sure to be available to DLLs (otherwise windows doesn't init TLS by default).
* Disabled TLS support in the x86emitter by default, since it's looking increasingly like we won't find a use for multithreading PS2 sub-components (can be re-enabled later if spontaneous brilliance at a later date proves me wrong).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2396 96395faa-99c1-11dd-bbfe-3dabce05a288
* Optimized codegen of the VPU recompiler using displaced memory offsets (1-2% speedup)
* Undid a lot of the inl stuff for more traditional cpp code layout (explained below)
* Removed some redundant code and turned some macros into functions.
* Renamed a few things to VPU (Vector Processing Unit, which is the specific name of the logic core that performs VIF Command Processing and Unpacking on the PS2)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2387 96395faa-99c1-11dd-bbfe-3dabce05a288
- Slight adjustment on the timestretcher, stops it from going to "emergency" mode too often (even on bigger buffers).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2385 96395faa-99c1-11dd-bbfe-3dabce05a288
* Improved hashing slightly by ignoring the garbage values in the 'mask' parameter when doMask is false.
* Wrote an inlineable version of the hash compare function, using x86 intrinsics.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2384 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fixed a savestate loading bug, when loading states made with different sets/versions of plugins.
DevNote:
* Moved some old PS2E types to PS2Edefs, since the new v2 plugin API won't use them (freezeData, keyEvent).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2380 96395faa-99c1-11dd-bbfe-3dabce05a288
Changes: Implemented PADupdate and PADsetSettingsDir, added thread sync mutexes.
Note! This is based on v1.6 of SSSPSX, since we don't currently have v1.7 in the repository. I did just realize that 1.7 comes with sources online, so I'll upgrade the repository to 1.7 shortly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2378 96395faa-99c1-11dd-bbfe-3dabce05a288
Rationale: I realized finally the point and purpose of PADupdate was to give the PAD plugin a callback that's on the same thread as the GS window, and which is (mostly) updated in regular sync to the refresh rate (50/60hz). So that's what it does now, finally.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2377 96395faa-99c1-11dd-bbfe-3dabce05a288
Games that were having problems with newVif should hopefully be fixed by this...
Fixes Gradius 5, and I think Tekken 5?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2375 96395faa-99c1-11dd-bbfe-3dabce05a288
* Enable word wrapping on the console window (maybe could make it an option... hmm).
* Slight bugfixes to main window/console focus linking (windows only)
* Fix linux compilation error in ZeroGS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2374 96395faa-99c1-11dd-bbfe-3dabce05a288
Should work in gcc Linux builds, but if not uncomment the memcmp() part in newVif_HashBucket.h's "find()"...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2367 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added a macro that disables any upscale hacks.
- More work on the dx10 renderer upscale hacks.
PCSX2:
- Changed a warning so it reads more like a notice :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2366 96395faa-99c1-11dd-bbfe-3dabce05a288
PCSX2: attempt at fixing what appears to be a belated thread affinity issue during the cpuspeed detect.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2363 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed a couple UI bugs: FirstTime Wizard display bug and the "Configure..." button in the plugin control panel grays out when it should.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2361 96395faa-99c1-11dd-bbfe-3dabce05a288
Compatibility is probably the same as the newVif interpreter code, but its faster.
Speedwise its similar to the old-vif unpack code (the one currently enabled by default in pcsx2).
Its about 0~2% slower on my machine from my limited testing, but I assume people with SSE4.1 cpus might have a lot better results since I added a lot of sse4.1 optimizations...
The SSE4.1 optimizations were also ported to the newVif interpreter code.
Also the "filling mode" should be fast compared to the old-vif unpack code since its sse optimized, but most games don't use this mode so it hasn't been tested much...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2358 96395faa-99c1-11dd-bbfe-3dabce05a288
This is actually the second time around on this. Same problem happened in the Playground days, with the same fix. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2350 96395faa-99c1-11dd-bbfe-3dabce05a288