Commit Graph

2982 Commits

Author SHA1 Message Date
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
arcum42 6972792a4e zzogl-pg: Messing around with the BLOCK struct.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3528 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-18 06:59:23 +00:00
arcum42 b58a43cdf6 zzogl-pg: Revise the TransferHostLocal functions a bit. More arrays.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3526 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-18 04:53:50 +00:00
arcum42 48bbe19bd3 zzogl-pg: Add Swizzle function arrays.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3525 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-18 04:14:09 +00:00
arcum42 30a911f9f8 zzogl-pg: remove an unneccessary structure.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3524 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-18 03:45:28 +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
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
sudonim1 b5f1ef528a GSDx: fixed incorrect RGB->YUV conversion when capturing video which was producing off colour results.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3517 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 14:04:38 +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
arcum42 8e7a7cf5fe zzogl-pg: Now it lists all the enabled hacks, and if they were manually or automatically enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3514 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 11:39:04 +00:00
arcum42 a0225a2318 zzogl-pg: Lets try that again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3513 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 10:56:26 +00:00
arcum42 c2804a2806 zzogl-pg: Change the messages when finding a game crc a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3512 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 10:55:22 +00:00
arcum42 155e0a1bfa zzogl-pg: Cleaning up a bit after the last commit. Expand a hack to remove lines when AA is on to cover AA at x8 & x16.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3511 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 06:56:07 +00:00
arcum42 ecad8b7a4f zzogl-pg: Convert the helper function into arrays. Use them in other places as well.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3510 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 06:10:39 +00:00
arcum42 1a3373a9a4 zzogl-pg: Add some helper functions, and rework the _TransferLocalLocal functions a bit. (Needs more testing)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3509 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 01:52:46 +00:00
arcum42 3143be1da1 zzogl-pg: Converted the TransferLocalLocal defines into inlined functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3508 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 01:12:33 +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 cfe4d607b3 zzogl-pg: Working more on the new register code. Combined the KickVertex functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3506 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-17 00:12:07 +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 f2d637a6e0 zzogl-pg:
* Removed extern "C" and applied static const to s_clut16 vars.  Should be fine since the old x86.S files that needed extern "C" have been removed from zzogl.
 * Fixed a compilation error in Win32/Debug builds.
 * Changed some references of DEVBUILD ZEROGS_DEVBUILD.  Not sure if all of them should be changed over or not, so I just stuck to some of the more obviously correct bits.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3500 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-16 03:48:13 +00:00
gregory.hainaut 7e6dba3b7a [cmake] Add a fatal error for pure amd64 distributions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3499 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 22:24:35 +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
gregory.hainaut 71bcec243e [zzogl]: ooups forget 2 lines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3495 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 16:52:25 +00:00
gregory.hainaut 4a23585a55 [zzogl]: asm work. Asm was totally broken. At least in release build.
* use volatile keyword to avoid gcc removing the function...
* Use name variable in asm code instead of %n
* Fix constraint on s_clut16mask. There are input, not output...

Arcum can you look at this 2 things thanks.
-> code is still broken in one place. s_clut16mask & s_clut16mask2 
re null in the code generated by gcc ! To fix it (do not know why), we can declare them as static. But I'm not sure
on the impact and I can not test windows...
-> s_clut16mask is declared as a 256bits numbers instead of 128 !


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3494 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-15 16:32:59 +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 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