448 Commits

Author SHA1 Message Date
gregory.hainaut
f965b0af46 Memcpy (linux): Mangle asm label name avoid symbol already defined when inline the function
Note: the function can be moved into a .h ;)

Note2: %= is replaced by a number so it is a bad idea to put it after a digit (reason why I put underscore before)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3563 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-25 09:38:26 +00:00
gregory.hainaut
4c4cf75432 Memcpy (linux): Use volatile constraint to avoid complete removal of the function when activating -fdce (dead code elimination).
Actually there is no impact for the moment because the optimization is not activate by default.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3562 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-24 21:22:32 +00:00
Jake.Stine
bc849cc042 Merge const qualifiers and cleanups from ReorderingMTGS: Includes the VIF DIRECT changes, which seem to be stable this time. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3549 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 12:20:11 +00:00
Jake.Stine
b6af82efa8 GSdx / zzogl-pg / pcsx2:
* Implemented support for legacy GS plugins (considered anything prior to the Reordering merge).
 * Added a lot of 'const' qualifiers to the GSgifTransfer functions in both GSdx and zzogl.

DevNote: GS plugins shouldn't be modifying the data provided to them from PCSX2 -- zzogl wasn't, GSdx was.  I had to do a little bit of juggling to remove the mem modifications from GSdx's TEX0/TEX2 handlers.  With luck, nothing's broken. ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3536 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-19 15:49:30 +00:00
Jake.Stine
9ba58e1398 ReorderingMTGS: Sync with trunk!
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3523 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 22:42:18 +00:00
arcum42
6eb8f100f6 ReorderingMTGS: Fix memcpy_amd_qwc.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3520 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 20:08:01 +00:00
Jake.Stine
4f62554702 ReorderingMTGS: Revert changes to Vif_Codes.cpp from earlier, until other bugs in VIF processing can be resolved. (fixes ICO bootup).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3519 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 18:05:13 +00:00
Jake.Stine
2d4c7aaa25 ReorderingMTGS: More tweaks to asm memcpy files (made code changes to Linux side, comment changes to Win32 side).
Linux Devs: Let's get this memcpy thing finalized, if its not already.  I'd like to merge the current state of this branch into trunk as soon as possible, since its currently looking very stable and has been, up to this point, a code cleanup and stabilization project.  (more invasive changes coming soon)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3518 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 15:03:45 +00:00
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
cottonvibes
202f09bf43 Minor change to the custom memcpy function...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3493 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 06:46:57 +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