Commit Graph

1996 Commits

Author SHA1 Message Date
ramapcsx2 a96e866f79 Some changes to GS stalls. The code was there but commented out.
Fixes Quake III Revolution and the homebrew "Simple Media System".
It's probably all wrong still but hey, better than nothing :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3556 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-23 17:30:18 +00:00
ramapcsx2 ca1c1e8796 Forgot this. Sorry Bleach players.
"Bankais" will work again soon though, we hope :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3555 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 22:11:21 +00:00
ramapcsx2 3971787b9a Revert the OPH work of r3522 as it was based on wrong assumptions (except the direction flag in BUSDIR, that one was right).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3554 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 19:17:10 +00:00
sudonim1 be9e225468 Fix unintentional alteration of tDMAC_STAT in r3550.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3552 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 17:21:13 +00:00
Jake.Stine 8d07e78b86 Unified the three DmaExec functions into one. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3550 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 13:25:48 +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 095e46246d microVU: Added some const qualifiers to the instruction/opcode function LUTs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3548 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-22 05:05:18 +00:00
sudonim1 915983cc71 A line that got lost somehow. Fixes iop debugging output again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3542 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-20 16:56:48 +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 c7096a1d53 Fix superVU xgkick stuffs.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3535 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-19 12:35:03 +00:00
Jake.Stine 575e1ceb46 * Converted SPR.cpp and hwMFIFOWrite to use memcpy_qwc in the place of memcpy_fast.
* Fix a bug in my merge of the new MTGS code that caused crashes on some games (PATH1 queue bug).
* Added assertion checks to hwMFIFOWrite for qwc alignment and a SPR_LOG for null ringbuffer addresses (if a game specifies an invalid physical address).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3533 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-19 05:40:35 +00:00
Jake.Stine 856ffe4c65 Merge optimizations and code cleanups from the ReorderingMTGS branch (r3523) into Trunk. Summary of changes:
* GIFpath parsing copies as it parses (speedup!)
 * Improved memcpy for 128-bit copies (speedup!)
 * MTGS ringbuffer uses free-flowing wrapping now, which simplified ringbuffer management logic considerably (speedup!)
 * Various MTGS-related refactoring (var renames and such)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3532 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-19 03:48:37 +00:00
sudonim1 b9b4d0f1d8 IPU: Documented YUV colour space used by the IPU since I researched this when fixing gsdx recording.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3531 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-18 17:57:35 +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
ramapcsx2 f7d0ed2dc5 ReorderingMTGS: Clean up and unify all OPH flag handling to be in the BUSDIR handler.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3522 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 22:37:36 +00:00
Jake.Stine ffdf8223fd ReorderingMTGS: Quick cleanups to gifMFIFO's path parsing.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/ReorderingMTGS@3521 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 20:32:58 +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
refraction 6fdfdf604f vifUnpack: Made V3_## Unpacks work the same as V4_32, this is how legacy did it to, for some reason i made it copy the 3rd vector in to the fourth >.<
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3516 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 13:53:09 +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
gregory.hainaut 6250ec1f37 [IPU]: properly fix gcc c++0x error. Declared coeff as s16 instead of u16.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3498 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 18:07:49 +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
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
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
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 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
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
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
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
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
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
Jake.Stine dd100a775e UI: Slightly better console log scrolling logic.
DevNote: This is about as user friendly as the log will ever get while using Windows RichText control.  The only way it will ever behave better (notably when draggin scrollbars and such) is if we write a custom read-only log text control that paints itself manually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3443 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-09 20:10:52 +00:00
Jake.Stine d36bb19612 * Fix for Issue 493 -- non-standard SYSTEM.CNF contents are handled better now.
* Some minor exception/error handling fixes and improvements.

DevNote: the BOOT2 elf loader fix is still a hackfix.  I documented the proper fix for mimicking PS2 BOOT2 parsing, but not in a mood to do the full proper implementation right now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3442 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-09 16:51:48 +00:00
gregory.hainaut 6bd3aa9889 [copyright]
* another bunch of copyright fix.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3439 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-09 15:36:09 +00:00
ramapcsx2 405bd329a3 CDVD:
- More changes to media change detection.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3438 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-09 15:26:34 +00:00