Commit Graph

5966 Commits

Author SHA1 Message Date
Soren Jorvang 95b6d3f445 Kill HAVE_OPENCL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6756 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06 01:11:32 +00:00
james.jdunne 5ca3adde3c Enabled SSE2 optimization of GX_TF_CMPR decoder only for x86 builds. It can't compete with the x64 optimized reference C code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6755 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06 00:32:52 +00:00
Rodolfo Osvaldo Bogado 809670611b improve z copy a little further in 4 bits copy,
fix and error introduced by my last commit in dx11 plugin

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6754 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 20:50:51 +00:00
Glenn Rice 7219d185d9 Add some more translatable strings. Thanks to DavidVag.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6753 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 17:56:08 +00:00
Rodolfo Osvaldo Bogado 0a36663b01 corrected a little error in my last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6752 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 17:22:25 +00:00
Rodolfo Osvaldo Bogado d435fd8957 corrected depth copy shader in dx9/dx11 to improve accuracy when doing efb to texture for depth formats
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6751 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 17:16:52 +00:00
Glenn Rice 4425140424 Oops, forgot to remove that line.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6750 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 16:37:42 +00:00
Glenn Rice 9c2c083f30 Install .mo files on osx as well.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6749 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 16:33:44 +00:00
Glenn Rice 8e3af9c2a6 Disable the Languages target on windows 32 bit builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6748 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 14:31:50 +00:00
Glenn Rice 4f6d4f5ddd Add internationalization support. There aren't really any translations yet other than a little French thanks to DavidVag. So now the translators need to go to work. See http://wiki.wxwidgets.org/Internationalization for directions. The binary .mo files are generated at build time on linux. They are provided in Data/Languages for windows. I don't know where they need to go on OSX, but they should be able to be generated there at least. I added a target to generate them on windows, but does not build by default as it requires that msgfmt.exe from the gnu gettext tools be installed and in the path.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6747 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 04:35:46 +00:00
james.jdunne 0b46610d49 Changed order of operations in Profiler.cpp to calculate non-zero values for 'cost'. Integer division was too early. Credit to my brother, Joe, for figuring this one out.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6746 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 03:29:56 +00:00
james.jdunne 8f9f1b64ff Fixed Linux build.
Fixed small undiscovered bug in WII_IPC_HLE_Device_FileIO.cpp when looking at 0-length strings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6745 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 03:19:53 +00:00
james.jdunne 6eff71b893 Fixed S3TC DXT1 decoder implementation. I see ~40% speed improvements running on x86 Intel hardware and 0% improvements running on x64 AMD hardware. Strange. More investigation to follow!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6744 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 02:48:32 +00:00
Soren Jorvang 012939d127 After removing the input queueing in IOdarwin.mm I was still seeing
the occasional HLE wiimote disconnection, although nowhere it was at     
near the level before both the recent wiiuse integration and adding 
the queue in the first place.

The callback-based bluetooth input method on OS X really requires     
that packets be accepted immediately and the 1ms polling done by the 
wiimote worker threads isn't quite good enough.

So just play along with the native OS X model and send the packet up
our stack directly from the callback. With our current API, this is  
kind of a layering violation, but it seems less messy than either
putting back internal queueing in IOdarwin.mm or adding the platform
support for higher-frequency polling than what usleep(3) offers.

Perhaps we should just change our own API to a callback model. While
this makes no real difference right now, it would make it a fair bit
cleaner to accept new wiimotes at any time instead of having to click
Refresh, although with the recent realmote changes, that feature can
probably just be hacked in by looping around FindWiimotes().
 
For other platforms having problems with HLE disconnections caused by
dropped bluetooth packets, as a first stop I would suggest trying to    
do more than just one wiimote->Read() per iteration in the thread.
 
This change also conveniently sidesteps another new IOdarwin.mm bug 
where the discovery and I/O code would clash during a refresh because     
they use the same default CFRunLoop, so if we switch back to using a
run loop for I/O, must remember to create a separate one.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6743 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 01:45:36 +00:00
gnick79 1fbf53cbdf * By forcing resolution size to back-buffer size when the latter one is changed!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6742 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 01:29:38 +00:00
james.jdunne dd7d325453 Temporarily reverting to unoptimized until I can figure this out. Apologies for the SNAFU :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6741 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 22:30:58 +00:00
james.jdunne 99b4f4703d ~40% speed improvement for decoding GX_TF_CMPR (S3TC) textures using SSE2 intrinsics.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6740 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 19:54:30 +00:00
Marko Pusljar 77346cc254 small fix for lle-int
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6739 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 14:49:54 +00:00
Soren Jorvang 293b5cb4c1 Look for the DSP ROM files in Sys/GC as before before trying User/GC
to allow both system-side (also Windows) and per-user installations.

The IPL ROM is another candidate for this, but I don't have an
image to test with.

Perhaps a more general solution would be to just phase out the Sys
directory. As used for data which would have been available in ROM
or flash on the real hardware, it really contains two classes of
files that are both read-only during emulation:

- Settings and font files, which can be freely distributed
- ROM files which must be obtained from the user's own GC or Wii

Since the two could be freely put together on Windows without any
problems and with the users of that platform being resistant to
change, it may be easiest to just treat Sys as another directory
to be copied from the application bundle into User/Sys at startup
on non-Windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6738 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 13:59:44 +00:00
NeoBrainX 599020ef99 D3D9: Fall back to just creating a depth surface instead of a depth texture if the latter one isn't supported by the hardware.
This is a workaround for issue 3256.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6737 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 12:56:52 +00:00
Soren Jorvang efe555fc16 Some minor tidying of the OS X audio and wiimote code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6736 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 02:09:29 +00:00
Soren Jorvang 58f5140233 Retire the workaround for wxWidgets using the Objective-C reserved
keyword "id" in the public auibar.h header.

You now need at least r66546 of wxWidgets to build on OS X.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6735 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 02:07:17 +00:00
Soren Jorvang daecceb42d Move the expected location of the DSP ROM files from Sys/GC to User/GC.
These files are acquired from the hardware ROM by the individual user,
who does not normally have write access to Sys on Linux and OS X.

If you currently have these files in Sys/GC, just move them to User/GC
(~/Library/Application\ Support/Dolphin/GC on OS X).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6734 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 02:04:52 +00:00
NeoBrainX 825ceca9f1 Taking a random guess at what could possibly fix issue 3256...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6731 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 18:00:15 +00:00
NeoBrainX 5cad834c96 D3D9:
- Assign width and height to the actual powers of two rather than to the exponents...
- Clean up FramebufferManager()
- Make use of more depth buffer formats to prevent some devices from failing to create a depth buffer

Should fix issue 3256.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6730 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 14:35:07 +00:00
skidau ae71e63872 LLE JIT: Minimised exception checking. Instructions which need to check for exceptions are now marked in the analyser. Moved the checking for external interrupts to the point where the CPU writes to the control register.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6729 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 14:19:11 +00:00
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
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
NeoBrainX 6cc1468292 Fix ClearScreen in OpenGL as well (uses clear quads instead of glClear now).
Thanks to kiesel and sl1nk3 for helping me out here ;)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6678 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 16:16:27 +00:00
NeoBrainX 7de6773483 Invalidate texture cache when the STC or native mipmaps options are changed.
Fixes minor graphical glitches in these cases.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6677 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 12:46:00 +00:00
NeoBrainX 9bf2705c2d Small fix in addition to r6669.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6676 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 01:10:40 +00:00
skidau 9cc19447a9 LLE JIT: Completed the remaining JIT DSP instructions (lrrn, srrn, ilrrn).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6675 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 00:42:00 +00:00
skidau 677fd7c052 LLE JIT: Completed the JIT versions of the DSP Branch instructions (added ifcc, ret, rti and halt).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6674 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 23:23:53 +00:00
Shawn Hoffman 9553aa0100 linux buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6673 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 22:51:20 +00:00
Shawn Hoffman 722b7db8f9 more WIP BBA crap...nothing nice to see.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6672 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 22:30:24 +00:00
Soren Jorvang 33506f5bdc All 64-bit capable Macs have the SSSE3 extension.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6671 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 22:17:19 +00:00
Shawn Hoffman b21c361a1a Make ARAM DMAs take time. Allows WWE Day of Reckoning 1 & 2 to go ingame...then they crash. Not entirely sure if the crash is related.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6670 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 22:14:33 +00:00
NeoBrainX a271bb8182 Implement pixel data reinterpretation on EFB format change.
Whatever that means, it fixes that stupid Super Mario Sunshine glitch and possibly lots of other stuff, so test as many glitchy games as possible with this ;)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6669 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 21:56:20 +00:00
NeoBrainX 6e8df50fff Yet another ClearScreen fix, should be the last one now.
Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff.
The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6668 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 18:09:03 +00:00
pierre c33f46406e Core/DSPCore: Improve Interpreter address register add/sub, convert to
assembler for JIT. Replace JIT ToMask() with a different variant. Remove
 superfluous zeroWriteBackLog calls(added by me).
Core/Common: Don't bother creating a string and calling into a Logs trigger()
 when there is noone listening. Change AtomicLoadAcquire for gcc to just
 make the compiler not reorder memory accesses around it instead of doing
 a full memory barrier, per the comment in the win32 variant.
Core/AudioCommon: Fix a use of uninitialized variable inside libalsa.

Microbenchmarking results for ToMask variants:(1 000 000 000 iterations):
             cpu\variant| shifts | bit scan
intel mobile C2D@2.5GHz | 5.5s   | 4.0s
amd athlon64x2@3GHz     | 6.1s   | 6.4s
(including some constant overhead identical to both variants)



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6667 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 15:05:18 +00:00
Rodolfo Osvaldo Bogado 0e737235a8 little fix for my last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6666 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 10:49:14 +00:00
Marcos Vitali d59b1e5e7a Ops! Little fix for my prior commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6665 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 03:46:17 +00:00
Rodolfo Osvaldo Bogado c2283ad6c0 Second Experimental commit:
corrected peek color and peek z to  correctly emulate real hardware formats.
implements native gamma correction.(i don't own any game that uses this functionality so i will appreciate feedback)
i need a lot of feedback in this changes please
enjoy

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6664 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 03:18:01 +00:00
Rodolfo Osvaldo Bogado f3336a84a1 First Experimental Commit:
make some changes to the Clear code. please test a lot , the point of this commit is to determine the correct behavior of the efb clearing so feedback is welcome

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6663 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 03:09:11 +00:00
Marcos Vitali 695010520f More FIFO work, HACK Solution for extreme overflow on breakpoints.
1) What is the FIFO? The fifo is a ring queue for write (CPU) and read (GPU) the graphics commands.
2) What is the Brakpoints? The breakpoint is the FIFO mark to allow parallel work (CPU-GPU) When the GPU reached the breakpoint must stop read immediately until this Breakpoint will be removed for the CPU.
3) What is an overflow? The CPU write all room FIFO possible, and like a ring overwrite commands not processed yet.
4) ¿Why you have an overflow? In theory should not have an overflow never because the fifo has another mark (High Watermark) When the CPU Write reach this mark raise a CP interruption and the FIFO CPU WRITES should stop write until distance between READ POINTER AND WRITE POINTER will be equal to another mark (LO Watemark to prevent and overflow.
5) ¡So if impossible why you have overflows? Simple, the CP interruption is processed later and the Overflow happens. (there is a lot of theories about this)
6) ¿Why is no so simple like when CPU WRITE POINTER is near to the end of the FIFO only process pending graphics command?
Because when this happens sometimes we are in BREAKPOINT and is IMPOSIBLE process the graphics commands.

- This HACK process the pending data when CPU WRITE POINTER is 32 bytes before the end of the fifo, and if there is a Breakpoint force the situation to process the commands and prevent an overflown.
In theory you have not see "FIFO is overflown by GatherPipe nCPU thread is too fast!" anymore. But if you have a hang in game where you had this please read the NOTICE LOG in user\logs, I've added this message "FIFO is almost in overflown, BreakPoint" when the hack is activated. (I will delete this message very soon)

Good Luck!! PD: Shuffle sorry for the large commit description :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6662 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 02:55:35 +00:00
Soren Jorvang 64d43211c9 Use the same code for populating user data directories one by one
on OS X as on other Unices so OS X initial installs aren't so easily
broken by files being created in constructors.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6661 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 00:26:52 +00:00
Jordan Woyak b4e0fe53af Copied some emulated motion plus stuff over from the old wiimote plugin. Not at all functional currently.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6660 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 22:54:02 +00:00
skidau 963ca6f963 LLE JIT: Added the loop instructions to the JIT. Added ASM version of HandleLoop. Both x86 and x64 versions have been added.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6659 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 12:34:38 +00:00
Jordan Woyak 7c5b12c5bc Made the "Download Gecko Codes" button not add already existing codes.(fixes issue 3732) Minor fix to gecko code handling. Added a "Show Shader Errors" setting to video config dialog.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6658 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 06:23:33 +00:00
skidau f2e54074f1 LLE JIT:
* Completed the JIT versions of the DSP Multiplier instructions (5 instructions added).
* Bug fixed the dec and lsr16 instructions.
* Minor code clean-up.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6657 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-26 03:12:29 +00:00
NeoBrainX 9938f806f1 Guess what, more ClearScreen fixes.
Additionally a small cleanup.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6656 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-25 00:25:15 +00:00
Shawn Hoffman 444854601c CMPR texel blocks are 8x8 in hardware, even though the source format says 4x4.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6655 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-24 11:15:51 +00:00
skidau b5d482a0d3 Added support for a wider number of VID/PID reported by Wiimotes. Patch by palsch.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6654 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-24 02:21:09 +00:00