Commit Graph

3487 Commits

Author SHA1 Message Date
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
arcum42 59bccbccb4 GregMiscellaneous: zzogl: Clean up the configuration dialog code a bit. Make the experimental skipdraw option only exposed on devel builds.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3747 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-11 04:26:20 +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
gregory.hainaut@gmail.com 2a9e644b18 GregMiscellaneous: zzogl: Restore the good size when quit fullscreen.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3743 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-08 19:04:11 +00:00
arcum42 ff33ea5348 GregMiscellaneous: zzogl: Remove screen size settings from the configuration dialog. (The window can be resized normally, and the startup size can be changed in the ini file still...)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3742 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-08 12:03:49 +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
gregory.hainaut@gmail.com b6dcd319fd GregMiscellaneous: zzogl:
* restore widescreen option. Force a 4/3 mode when disabled.
* Also force 4/3 in window mode. In widescreen and fullscreen uses all the screen.
* Clean


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3740 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-08 11:16:27 +00:00
gregory.hainaut@gmail.com 873cb9656f GregMiscellaneous: zzogl:
* add more locking to X11. Never too safe.
* Free the visual (memory leak)
* Only search event of the current window
* force 4:3 in fullscreen mode (will need a toggle box to enable/disable it)
* do not grab cursor on debug (this one will need more test)


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3739 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 22:21:07 +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
gregory.hainaut@gmail.com ddb33652ab GregMiscellaneous: Minor clean
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3737 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 12:23:45 +00:00
arcum42 3dcb931a49 Remove fullscreen from the configuration dialog, and make esc go back to windowed mode.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3736 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 12:09:49 +00:00
arcum42 a468a27523 GregMiscellaneous: zzogl: Got rid x & y in GLWin. Make sure nBackBuffer gets set to the right width and height.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3735 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-06 09:46:33 +00:00
gregory.hainaut@gmail.com dc49a995d6 GregMiscellaneous: zzogl: Fix fullscreen setting & remove useless library
Major issue left: widescreen.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3734 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 22:08:55 +00:00
gregory.hainaut@gmail.com 65b985698e GregMiscellaneous: zzogl: add some locking. Work far better.
The trick was to call XInitThreads in the beginning.


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3732 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 16:30:47 +00:00
gregory.hainaut@gmail.com 0845dffb5b GregMiscellaneous: zzogl: rework fullscreen (to be friend with the WM). Note: it is not crash free for the moment.
* use alt-enter to toggle the fullscreen mode. (toggle quickly multiple time to crash it...) I suspect need of XLockDisplay & XUnlockDisplay
* escape: will quit for both mode

Not yet done: 
* good support of fullscreen conf flag. Which is wrong for the moment. (actually may be a source of crash)
* Better support of widescreen screen


git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3731 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:47:09 +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
gregory.hainaut@gmail.com 5e8f776adb GregMiscellaneous: sync from trunk (3679:3727)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3729 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:33:08 +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