Commit Graph

439 Commits

Author SHA1 Message Date
arcum42 d10b60d560 ReorderingMTGS: Change the location of the Linux version of memcpy_amd_qwc for the moment, so it compiles.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3501 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 09:50:36 +00:00
Jake.Stine 1a8dcc5598 ReorderingMTGS: Sync with trunk
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3492 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 05:36:38 +00:00
Jake.Stine c8f16a1cde ReorderingMTGS: Linux memcpy attempt #1527, Action!
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3489 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-14 14:40:13 +00:00
Jake.Stine e793f91993 ReorderingMTGS: Linux asm memcpy fixes. (untested)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3488 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-14 14:23:59 +00:00
arcum42 6ded71561c ReorderingMTGS: Revise memcpy_amd_qwc for Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3484 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-14 09:19:46 +00:00
gregory.hainaut 20292ca15c [x86emitter]: Fix spaming warning of comparaison integer vs non-integer
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3481 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 20:03:10 +00:00
Jake.Stine 168a60ad13 ReorderingMTGS: Some cleanups and minor fixes to thread benching.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3478 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 16:34:27 +00:00
arcum42 d1e0922417 ReorderingMTGS: Initial Linux version of memcpy_amd_qwc. Disabled for now, till I get a chance to look it over better.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3477 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 10:48:35 +00:00
arcum42 f6d0222a8c ReorderingMTGS: Hackfix Linux, until some assembly is written.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3476 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 09:28:24 +00:00
gregory.hainaut b326504054 [cmake]
* Major rework of the linker flags. Use some globals flags for -s and -m32
  Add a USER_CMAKE_LD_FLAGS variable. Easier to play with advanced link flags for future gcc version (>=4.5)
* Remove useless stub file
[debian]
* minor dependency fix


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3475 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 09:16:13 +00:00
Jake.Stine 56d3982dc5 * Minor optimization to GIFpath, by utilizing the precached value for numregs in place of a convoluted test against NREG.
* Disabled the SSE store version of memzero (no performance benefits and it was messy anyway)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3473 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 04:36:39 +00:00
Jake.Stine 934578c8fe ReorderingMTGS: Added a new optimized memcpy_amd_qwc, for use by GIFpath copies. After much studying, we determined this is about as efficient as memcpy will ever get, for what we're doing with it.
DevNot:  Win32-only at the moment -- needs a GAS port (but that shouldn't be hard).  I made some notes in the code about it.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3472 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 19:40:30 +00:00
gregory.hainaut 8c6a66d955 [cmake] Update include dir path.
[debian] Update dependency
* only wxWidget 2.8.10 is supported
* Add the missing nvidia-cg-toolkit manually.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3471 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 18:31:53 +00:00
arcum42 694f7cbddb pcsx2: Tell codeblocks that the headers for Utilities are in src/Utilities, as well as in include/Utilities. (Gets it to compile if I add MemcpyVibes.cpp to the project.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3470 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 12:34:52 +00:00
sudonim1 9600a67ea9 Fix new aligned memcpy (probably, it still hasn't been tested at all) and removed calls to it that were added to test code generation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3469 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 04:21:21 +00:00
Jake.Stine 383c58ba3e Added a third alternative for memcpy_vibes. This one uses SSE intrinsics and is able to inline fully (no call/ret overhead).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3468 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 04:13:47 +00:00
cottonvibes ee5192abb5 Attempted generated sse memcpy using movaps.
Seems slower than memcpy_amd_ so didn't enable it.

I tried two different versions, one generates 0x400 different functions, and the other generates 1 function and jumps to the correct entry point.
The later seems faster, but still slower than memcpy_amd_...
(only tested the title-screen of GoW though...)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3465 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 15:40:12 +00:00
arcum42 472358345a ReorderingMTGS: zzogl-pg: Add GSgifTransfer. pcsx2: Add an include so Linux compiles.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3459 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 06:16:16 +00:00
Jake.Stine a9084741bc ReorderingMTGS:
* Implemented GIFPath_CopyTag, which performs a "copy-in-place" while parsing tags (big speedup over the old parse-then-copy strategy, especially with the SSE intrinsics I've included for kicks).
 * Removed the old ringbuffer 'restart' mechanism and replaced it with a truly free-flowing wrapping mechanism.  Utilizes the ringbuffer more efficiently, and removes quite a bit of overhead from the MTGS's PrepDataPacket call.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3458 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:53:50 +00:00
Jake.Stine c3006f6022 The updated PS2edefs.h for the new GSgifTransfer callback might help. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3456 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:46:32 +00:00
gregory.hainaut 84d94276e1 [copyright]
* Add missing copyright according issue 792
* Miss few files from the previous commit ^^


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3429 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-08 16:40:44 +00:00
gregory.hainaut 8864c8bbaf [cmake] Move flags clean in the build modules. Next step allow user to control them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3416 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 11:08:05 +00:00
Jake.Stine ae92387cea * Fix patches, which were broken in r3398 (they weren't being applied).
* Remove some dangerous uses of pxAssume -- pxAssume should only be used for simple in-place operations, and should never call functions (my fault too, I was the one who was using it wrong).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3410 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 07:41:44 +00:00
Jake.Stine 641c3b56cf microVU: avoid making unnecessary copies or instances of xRegister classes. Cuts out overhead which admittedly shouldn't even be there except MSVC 2008's C++ optimizer can't optimize constructors to save its life.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3408 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 06:42:35 +00:00
sudonim1 b53a92e019 microVU: converted all code to the new emitter style. If anything breaks, blame the guy below me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3406 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-06 20:05:21 +00:00
Jake.Stine 688674bed9 Emitter: Major refactoring / renaming job. Improved type checking and usefulness of xAddress* (Void, 32, 64, etc) types.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3397 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 19:15:19 +00:00
gregory.hainaut 6e30a41931 [asm] * Set a good default GNU-stack note. Need to properly support the nx bits (security concerns)
See http://www.gentoo.org/proj/en/hardened/gnu-stack.xml for details.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3396 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 15:56:38 +00:00
Jake.Stine 4f9a5c6876 Remove all MMX and XMM register freeze code.
DevNote: I could have left the code for the freezes in, except I *really* don't want us to ever have to resort to using such a system ever again in the future.  For anything. (its just not safe on modern optimizing compilers)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3392 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 01:12:38 +00:00
Jake.Stine 9feca5f767 * Switch the Confirmation dialogs to use '.' separators instead of ':' separators. The dots don't get escaped in the ini file, so they're much easier on the eyes.
* Remove one more dependency on the old vssprintf code; hoping to remove it soon.  Only thing left now is the r5900 disasm code (which is a monster).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3388 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-04 11:50:12 +00:00
Jake.Stine 402f19413b Remove MMX register freezes from MemcpyFast.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3380 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-03 13:08:41 +00:00
Jake.Stine c06cb7b121 (speedup!) Add missing flushes to COP0 and COP2 (VUmacro execution calls), and subsequently disable *all* XMM freezes. They aren't needed anymore.
Rationale: Pseudonym did the necessary upgrades to the recompilers a couple months ago prepping us for a day when we would no longer need MMX/XMM register freezes.  All regs are already being flushed on all memory operations, so I added proper flushing to COP0 and COP2 here, and removed XMM freeze/thaw code entirely.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3375 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-02 22:14:35 +00:00
Jake.Stine 362294ab8b * SIGNAL! Pretty sure I got it handled accurately now, minus GIF stalling.
* Re-added a trace log for the GIFtag parse optimization; Fixed some mVU warnings.

DevNotes:
Places where GIF needs stalled and resumed are marked with [TODO]'s.  We also need to add a way for SIGNAL to abort the currently processing GIFtag, which might need a return code added to the callbacks.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3373 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-02 15:32:03 +00:00
Jake.Stine 5ad95b28eb UI:
* Fix for Issue 780 (missing uppercase iso extensions in the Open File Dialog).
 * A few minor threading fixes for the GameDB loader to avoid crashes/hangs when closing the emulator immediately as it opens.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3350 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-30 03:21:59 +00:00
Jake.Stine 991f813cc0 Another fix for GCC compilation errors.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3339 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-29 00:13:21 +00:00
Jake.Stine 51638cc189 Fix Linux. >_<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3337 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 19:51:51 +00:00
Jake.Stine 1c7fc3e176 Mostly-new host exception system (host meaning the C++ / SEH exceptions, not the VM's PS2/MIPS exceptions). Main purpose is to make specifying diagnostic and end-user messages more sane. Secondary goal was to remove the need for C++ multiple and virtual inheritance, which are buggy in MSVC still, and problematic even when they aren't buggy.
I also re-implemented R5900 runtime exception handling for TLB Miss and such (devbuilds only, for now).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3335 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 18:03:54 +00:00
Jake.Stine f3b7c09851 ... not sure how I missed committing this last night. >_< (fixes compilation errors)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3333 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-28 10:21:04 +00:00
ramapcsx2 1c898ad5f0 Since we're not using MMX registers to hold EE data in the recompilers anymore, we should be safe to exclude them from register saving / storing.
Pretty big speedup in games with lots of GIF activity (Soul Calibur 3 goes from 40 to 48fps).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3314 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-26 14:35:22 +00:00
Jake.Stine 2200a79979 Re-re-re-fix linux/gcc >_< (all that was actually missing was a 'struct' keyword .. grr msvc being smart and auto-deducing the type for me)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3304 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 15:26:51 +00:00
arcum42 334eab37c5 Get Linux to compile again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3303 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 12:17:29 +00:00
Jake.Stine e145f9dd67 Refactoring: Split FixedPointTypes.h into an h/inl setup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3302 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 11:12:24 +00:00
arcum42 26c497ceea pcsx2: Added back a few headers. A non POD-safe argument was fixed. Commented out some unused variables. And added a few helper functions for later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3300 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 09:18:14 +00:00
Jake.Stine e96dbe443f Major header file house cleaning! Should speed up recompilation times by a few percents.
Linux note: There's a chance as usual that this might break something in Linux because Linux and Windows STL headers have different dependencies.  Namely <algorithm> might still be needed in on some of the PrecompiledHeaders.  If so, just re-add it and commit, and make a note:  // yes GCC really needs this one :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3295 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-25 02:35:27 +00:00
Jake.Stine 976cb072a0 UI:
* Fix for random crashes when recording movies (F12).  It still doesn't seem 100% stable, but it's a heckuva lot better than before.
 * Log options dialog behavior bugfixes.
 * Cleaned out some old hacks for handling hotkeys from the GS window, and implemented proper use of GSwindow-local hotkey mappings vs. global hotket mappings.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3292 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 20:30:36 +00:00
Jake.Stine e1890f369e * Cmdline: Added warnings when opening settings panels with command line overrides enabled, and force-disable overrides when new settings are manually applied.
* GameDB: Remove the game database from the Settings panel, since it's kinda slow still and it started to drive me nuts.  I haven't added another menu option to open it up yet (it will be in its own dialog), but I will soon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3290 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-24 17:39:18 +00:00
Jake.Stine 24ae022a74 Fully implement hash-based database lookup. Fix some bugs that caused startup crashes in previous revisions of mine.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3273 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 18:57:48 +00:00
gregory.hainaut 3d9c63b0f0 [cmake]:
* Print a fatal_error when users do not source the good CMakeLists file.
* Do not search system libraries if the user force the internal libraries


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3269 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 13:30:36 +00:00
arcum42 d1818a3400 Fix Linux compilation. (Possibly Windows as well...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3267 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 10:58:34 +00:00
Jake.Stine 0941434749 * Fixed fullscreen default-to-on behavior; the bug was caused by wxWidgets being a bit ficle and expecting the window to be Shown prior to being made fullscreen (even though the docs say ShowFullscreen() will show the window itself).
* Much header file cleanup and used forward declarations to remove a lot of excess includes; might help improve build times a wee bit.
 * Preliminary hash-table implementation for the Game database.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3264 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 04:29:24 +00:00
Jake.Stine 9fae2cc4f3 UI: Replace a lot of PCSX2's with pxGetAppName().
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3254 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-21 10:25:06 +00:00