Commit Graph

6847 Commits

Author SHA1 Message Date
skidau a6637c257f LLE JIT: Reworked the block linking code. It now keeps track of what each block is waiting on, minimising the amount of recompiling. Both jumps and calls can now become linked. The code also checks the cycle count before jumping to the linked block.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6728 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 10:39:48 +00:00
NeoBrainX fea85945da Warning fix for gcc ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6727 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 01:59:44 +00:00
james.jdunne b7f7a248c5 Fix for bit reduction regression in GX_TF_RGB565 textures from previous commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6726 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 01:24:35 +00:00
NeoBrainX ecf92f5c3c D3D9: Make sure to use powers of two as render target dimensions if it's needed by the device.
Some other cleanups.

Possibly fixes issue 3256.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6725 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 23:13:29 +00:00
james.jdunne 4b15325acd GX_TF_RGB565 texture decoder optimized with SSE2 producing a ~78% speed increase over reference C implementation.
Fixed crash in debugger when attempting to enable profiler before having run any game.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6724 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 22:53:25 +00:00
j4ck.fr0st 638fa77954 ISFS_Seek: Turns out POSIX allows seek past EOF, the Wii does not.
Should fix Issue 3761 (really!), please test this.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6723 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 12:27:33 +00:00
Glenn Rice 75a8fa7340 Fix an issue on windows where found wiimotes were not being reported as found. This fixes issue 3832.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6722 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 03:43:44 +00:00
Soren Jorvang 079bc67347 Cast size_t to unsigned long for printing.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6721 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 02:50:51 +00:00
Soren Jorvang c729b86c00 Audio volume slider support for OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6720 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 02:49:30 +00:00
pierre 26a3a9400b Core/Core/HW: Give small amounts of time to the dsp whenever the ppc
reads the high bits from the mailbox registers. It is probably waiting for
the dsp to read the data from the cpu-to-dsp mailbox or for the dsp to
write to the dsp-to-cpu mailbox.

This about removes DSP::Read16 from lle profiles where it previously used
up to 2% of all system time. Also speeds up games quiet a bit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6719 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 00:16:13 +00:00
j4ck.fr0st 63115ca2ef Handle FileIO Read/Write more like real hardware.
Fixes Issue 3761.
Fixes Issue 1749.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6718 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 00:01:19 +00:00
Soren Jorvang 4bf07838a8 Use abspath when deleting the old Source..svnrev.h.
Makes no difference for me with SCons 2.0.1,
but maybe it does with other versions.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6717 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 22:47:29 +00:00
Soren Jorvang 8fca9a8e8d Set native eol-style on some recently added files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6716 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 21:09:56 +00:00
Soren Jorvang 6ffdbe8482 Use the public svn_rev_str for the kernel.bin header instead of
the private SVN_REV_STR which relies on finicky build mechanics.

With SCons, kill the old svnrev.h in Source if still present.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6715 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 21:08:30 +00:00
james.jdunne 7703018632 Possibly fixed game crash issues by switching to unaligned SSE2 loads/stores.
Removed unnecessary work being done in the file system when logging is disabled.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6714 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 20:54:15 +00:00
james.jdunne d4ced9e995 Patch applied from issue 3829, author admin@dasmetzelmaennchen.de.
Tweaked SetMultiVSConstant functions to prefer glProgramEnvParameters4fvEXT over glProgramEnvParameter4fvARB with fall-back for older harder.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6713 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 20:36:42 +00:00
Soren Jorvang 527057cb27 Avoid shadowing variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6712 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 20:00:03 +00:00
mylek4 4f2bfd181a Fix for r6707. Looks like I tried to do some invalid 16 bit addressing.
Also a small change to the mixer. This should fix audio throttling in cases where num_samples > RESERVED_SAMPLES. This seems to happen now with zelda ucode games, possibly others. 


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6711 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 19:55:03 +00:00
Soren Jorvang 8b55eff33d With the more aggressive polling by the per-wiimote threads,
additional input queueing in IOdarwin appears to be unnecessary.

IOBluetoothDeviceInquiry does not find already connected devices,
so no need to filter those out.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6710 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 16:46:41 +00:00
NeoBrainX 0732c337c5 OGL: Clean up ClearScreen
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6709 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 16:11:44 +00:00
Soren Jorvang 28ef121a93 Revive io_osx.mm revision history and reapply the changes in r6693.
Avoid sending the Wii OS bluetooth packets with uninitialized data
past the nominal length of the report.

XXX IOWin.cpp still always returns MAX_PAYLOAD because I don't have
a Windows environment to test with.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6708 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 14:57:19 +00:00
mylek4 2f7da5d5d1 LLE JIT:
Applied the logic from r6691 to the LLE dec/add/sub functions so they work without ToMask. This should give a modest speedup for these.

Pierre's AR inc was already perfect and I only adjusted its logic a bit for visual consistency between the interpreter and JIT code.

Also applied Pierre's optimization from the LLE inc to the Int inc.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6707 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 13:19:07 +00:00
james.jdunne 60082853ec GX_TF_I4 texture decoder optimized with SSE2 producing a ~76% speed increase over reference C implementation.
GX_TF_RGBA8 texture decoder optimized with SSE2 producing a ~68% speed increase over reference C implementation.
TABified the entire document per NeoBrainX. :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6706 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 03:52:32 +00:00
Soren Jorvang 99c8ea7abb Initialize bluetooth input queue when creating wiimote object.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6705 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 01:47:33 +00:00
nitsuja- 72738bf2e7 clamp OGL depth clear value, this might fix a problem some people reported with r6678
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6704 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 00:16:02 +00:00
Glenn Rice 71209d99c8 This may fix the extension issue on windows. Please test. Thanks BhaaL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6703 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 15:53:38 +00:00
Glenn Rice 4b3a6a6d47 This should fix wiimote extensions on linux. Now to figure out the windows issue, and then OSX ... Sigh!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6702 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 15:47:42 +00:00
j4ck.fr0st bc78a98cbc Removed left-overs from wiiuse, should fix the problems when building on windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6701 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 12:21:28 +00:00
nitsuja- a55925af79 fixed crash when compressing 4+gb isos on some builds
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6700 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 10:40:49 +00:00
james.jdunne 134fca9b82 ~68% increase in GX_TF_IA8 decoding speed. Not an oft-used texture format. An example use is the Wii cursor in MKWii in the menus.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6699 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 10:20:43 +00:00
james.jdunne 343e3f7c75 ~80% speed improvement in decoding GX_TF_I8 textures. Yes, EIGHTY PERCENT. However, for MKWii movie playback I still can't break the fluffin' 48 FPS boundary on my machine! There's something else at play here because this decoder is ridonkulously fast.
~25% speed improvement in decoding GX_TF_RGB5A3 textures which aren't used very much. I thought it would help for movie playback but I misled myself. Video playback has nothing to do with this texture format.
Next I'll see if I can knock out some of these other texture decoders. Byte swizzling I'm sure can somehow be accomplished using _mm_unpacklo_epi8 trickery, so that'd be another big win I hope.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6698 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 07:23:17 +00:00
donkopunchstania 41c40bcd50 Finish implementing gamma correction in DX9.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6697 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 07:06:53 +00:00
donkopunchstania 8a711eadac Video software:
Changed the EFB color order from RGBA to ABGR to emulate it correctly on little-endian platforms. Added some enumerations to clear up what components are which colors. Fixed the TEV alpha input LUT which would have caused problems if anything was doing alpha comparisons.
Changed box filter for EFB copies from 3x3 to 2x2 because that is probably correct. Also makes the math nicer.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6696 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 06:45:18 +00:00
Glenn Rice bc3b43d1bd Fix core dependencies for all windows builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6695 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 04:52:20 +00:00
Glenn Rice 0249d5fbaa A few details missed in the last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6694 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 03:08:22 +00:00
Glenn Rice 8e184171e7 Remove wiiuse, and use our own code. Works on linux and windows. On OSX it should compile, but I don't know about functionality. Even on linux and windows I can't promise this is bug free (wiiuse certainly wasn't). Please report issues as you find them for all platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6693 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 02:10:07 +00:00
james.jdunne b038df64bf TextureDecoder.cpp: new SSE2 optimized GX_TF_I8 decoder. Probably not ultimately optimal SSE2 code, but provably better (on my machine) than the memset version. Tested with __rdtsc counts in an independent project. I get about 6-7 FPS more on average during the intro movie playback in Mario Kart Wii. Hope this compiles for GCC okay.
TextureDecoder.cpp: merged two functionally identical decode5A3RGBA and decode5A3rgba methods.
OpcodeDecoding.cpp and DLCache.cpp: optimization for GX_LOAD_XF_REG. The PSUHFB solution sounds better for SSSE3, but this is a small win for the default case.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6692 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 19:17:08 +00:00
mylek4 6cf9b3688d LLE Int: (addr add/sub/inc/dec)
Adjusted the code work without ToMask.
This code should be functionally identical for all inputs to the previous code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6691 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 15:36:28 +00:00
Jordan Woyak 2c4f9825ca Fix issue with LinearDiskCache where only new files could be written to, Append() would fail on previously existing cache files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6690 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 07:32:16 +00:00
Soren Jorvang 613b0f4c51 Upgrade GLEW to version 1.5.7:
New extension:
	GL_NVX_gpu_memory_info
Bug fixes:
	Improved mingw32 build support
	Improved cygwin build support
	glGetPointervEXT fix
	Add GLEW_VERSION_1_2_1

Fixes issue 3798.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6689 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 02:43:50 +00:00
skidau 469e81e2fd LLE JIT:
* Optimised out the R11 ImmPtr instructions
* Made the whitespacing a little more consistent
* Disabled block linking while it is being reworked

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6688 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-30 00:10:18 +00:00
pierre 98752f2a1e Core/DSPCore: Changed g_dsp._r back to g_dsp.r. Removed the check*Exclude
functions accidentally added. Fixed the jitted ar register arithmetic.
Added a CMakeList.txt for the UnitTests, but did not add the subdirectory
to Source/CMakeLists.txt.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6687 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 20:20:52 +00:00
Glenn Rice 765fb4bbe3 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6686 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 15:23:02 +00:00
NeoBrainX 642c7a437c Add ciso support.
Thanks to dolphin.user839 for the patch ;)
Fixes issue 2708.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6685 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 14:42:20 +00:00
NeoBrainX 07d947c834 DX9/DX11: Fixing some maybe possible crashes if a game was started, the config dialog opened and the game closed again. Due to other issues this still happens quite often though...
Various warning fixes.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6684 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 13:07:00 +00:00
j4ck.fr0st 603c99f64f Compile fix for Unittests.
A lot of tests are failing right now, not sure yet if this is caused by the recent reg changes or other stuff (at least broken according to tests: iar, subarn, addarn, 'ir, 'nr, 'l, 's, 'sn, 'ln, 'lsn, 'lsm, 'lsnm, 'sl etc - err, most/all that use increase/decrease)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6683 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 13:05:42 +00:00
Marcos Vitali 24eafcb342 More FIFO work. This is an Experimental commit, Fixed "Monopoly Wii" ("FIFOs linked but out of sync" problem in this game) Re-sync the FIFO again when this is in immediate mode. Copy CP register values to PI register. Now this games is booting and ingame :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6682 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 07:12:37 +00:00
skidau 8ccdba7273 LLE JIT:
* Fixed a bug in the JCC instruction.
* Changed the cycle count from u32 to u16.
* Added cycle counting to the block linker.
* Optimised the branch exit slightly.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6681 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 04:34:33 +00:00
pierre fc1db5eaa0 Core/DSPCore: Reorganize register layout for accessing accumulators
(acc and ax) and product register with one read/write.

Gives a minuscule speedup of not more than 4%. In exchange, breaks all
your out-of-tree changes to dsp. Tests are not building again, yet.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6680 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 02:12:06 +00:00
Jordan Woyak 0059b0f44f Made wiimotes automatically connect on start based on their selected "Input Source" in the wiimote configuration.(fixes issue 2261) Made wiimotes 2-4 input source default to "None".
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6679 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 22:14:15 +00:00