Commit Graph

3220 Commits

Author SHA1 Message Date
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
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