Commit Graph

3276 Commits

Author SHA1 Message Date
Jake.Stine a63115988b PS2E v2 (plugin interface) tweaks and additions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2402 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-27 12:15:21 +00:00
arcum42 e5546267b9 GSNull uses GSOpen2. Hacked Openpad to work whether GSOpen or GSOpen2 is used.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2401 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-26 00:01:30 +00:00
Jake.Stine b1fc08409b newVif: last bugfix was crappy. This one actually fixes the bug without introducing another similar bug in the same line of code. :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2400 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 21:18:36 +00:00
arcum42 b795e7a306 ZeroGS: It'd help if I modified the project file to reflect the new file... :(
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2399 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 19:12:15 +00:00
arcum42 ca02bffc6c We'll need to include signal.h if we're raising signals.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2398 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-25 18:58:25 +00:00
Jake.Stine de637fc921 Bugfix for assertion breaks not working in Devbuilds.
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
2009-12-25 18:00:51 +00:00
Jake.Stine 9473e69b7f Thread Local Storage Fixes:
* 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
2009-12-24 22:22:34 +00:00
Jake.Stine 3d9bb25505 Linux: Fix bugs in _aligned_realloc and newVif's inlined SSE HashBucket finder.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2395 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 10:04:03 +00:00
arcum42 4b0b270776 ZeroGS: Move most of the X11 window code to one file, to make it easier to switch from using an X11 window to a Gtk window.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2394 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 05:53:29 +00:00
Jake.Stine 2f38decdab Fixing some more bone-headed project file compilation errors (my fault, don't know what I was thinking when I did this w32pthreads lib change int he first place)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2393 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 02:36:58 +00:00
Jake.Stine af66887d0c newVif bug fixes (mostly related to the interpreted version), and switched it back off again. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2392 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-24 02:30:05 +00:00
Jake.Stine c2aa78f2b5 Undo VPU renaming, Vif was better for this originally. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2391 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 22:14:51 +00:00
arcum42 61d8406c09 Take care of Issue 512.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2390 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 20:38:56 +00:00
arcum42 d9321838fb Fix Linux compiling (with newVif disabled).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2389 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 20:25:08 +00:00
Jake.Stine 8328c8cd65 Forgot to disable newVif again (overall compatibility is still too low for enabling).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2388 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 13:30:47 +00:00
Jake.Stine b27b89b162 newVif: I'm a terrible person. What started out at an optimization turned into this.
* 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
2009-12-23 13:22:30 +00:00
Jake.Stine 5c8f4ded22 w32pthreads: bad project linker setting caused occasional link errors and possibly unstable behavior.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2386 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-23 04:39:23 +00:00
ramapcsx2 67b55648ae SPU2-X:
- 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
2009-12-22 17:05:40 +00:00
Jake.Stine c5b47530f9 newVif: minor optimizations.
* 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
2009-12-22 14:21:21 +00:00
Jake.Stine 3c03e15dc1 SSSPSXPAD: Fix for a random crashing bug when doing suspend/resume type stuff (caused by multiple threads trying to initialize directinput at the same time)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2383 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 14:18:05 +00:00
cottonvibes 916cc034ff newVif: fixed some minor stuff...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2382 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 06:36:46 +00:00
Jake.Stine 171dc422be Add PADnull to the MSVC solution, and set eol-style:native props on PADnull and OnePad.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2381 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 03:17:35 +00:00
Jake.Stine 408dbd7256 * Call PADupdate from MTGS thread when using legacy GSopen -- Should fix Linux Pad instabilities.
* 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
2009-12-22 03:15:30 +00:00
Jake.Stine 203979c16b SSSPSX: Updated to v1.7, fixed savestate/freeze callback bug that caused the public version to crash in 0.9.6 betas.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2379 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-22 03:08:16 +00:00
Jake.Stine 74c73295f4 PadSSSPSX: Added to PCSX2 Suite, and updated to work with PCSX2 v0.9.7.
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
2009-12-21 16:21:07 +00:00
Jake.Stine 0430e4dd9f Moved PADupdate() from MTGS thread to the GUI thread, and moved PADkeyEvent from EEcore thread to GUI thread.
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
2009-12-21 16:14:28 +00:00
Jake.Stine 500c1dbfeb Re-implemented Ping() into wxApp, this time using Idle events (for once I found a use for them!). This because the YieldToMain logic wasn't ever going to work right since wxWidgets lacks a way to poll the event loop for pending events. End result: More responsive GUI dialogs and junk. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2376 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-21 11:52:14 +00:00
cottonvibes f071faa642 newVif: Implemented support for partial-vector unpack transfers.
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
2009-12-21 05:06:28 +00:00
Jake.Stine 9ca90c747b Interface stuffs:
* 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
2009-12-21 00:33:15 +00:00
Jake.Stine d7c1caecf1 w32pthreads: only half-fixed the cancellation counter before. This should full-like fix it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2373 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-21 00:30:08 +00:00
arcum42 6b930a9cff Fix Linux up again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2372 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 21:36:44 +00:00
Jake.Stine 6c75ee61e5 ZeroGS: Add support for GSsetSettingsDir.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2371 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 15:29:38 +00:00
Jake.Stine a3edb9798c Added preliminary screensaver disable feature. Cleaned up Vista/Win7 DWM code a bit. Consolidated various win32 specific code into MSWstuff.cpp
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2370 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 14:50:36 +00:00
arcum42 d36ba78392 Fix Linux compilation (and I suspect a crash). Fix up some of the null plugins so that they actually load in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2369 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 13:45:26 +00:00
cottonvibes bc3b419272 newVif: minor change, brought the nVifstruct down from 32bytes to 16bytes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2368 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 06:33:37 +00:00
cottonvibes 7b2c66e549 newVif: created a custom memcmp for the vif dynarec block finder... its faster than memcmp, but not sure if it will be a noticeable speedup.
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
2009-12-20 04:25:16 +00:00
ramapcsx2 c86fc2c9b9 GSdx:
- 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
2009-12-20 02:50:34 +00:00
cottonvibes 1a54ff0bb9 newVif: non functional minor changes...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2365 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 02:13:42 +00:00
Jake.Stine b45b91bf07 More minor improvements to cpuSpeed calculations, since my experimental fix apparently works. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2364 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-20 01:28:23 +00:00
Jake.Stine 84c7436d34 w32pthreads: bugfix for minor race condition on exiting threads. Tech details: the testcancel flag was being incremented after the thread had already canceled, leaving the flag "dangling".
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
2009-12-20 00:00:07 +00:00
Jake.Stine bb319266fc Lilypad and PCSX2 ini/config bugfixes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2362 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 23:02:05 +00:00
Jake.Stine 9f41fc4793 (Most Plugins) Updated plugins to obey PCSX2's ini folder requests. This will fix problems with plugins failing to save settings on Vista/Win7 due to lack of Admin rights, and also ensures all the plugin inis show up where you would expect them to.
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
2009-12-19 18:30:56 +00:00
arcum42 53357b9efc static and extern do not mix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2360 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 11:27:17 +00:00
arcum42 c0725db97a Update project file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2359 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-19 11:01:04 +00:00
cottonvibes a5272f8dc9 Wrote a vif 'unpack' packet recompiler.
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
2009-12-19 10:00:40 +00:00
Jake.Stine 4c2a7ae39f Remove some assertion and log spams in devel builds.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2357 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-18 17:57:18 +00:00
Jake.Stine 79e07edc9f Minor optimizations to newVifUnpack.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2356 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-18 17:49:04 +00:00
ramapcsx2 89b2ecb4fa Bring the main gui on top when suspending emulation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2355 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-18 16:33:09 +00:00
arcum42 7af22987b0 Various bizarreness to get Linux working again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2354 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-17 22:27:02 +00:00
Jake.Stine 820c9c10ee Bugfixed bad behavior when using BiosSkip and doing interface-ish things while the stub was running.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2353 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-17 14:04:09 +00:00