Commit Graph

2955 Commits

Author SHA1 Message Date
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
Jake.Stine 1c9cefd778 ReorderingMTGS:
* fixes flickering screen in Soul Calibur 3 (caused by VSYNC register bug)
 * Optimized upload of queued Path1 transfers; such that all Path1's are uploaded as a single MTGS packet.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3515 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 12:11:37 +00:00
Jake.Stine ce2b9e30fc ReorderingMTGS: threading bugfixes, ringbuffer would do bad things when it got full (GS load 80%+), or when vsyncs wrapped around the edge of the ring.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3507 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 00:14:41 +00:00
arcum42 1be80fbe53 ReorderingMTGS: Comment out a few unused variables.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3505 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 23:31:28 +00:00
Jake.Stine 5bbdb68896 ReorderingMTGS: Assertion fixes, some comments notes on MARK behavior.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3504 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 20:31:00 +00:00
Jake.Stine 32942ec9a6 ReorderingMTGS:
* Added a few assertions to detect when PATH transfers are started that violate other pending PATH transfers.
 * Removed a lot of obsolete code from vif1's DIRECT handler (Vif_Codes.cpp)
 * Add alignment to Path1buffer to avoid SSE alignment faults.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3503 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 16:48:08 +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
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 2f3452ec25 ReorderingMTGS:
* Make PCSX2 bare minimum reqs include SSE as well as MMX.
 * Minor bugfix which could have affected MTGS performance.
 * Default GIFpath stuff to use SSE opts.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3491 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 05:21:26 +00:00
gregory.hainaut 880d182956 [IPU] Revert my stupid fix for the moment. Will work on it later when I have more free time ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3490 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-14 14:54:04 +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
gregory.hainaut a18c72489b [IPU] Fix a gcc failure with c+0x standard
Note: What I understand some define use the minus symbol and so gcc does a sign extension on 32bits.
    Not compatible with u16...

To fix it I kept only the first 16bits. We could also redefine the constant without the minus


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3487 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-14 13:22:03 +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
sudonim1 240349ea47 IPU: Reference (slow but clear) implementation of yuv2rgb which could also be used as an alternative for SSEless processors, as if we really care about them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3482 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 23:31:33 +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
gregory.hainaut 266fb8d73e [zzogl] Square asm constraint. No change, just better bug-proof.
* add xmm register to the clobber list.
* Add input contrainst (avoid to depend of the function attribute and easier to understand)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3480 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 19:11:07 +00:00
Jake.Stine d9477ab5f4 ReorderingMTGS: only disable the vsync queue limit is both framelimiting AND vsync are disabled. (ensures no mysterious half-second input lag if some user has a bizarre config)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3479 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 16:36:57 +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 43cd559801 ReorderingMTGS: Templated the GIFPath parsers, to allow for SSE optimizations.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3474 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-13 05:20:42 +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
Jake.Stine a6b3acb5d0 ReorderingMTGS: Minor performance tweak. MTGS was only queuing 1 frame ahead instead of 2.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3467 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 04:04:40 +00:00
Jake.Stine 742b9c5535 CDVDnull: Fix an MSVC compilation error.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3466 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-12 02:38:40 +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
Jake.Stine ec7e1ed0a1 ReorderingMTGS: Bugfix for possible corruption/crash if a vsync happens at the ends of the ringbuffer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3464 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 13:23:56 +00:00
gregory.hainaut f0f0cef2d5 [autotool] Remove autotools for *null plugins, CDVDiso, zerospu2. Superseed by cmake & codeblock, no reason to keep them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3463 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 12:35:36 +00:00
gregory.hainaut eb88a12a5d [CDVDnull] Completely remove unused files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3462 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 12:04:51 +00:00
gregory.hainaut 47efabcb4e [debian] Remove useless CDVDnull files of the source package.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3461 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 11:05:25 +00:00
gregory.hainaut 9522b1b9e4 [CDVDnull]
* include a common file to define sysmessage
* Do not compile useless CDVDnull/Linux/* files


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3460 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 10:45:14 +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
arcum42 2e3ca85647 zzogl-pg: Bug fig on new register code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3457 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:53:09 +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
Jake.Stine 65f50f009f Created branch for implementation of the 'Reordering' MTGS; a new version of the MTGS that will ensure packets are uploaded to the GS in the proper order, and in complete form... such that the GS plugin will be able to process all GIFtags through a single instance of m_path via a single hack-free GSgifTransfer callback.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3455 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:43:39 +00:00
Jake.Stine e85da0dfe1 GSdx: Add support for the new hack-free GSgifTransfer callback, which will supercede the various hacky GSgifTransfer1/2/3 callbacks in use now. This version of GSdx will be *REQUIRED* by PCSX2 soon.
DevNote for zzOgl coders: Implementation of this callback can just double up on m_path[0].  I used a separate instance at m_path[3] mostly because it was easier than trying to fight around the existing PATH1 nloop hack, which is still needed for backward compat with existing and earlier versions of PCSX2.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3454 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 04:38:33 +00:00
cottonvibes b0ec1394d1 microVU: minor changes to list traversing in-case the compiler doesn't already optimize these out.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3453 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 03:32:35 +00:00
arcum42 749b180005 zzogl-pg: Removed some redundant code in the new register code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3452 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-11 03:30:35 +00:00
Jake.Stine 27be444efa GIFpath: Set up incTag to work only in QWC. Required redoing the REGLIST mode handler a bit. This is needed for an in-progress MTGS project I'm in the middle of; so I'm hoping I did it right and don't screw anything up. (someone test Tekken 4 for me)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3451 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-10 14:34:00 +00:00
arcum42 fab3d1d4b7 zzogl-pg: A few Windows changes, and fix an incorrect variable type.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3450 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-10 12:41:49 +00:00
gregory.hainaut fded5fc218 [debian]
* Add copyright information
* Downgrade depend to recomment to avoid circular dependency


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3449 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-10 12:37:18 +00:00
arcum42 7020f82fc7 zzogl-pg: Add some register logging code. Fix a bug in the new register code I noticed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3448 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-10 10:25:48 +00:00