Commit Graph

3165 Commits

Author SHA1 Message Date
Jake.Stine 1c75440a6c IPU optimizations -- use SSE for FIFO reads/writes, and streamlined IPUdma0 /IPUdma1 feeds a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3771 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-15 17:11:24 +00:00
arcum42 01afac40f6 zzogl-pg: Work on getting the ZZoglShaders header a bit closer to what is in the current zzogl trunk.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3768 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-15 11:04:31 +00:00
gregory.hainaut@gmail.com 997db8ef05 zzogl-pg: fix a potential issue when logging is disabled
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3767 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-14 11:53:53 +00:00
gregory.hainaut@gmail.com 40fa31a64e zzogl-pg:
* Allow to load the plugin without log (better but not mandatory)
* Only reload the log file when it was open in the first place


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3766 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-14 11:51:26 +00:00
Jake.Stine 752034c519 Bugfix for Tri-ace games and possibly others (bug introduced in r3762, caused by missing 'vifRegs.num is actually 256' checks)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3765 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-14 00:39:40 +00:00
Jake.Stine 4671428593 ... and update the savestate version, since I changed all the vif containers around.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3764 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 23:05:14 +00:00
Jake.Stine 59ebdf3e60 GCC compilation fixes.
(note to devs: a sure-fire fix for GCC's templated function problems is to typecast the templated function to itself explicitly -- works nicely for all versions of GCC and the ?: operator as well).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3763 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 22:52:04 +00:00
Jake.Stine 2f8f86a3eb Significant VIFunpack retooling. Interpreters are considerably more efficient, and Recompilers are slightly more efficient. Details:
* All remaining code for handling partial/fragmented unpacks removed.
 * vifRegs.NUM is now accurately simulated when queuing data from fragmented unpacks.
 * Reduced the VIFunpack fragment buffer from 1MB to 4KB (max size of an unpack due to NUM being limited to 8 bits).
 * Removed vif/vifRegs globals formally used by VIF interpreters (everything relies on the templated vifIdx now -- simpler and faster!)
 * g_vifMask vars are integrated into vifStruct.
 * All VIF mask register stuff uses the SSE-friendly vifStruct.MaskRow/Col vars now.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3762 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 21:13:10 +00:00
gregory.hainaut@gmail.com e2cb52becf cmake:
* Link zz with libjpeg. Well it seems to get the library from another place, but better be safe for the future.
* Use -pthread as a default option (again to be safer)
* Warn about breaking of strict aliasing rule 


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3761 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 15:26:04 +00:00
arcum42 b15dd516c2 zzogl-pg: Having two functions with the same name, one of which is in a namespace, and one of which isn't, strikes me as a bad idea.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3760 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 09:33:09 +00:00
arcum42 4e03f0299b zzogl-pg: Lets remove the xf86vm library dependency from the codeblocks project while I'm thinking of it...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3759 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 07:58:24 +00:00
arcum42 6528f4b479 zzogl-pg: Remove some remanents of negAA. Mess with the aa code a bit. Add a function for a commonly done operation. Increment the version, since I haven't done that in a long time.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3758 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-13 04:57:03 +00:00
gregory.hainaut@gmail.com 647f84d08e debian:
* drop libxxf86vm-dev dependency
* do not twice the link


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3757 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-12 14:27:33 +00:00
gregory.hainaut@gmail.com 21fada2e53 zzogl-pg: remove negative AA. Save some cpu cycles.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3756 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-12 10:54:42 +00:00
arcum42 6b4d447c8d zzogl-pg: Search and replace on a few things.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3755 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-12 07:15:52 +00:00
arcum42 2f004397f6 ZZogl-pg: Commit some of the work Zeydlitz did in r226 with separating out shader code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3754 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-12 01:05:11 +00:00
gregory.hainaut@gmail.com 338589f900 zzogl: flush instead of sync to be sure the size is correct
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3753 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 10:50:16 +00:00
arcum42 ecfb8efee5 zzogl: Not sure how these didn't get copied in properly. :(
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3752 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 10:01:52 +00:00
arcum42 48f3a6d273 zzogl: Misc cleanup.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3751 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 09:44:15 +00:00
arcum42 45eb60439a zzogl-pg: Sketch out some dialog box changes in Windows for later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3750 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 06:28:10 +00:00
arcum42 7914348d91 zzogl-pg: Add the new files to the Windows project.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3749 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 05:55:34 +00:00
arcum42 a9281ecea0 Lets go ahead and bring the changes to zzogl-pg in the GregMiscellaneous branch into trunk.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3748 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 04:51:18 +00:00
Jake.Stine da9c955135 * Simplified VIFunpack's C-based interpreters (removed ODD size handlers and unused data)
* Fixed V2/V3 unpacks to behave same as the SSE unpacks (matches undefined PS2 behaviors)
 * Removed legacy vifUnpacker (haven't needed it for any regression testing in forever).
 * Move some VIF MARK console spam to DevCon (Ape Escape 3)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3746 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-10 13:16:50 +00:00
Jake.Stine 14513cecb9 Fix for some major slowdowns present in dev/debug modes when using trace logging features.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3745 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-10 11:38:11 +00:00
Jake.Stine 7bfe167405 (u64*) [compilation error fix]
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3744 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-09 09:47:13 +00:00
Jake.Stine 372478c0ec Remove some obsolete code relating to VIF/GIF FIFOs (hwRead/Write handlers always intercept them now, so saving values back to the eeHw register mirror is ineffective).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3741 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-08 11:34:39 +00:00
Jake.Stine e246d617ef Minor fix from yesterday's IPU refactoring (fixes some homebrew stuffs)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3738 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 16:58:10 +00:00
Jake.Stine 3cfd0c68af * Rename cpuBranch[...] functions and vars to cpuEvent[...], which should be more clear and consistent as to their true purpose. (to clarify: events typically run during cpu branch instructions, but most branches don't actually have anything to do with whether or not there are events pending or events being run).
* Add some missing & ~0x0f address alignment stuff to odd-size FIFO reads/writes (thanks gregory)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3730 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:38:14 +00:00
Jake.Stine 1698382065 Simplified CPU-level exception behavior:
* Both INTC and DMAC exceptions are now issued together when possible (0x400 | 0x800 to the CAUSE register, respectively)
 * CPU exceptions are checked on every event now, instead of using scheduled interrupts on bits 30/31.  This removes the need to constantly reschedule events during interrupt-disabled states.
 * CPU exception test is moved to the top of the EE event test.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3728 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:11:19 +00:00
Jake.Stine 02b390b0e1 Changed SIF and IPU macros for hw register mappings into references. (-> into .)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3727 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 02:51:36 +00:00
Jake.Stine 935159ed8e IPU: Split IPU DMA stuff out into its own file, and add missing region info (got left out AGAIN >_<) and a potentially important bit of IPU information to the savestate.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3726 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 00:36:03 +00:00
Jake.Stine 46b89abb72 * Move the GIF register handlers from dmac to hwRead/hwWrite (like the VIF registers they aren't actually DMA-related).
* Minor cleanups to trace logging and FastFormat string stuff.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3724 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-04 14:11:50 +00:00
cottonvibes 147e4b8409 microVU:
- Fixed xmm reg corruption when calling console print functions from recompiler (win-vista+ clobber some xmm regs)
- Tweaked and commented regalloc class

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3723 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-03 05:02:03 +00:00
gregory.hainaut@gmail.com c2681d7baa debian: forgot 1 file
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3722 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 20:14:02 +00:00
gregory.hainaut@gmail.com 43b1fb0ca4 debian:
* remove personal rule target: has not worked since last change...
* Some fix to control. Update package std version


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3721 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 19:52:48 +00:00
Jake.Stine 12dbebcfd9 microVU: clear contents of microBlock on creation to avoid false cache misses.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3720 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 12:33:45 +00:00
gregory.hainaut@gmail.com df7708a37b pcsx2 Hw read/write: Instantiate _hwread32 template because it is used in HwWrite.cpp. It avoids link error when compiler inline template.
Note: inline the _hwread &  _hwwrite functions could be a good idea.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3719 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 08:28:24 +00:00
Jake.Stine 96855850f3 microVU: bugfix for prev revision (.r and .flag member mixup); and removed an unneeded check against exactMatch.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3718 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-02 02:38:54 +00:00
Jake.Stine 76d639ff39 microVU:
* Remove need for packed structs through use of unions.
 * Streamlined the microBlockManager's linked list (less heap allocs and simpler interations).
 * Use two 32 bit compares for fast block compares, instead of 6-7 individual u8 compares.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3717 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 16:15:18 +00:00
arcum42 1ded55f4cf Hack around Linux compilation issues for the moment.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3716 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:48:43 +00:00
arcum42 a4155a2240 Minor cleanup from the last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3715 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:34:02 +00:00
arcum42 e686d47cd7 ZZOgl-pg: Rework the GLX11Win.cpp code a bunch. Fix a bug leading to crashes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3714 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 10:28:37 +00:00
cottonvibes 009d6ba5e6 microVU:
- Code refactoring (mostly changing macros to functions/constants...)
- Made it so the disable-regAlloc option flushes every 32bit instruction, instead of every 64bit instruction (upper+lower instruction pair)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3713 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 04:57:10 +00:00
cottonvibes 807bd9659c pcsx2 mmi: apparently msvc does an unsigned compare jump when you have:
int src; if (src < 0xffff8000) {}
so solution is either use (int)0xffff8000 or -0x8000...
it also doesn't seem to print out warnings about this either D:

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3712 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-01 02:03:10 +00:00
Jake.Stine 27a3f11278 Remove some code from DMAC.h and into LegacyDmac.cpp (these changes are mostly related to the new dmac prep on the other branch, but I'm doing them here to help keep major refactoring differences and merge conflicts to a minimum between the two branches).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3710 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 21:22:39 +00:00
gregory.hainaut@gmail.com f6a541928a debian: Use english word & grammar...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3709 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 16:59:57 +00:00
Jake.Stine 0bb377511b Uninitialized variable fix in ScopedLock as found by Gregory, and a few more minor -> to . conversions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3708 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 16:40:25 +00:00
Jake.Stine 1edb900405 Changed a few more -> to . for consistency.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3707 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 13:06:53 +00:00
arcum42 fe347c2c04 Fix Linux compilation, fix a potential crash, and add a build target I find useful occassionally.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3706 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 09:31:47 +00:00
Jake.Stine bcac59ee4f Linux/GCC fixes. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3705 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-31 05:47:54 +00:00