Taking a random guess at what could possibly fix issue 3256…
– 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.
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.
r6731 x86 – скачать, зеркало
r6731 x64 – скачать, зеркало
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.
Warning fix for gcc ;)
Fix for bit reduction regression in GX_TF_RGB565 textures from previous commit.
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.
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.
r6728 x86 – скачать, зеркало
r6728 x64 – скачать, зеркало
ISFS_Seek: Turns out POSIX allows seek past EOF, the Wii does not.
Should fix Issue 3761 (really!), please test this.
Fix an issue on windows where found wiimotes were not being reported as found. This fixes issue 3832.
Cast size_t to unsigned long for printing.
Audio volume slider support for OS X.
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.
Handle FileIO Read/Write more like real hardware.
Fixes Issue 3761.
Fixes Issue 1749.
r6723 x86 – скачать, зеркало
r6723 x64 – скачать, зеркало
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.
Patch applied from issue 3829, author firstname.lastname@example.org.
Tweaked SetMultiVSConstant functions to prefer glProgramEnvParameters4fvEXT over glProgramEnvParameter4fvARB with fall-back for older harder.
Avoid shadowing variables.
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.
r6714 x86 – скачать, зеркало
r6714 x64 – скачать, зеркало
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.
OGL: Clean up ClearScreen
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.
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.
r6710 x86 – скачать, зеркало
r6710 x64 – скачать, зеркало
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. :)
Initialize bluetooth input queue when creating wiimote object.
clamp OGL depth clear value, this might fix a problem some people reported with r6678
This may fix the extension issue on windows. Please test. Thanks BhaaL.
This should fix wiimote extensions on linux. Now to figure out the windows issue, and then OSX … Sigh!
r6706 x86 – скачать, зеркало
r6706 x64 – скачать, зеркало
Removed left-overs from wiiuse, should fix the problems when building on windows.
fixed crash when compressing 4+gb isos on some builds
Dolphin SVN r6699
~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.
Dolphin SVN r6698
~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.
r6701 x86 – скачать, зеркало
r6701 x64 – скачать, зеркало
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.
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.
Fix issue with LinearDiskCache where only new files could be written to, Append() would fail on previously existing cache files.
r6692 x86 – скачать, зеркало
r6692 x64 – скачать, зеркало
Upgrade GLEW to version 1.5.7:
Improved mingw32 build support
Improved cygwin build support
Fixes issue 3798.
* Optimised out the R11 ImmPtr instructions
* Made the whitespacing a little more consistent
* Disabled block linking while it is being reworked
r6689 x86 – скачать, зеркало
r6689 x64 – скачать, зеркало
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
Linux build fix.
Add ciso support.
Thanks to dolphin.user839 for the patch ;)
Fixes issue 2708.
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.
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)
r6687 x86 – скачать, зеркало
r6687 x64 – скачать, зеркало