Commit Graph
100 Commits
Author SHA1 Message Date
magumagu a2150ef1f8 PixelShaderGen: delete extra parenthesis.
Without this patch, we can generate a pixel shader which doesn't compile
in some cases.
2014-04-14 00:41:27 -07:00
magumagu 1a4156a4a0 JitIL: fix carry computation for srawi.
The carry computation needs to be based on the input value, not the output
of the shift.
2014-04-13 20:31:32 -07:00
magumagu 812ff4686b OpenGL backend: remove useless header Globals.h.
The header has no content, so it can can just be deleted.
2014-04-12 19:25:37 -07:00
magumagu f18a3cc650 OpenGL config: clear backend_info.Adapters on init
Fixes a minor UI glitch where if you switch from Direct3D to OpenGL, the
OpenGL config page would appear to have an adapter choice available.
2014-04-12 00:17:36 -07:00
magumagu fd9c1fa746 VideoBackend: remove unused config vars.
No point to keeping around variables which are always "true".
2014-04-11 14:53:12 -07:00
magumagu 76d7c1eb9c D3DBackend: Don't recompute ID3D11Layout.
CreateInputLayout requires a shader as an input, but it only cares about
the signature; we don't need to recompute it for different shaders with
the same inputs.
2014-04-11 13:13:01 -07:00
magumagu d0f89b2b63 SWBackend: Fix code style. 2014-04-05 13:08:00 -07:00
magumagu accd652aa1 Fix trailing whitespace. 2014-04-04 16:25:08 -07:00
magumagu bdcd5ba39b SW backend: make shaders work on Intel/Windows.
Apparently the Intel shader compiler doesn't implement "#if" correctly...
so use "#ifdef" instead.
2014-03-29 13:10:43 -07:00
magumagu 0661efea84 Software backend: Delete forked PixelEngine.
Mostly just zapping a bunch of duplicated code; the only interesting thing
going on here is the changes to the performance counter implementation.
2014-03-29 12:07:20 -07:00
magumagu 3afa17f752 Move audio handling out of DSP emulation.
This is good for a couple of reasons: one, it gets rid of duplicated code,
and two, DSP emulation shouldn't need to interact with audio in the first
place.
2014-03-29 11:19:32 -07:00
magumagu 78499e5b7c Delete AudioCommon::UseJIT(). 2014-03-29 11:19:31 -07:00
magumagu 102ea55f20 Move mixer construction to AudioCommon.cpp. 2014-03-29 11:19:30 -07:00
magumagu aac4206664 Move UDSPControl structure into DSP.h . 2014-03-29 11:19:19 -07:00
magumagu 23174d25c6 Minor Ucode cleanup.
Clean out unnecessary references to the audio system from the ucode
implementation.
2014-03-27 14:16:16 -07:00
magumagu 8a3da44d91 Fix CMake build. 2014-03-26 15:59:23 -07:00
magumagu f8b7a2fc10 Add audio output for Zelda Ucode variants.
Untested.
2014-03-26 15:17:37 -07:00
magumagu e9896c1ff9 Use correct sample rate in Zelda Ucode HLE.
The Ucode's output should be independent of the sample rate Dolphin is using.
2014-03-26 15:12:00 -07:00
magumagu 3b62e8b798 Fix minor Zelda Ucode audio corruption.
Stupid mistake in my previous commit; the value of m_CurBuffer was
off-by-one.
2014-03-26 14:34:00 -07:00
magumagu 4fafa954a1 Zelda Ucode partly working without Premix hack.
The code is still completely wrong, and it only outputs some sound,
but the mess is confined to the Zelda Ucode implementation.
2014-03-26 14:06:32 -07:00
magumagu 8dad1be319 Fix sound buffer addresses in Zelda UCode HLE.
The code previously mixed up the addresses of the right and left buffer;
testing shows that the address of the left buffer comes first.
2014-03-26 14:06:30 -07:00
magumagu ae9367a89b Delete a bunch of old audio HLE cruft.
This commit intentionally breaks audio output from HLE Zelda UCode; no other functional change.
2014-03-26 11:17:19 -07:00
magumagu ca4e0495c0 Save registers before calls in x86-32 JIT.
I have no idea what the person who added RegistersInUse() was thinking,
but not correctly saving registers is an easy way to end up with crashes.
2014-03-25 20:50:14 -07:00
magumagu 4eab240e25 Compute stack usage correctly in ABI_CallFunctionPC.
(The numbers need to be consistent with the actual usage, or else the stack gets corrupted.)
2014-03-25 20:48:25 -07:00
magumagu e4081b29f9 Use unaligned stores to save XMM regs to stack.
On Win32, the stack isn't aligned, so aligned stores will cause crashes.
2014-03-25 20:46:36 -07:00
magumagu 03292eabc2 Fix OpArg::WriteRex with 8-bit memory operand.
Previously he function was misbehaving because of a missing check for
whether an 8-bit operand was a register operand; it would therefore
emit unnecessary REX prefixes, incorrectly assert on 32-bit targets, and
could potentially emit wrong code in rare cases (like a memory to register
operation involving AH.)

Also, some cleanup while I was in the area to make the function easier to
read.
2014-03-25 14:09:15 -07:00
magumagu9 eddafd450e Fix an extremely silly copy-paste error.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4727 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-24 05:21:07 +00:00
magumagu9 1b936a4f71 JIT for frsqrte; not really a large difference, but drops it off a
profile I'm looking at.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3671 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-04 00:48:09 +00:00
magumagu9 c52e4d281e Remove instructions which don't actually exist.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3670 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-04 00:09:12 +00:00
magumagu9 3c41c4dacf Misc warning fixes.
One of the fixes in 
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp (for an uninitialized 
variable) looks like it could actually have real-world effects; someone 
familiar with the code should check that the fix is correct.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3669 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 23:53:20 +00:00
magumagu9 3034a9fcfc Misc warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3668 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 23:14:06 +00:00
magumagu9 8f4e56c61c Minor cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3619 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-30 05:41:04 +00:00
magumagu9 44f3935de1 Linux build fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3601 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 18:40:10 +00:00
magumagu9 188fa9b2cb JitIL doesn't use JitRegCache; get rid of it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3590 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 01:21:55 +00:00
magumagu9 449f075fd6 Code cleanup: split IR.cpp into its two logical components.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3589 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 01:08:08 +00:00
magumagu9 7f27cfc9d2 Misc warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3583 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 20:53:26 +00:00
magumagu9 1bcef5be76 Misc warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3582 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 20:38:01 +00:00
magumagu9 b33e69b8de Small warning fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3581 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 20:07:38 +00:00
magumagu9 faa63713e2 Remove a bunch of unnecessary "inline" designators. This was actually
breaking the build on my system; I'm surprised nobody else has run into 
this issue.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3579 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 19:51:48 +00:00
magumagu9 a32e29aaa5 Attempt at fixing Linux build. The OpenGL configuration dialog is
broken, though, so I'm not sure if this is quite right.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2378 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 22:04:31 +00:00
magumagu9 cefa910d92 Linux build fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2315 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-20 03:49:57 +00:00
magumagu9 9ed368b35a JitIL: a couple small optimizations.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2286 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-17 10:39:50 +00:00
magumagu9 1e150bccdf Build fix for r2283.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2285 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-17 02:42:21 +00:00
magumagu9 82a10c9692 Fix jpeterson breakage.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2276 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-16 09:26:47 +00:00
magumagu9 94ee9afdb2 JitIL: A bit more constant folding, and a bit of cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2235 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-14 01:00:37 +00:00
magumagu9 39b7fe10f7 JitIL: make psq_lu work correctly. Fixes, among other things,
the graphics in Metroid Prime.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2234 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-14 00:58:18 +00:00
magumagu9 a55e672493 JitIL: a few more functions. Partially addresses interpreter hotspots in
Metroid Prime; not really noticably faster, though.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2232 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-13 10:28:28 +00:00
magumagu9 49937a640b JitIL: Make selectively disabling JIT instructions from the debugger
work correctly.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2205 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-10 13:11:32 +00:00
magumagu9 318d1105fb JitIL: Attempt to fix some 64-bit build errors.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2204 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-10 12:44:17 +00:00
magumagu9 cf5fc063ce JitIL: Make LoadCarry work correctly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2202 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-10 12:20:30 +00:00
magumagu9 e8925e43fe JitIL: Disable addze implementation for now; I'm not exactly sure what's
wrong with it, but it's causing visible issues.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2171 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09 05:22:44 +00:00
magumagu9 f4025a8caa Enable block linking for JitIL; I disabled it when I was trying to debug
a crash.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2169 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09 01:37:50 +00:00
magumagu9 5c35e95c8f JitIL: Add JIT for addze, ps_sum0. Also, some cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2168 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09 01:31:38 +00:00
magumagu9 4d3c0b8783 JitIL fix for Animal Crossing: make sure to mark floating-point loads
consistently.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2167 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09 00:41:31 +00:00
magumagu9 622f396d8a Slight correction to r2164.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2165 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-08 23:07:47 +00:00
magumagu9 54798713a0 SCons build fix, part 2.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2138 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-08 07:59:38 +00:00
magumagu9 3148d2eb2d SCons build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2137 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-08 07:55:40 +00:00
magumagu9 90c9810b85 Use glMultiDrawArrays instead of glDrawArrays, which significantly
reduces the number of OpenGL calls for large sets of triangle strips; 
this is something like a 10% perf improvement in the case I'm looking 
at.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2120 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-06 03:41:33 +00:00
magumagu9 73fbfc1d66 JitIL: Disable a couple debugging printfs, and some misc cleanup. No
functionality change.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2107 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-04 12:39:55 +00:00
magumagu9 a883726233 A few small JitIL changes that I've had sitting in my tree for a while;
nothing really significant to note.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2106 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-04 09:05:34 +00:00
magumagu9 4307803090 A bit more _MSC_VER cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2100 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-04 01:55:24 +00:00
magumagu9 d8f4785772 Progress on Wii games on Linux! Instead of hanging, it now gets far
enough to render a black frame before it crashes. I don't have time 
right now to track down the crash, but I figure this is at least an 
improvement.  Note that "#pragma pack" is an msvc extension, but gcc 
supports it.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2092 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-03 21:27:12 +00:00
magumagu9 57c5f00337 Sleep for 1ms instead of zero time; the busy-sleep loop pollutes
profiles.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1983 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-22 20:05:59 +00:00
magumagu9 ee2bf31e56 Misc accumulated Jit64IL work; I don't recall whether any of these
changes individually led to perf improvements, although overall it's 
spending a lot less time in interpreter fallbacks.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1904 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-17 22:22:54 +00:00
magumagu9 7d3dbde234 Don't skip the bottom half of the texture; fixes the text in
Gamecube Tales of Symphonia with safe textures on.  I haven't looked too 
carefully at exactly which textures are affected, though.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1900 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-17 20:46:18 +00:00
magumagu9 fb51d14491 A couple more compile fixes to account for the fact that the commit of
r1887 is *still* imcomplete.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1899 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-17 20:36:23 +00:00
magumagu9 0099b5c957 Misc Linux build fixes in the wake of r1887; still doesn't work right
because Source/Plugins/Plugin_DSP_HLE/Src/Debugger/Logging.cpp appears 
to be missing, and I haven't looked at the fallout of r1884 yet.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1897 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-17 19:59:20 +00:00
magumagu9 9df221dd73 A few tweaks to fix issues I've been having with Tales of Symphonia in
safe texture mode. One, don't hash the palette when it doesn't matter;
including it completely kills performance in the map mode, and I'm 
pretty sure it's because the palette points to essentially random 
memory.  Two, include the address in the hash seed; this helps with an 
issue related to the EFB and the main menu.  Hopefully, these changes 
together don't cause any regressions.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1878 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-15 17:23:05 +00:00
magumagu9 4a325d466d Attempt to refix the issue solved by r1872 without the performance
impact on the safe texture cache.  This is kind of messy, but it seems 
to work.

(I have a feeling there's something strange going on, but I'm not sure 
how to go about investigating it.)



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1873 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-15 05:24:47 +00:00
magumagu9 27fb636451 Flip the hashtable accesses back to always indexing based on the
address; there's no particular benefit to indexing based on the hash, 
and doing so breaks copy EFB to texture mode.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1872 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-15 03:28:57 +00:00
magumagu9 b5367bea46 Unconditionally activate SSE code for texture conversion; this should
only affect 32-bit non-Windows platforms, and I've tested 32-bit Linux, 
so I think it's pretty safe.  It's a slight performance improvement when 
it kicks in.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1865 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-14 07:31:24 +00:00
magumagu9 018cb993e3 A tiny bit more JIT WIP work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1847 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-11 01:26:58 +00:00
magumagu9 4acda0096b A bit more progress on JIT WIP.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1846 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-11 00:26:41 +00:00
magumagu9 e4f8419be4 A little bit more WIP JIT work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1809 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-06 08:39:32 +00:00
magumagu9 ce2b4bead9 And a bit more WIP JIT work, mostly floating-point improvements. It
should be getting to the point where the performance is reasonably
comparable to the current JIT on most workloads. I'm not sure of the 
exact comparisons because I haven't done much in terms of checking the 
performance versus the current JIT on floating-point heavy stuff. The 
floating point stuff is still relatively unoptimized, and there are still a
few relatively common functions that aren't being compiled yet, but the most 
critical work is done.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1807 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-06 07:35:06 +00:00
magumagu9 fdd06da500 Small JIT WIP fix: I figured out how subfic and subfcx work. It was a
bit surprising to me that the carry flag works differently between PPC 
and x86...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1789 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-05 04:18:10 +00:00
magumagu9 96bab6bdd8 Small WIP JIT improvement: implement stfs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1782 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-05 00:32:51 +00:00
magumagu9 6ad44fd470 A bunch more WIP JIT work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1779 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-04 23:08:39 +00:00
magumagu9 4eed9912ad Some minor tweaks for WIP JIT.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1761 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-04 09:14:02 +00:00
magumagu9 94a51a7817 Allow testing WIP JIT by using "scons jittest=1". Done by the request
of nakeee.  Hopefully this works the way I think it does.

And of course, use at your own risk...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1760 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-04 09:12:12 +00:00
magumagu9 412626c327 Add CVTPS2DQ implementation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1759 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-04 08:29:47 +00:00
magumagu9 b4d78829c3 A bit more WIP JIT work; primary change is psq_st implementation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1758 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-04 08:28:45 +00:00
magumagu9 29a033e1dd A bit more progress on my JIT WIP: biggest changes are some substantial
work on floating-point.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1743 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-03 07:51:27 +00:00
magumagu9 dbd9d5fb2d Fix assembly of 16-bit immediates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1732 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-02 04:34:23 +00:00
magumagu9 4286b210a5 A couple of fixes for the current JIT.
One is generalizing the stwux implementation to all of stXx; not a
particularly significant improvement, but I had it in my tree, and it
makes my WIP JIT a drop-in replacement for the current JIT. (Not that
you'd really want to at the moment... The WIP JIT still has at
least one significant bug I haven't tracked down, and it's a lot slower
for anything using a significant amount of floating-point, which is 
basically anything except FMVs.  That said, it should basically work as
long as you're making a 32-bit build.)

The other fix is a minor (but probably visible) performance improvement 
for 64-bit Linux: fixing the store JIT to work properly.  I proposed 
the patch a couple days ago, but apparently nobody tested it... this 
way, I can force everyone on 64-bit Linux to test it :)  Please add the
"NOTE: stb and stbu are broken under 64bit Linux" bit back in if this
breaks anything.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1730 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-01 13:23:08 +00:00
magumagu9 0367e7ee4d And a bit more JIT WIP work: improved code generation for integer
load/store, and outlining the start of FP support.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1729 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-01 12:50:23 +00:00
magumagu9 f419223908 More JIT WIP work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1727 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-31 21:06:00 +00:00
magumagu9 2e58a5bef0 Slightly shorter version of 16-bit BSWAP.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1726 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-31 20:46:55 +00:00
magumagu9 05df5c8f3f Minor fix to rotation helpers so they don't do undefined shifts.
Probably not a big deal realistically, but better to be safe than sorry.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1725 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-31 20:42:23 +00:00
magumagu9 68c451f008 Some WIP work on the JIT... only marginally usable at the moment, but I
wanted to back this up somewhere, and the people familiar with the JIT 
might have comments.  There's a big comment in Jit64IL/IR.cpp with a 
high-level overview of what this is.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1724 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-31 01:39:35 +00:00
magumagu9 e8949267f0 I think I figured out why stb and stbu JIT is broken on Linux 64-bit. I
don't want to actually attempt to fix it because I can't really test...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1720 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-30 03:45:16 +00:00
magumagu9 5f1f968e21 This is an ugly hack, but increase the size of the buffer... I managed
to overflow it while experimenting with the JIT.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1709 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-29 02:02:35 +00:00
magumagu9 3669d711a2 Finish generalizing Safe/UnsafeWriteRegToReg, including warning about
unsafe uses.

I was going to use this for stbx, but it appears that JIT'ing it is 
actually visibly slower (!).



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1676 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 10:04:42 +00:00
magumagu9 3a51b3c6e3 Generalize SafeWriteRegToReg. The non-32-bit forms aren't yet used,
but could be nice to have.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1673 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 08:56:17 +00:00
magumagu9 32402b465d JIT implementations of lwzux and stwux. Unfortunately, not really a
visible performance increase.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1672 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 08:53:40 +00:00
magumagu9 ce01268885 Use ABI_CallFunction instead of CALL where appropriate. Hopefully, this
will help with the reported crash problems on OSX. I can't really test 
properly, though, since I'm on Linux; please give me feedback on 
whether this helps.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1664 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 22:18:39 +00:00
magumagu9 be4c7e1399 Add a helper to make zero-argument calls from an aligned stack
correctly.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1663 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 22:10:36 +00:00
magumagu9 b92c831857 Reverting r1650. I don't think this change is the right approach: it
actually ends up *misaligning* the stack for the normal ABI_CallFunctionC
and friends.  I'll try to help come up with the correct fix; look for
another commit in a bit.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1662 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 22:05:22 +00:00
magumagu9 520f7d16e1 I didn't mean to commit this change :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1656 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 10:55:02 +00:00
magumagu9 61c45b78ef Compile fix for #ifdef OPROFILE_REPORT code; I think I'm the only person
using this at the moment, but it's nice to have it working in case someone 
else wants to try it.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1655 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 10:54:03 +00:00