Commit Graph

15844 Commits

Author SHA1 Message Date
Fiora 3d2492627f Fastmem: increase the size of trampoline cache in MMU mode, check space
Fastmem in MMU mode generates way more trampolines than normal, so we need
a bunch more space too, lest we run out of room.
2015-01-05 10:46:01 -08:00
Fiora 1ee83e332e MMU: optimize PTE lookup code
Pull out calculation of PTE1 instead of comparing the separate parts.
2015-01-05 10:46:01 -08:00
Fiora 16e756cb39 MMU: fix TLB behavior on setting C bit
We shouldn't be updating the TLB when setting the C bit.

Bug reported by tueidj.
2015-01-05 10:45:59 -08:00
Fiora 8903df7300 MMU: simplify code to restore original data register after failed load
Instead of passing the value around constantly, just store it in the regcache,
note where it is, and restore it on the exception path.

This saves a whole bunch of pushing and popping and gives a ~5% speed boost
in Rebel Strike. It's a bit ugly, but it simplifies a lot of code and is
faster, too.
2015-01-05 10:45:59 -08:00
Fiora 53b44ccb3a x64ABI: enhance MOVTwo to take an offset
This lets us merge displacements into MOVTwo in trampolines.
2015-01-05 10:45:58 -08:00
Fiora 2a8936312e Fastmem: jump to trampolines instead of calling them
Should be slightly faster, and also lets us skip the nops on the way back.

Remove the trampoline cache, since it isn't really useful anymore with this.
2015-01-05 10:45:54 -08:00
Fiora 9923d705df JIT: simplify and optimize memcheck macros
Instead of jumping over update code and similar, just jump directly to the
handler.

This avoids redundant exception checks in the case where we can't do fastmem
memory operations (e.g. paired loadstore).
2015-01-05 10:34:59 -08:00
Fiora 6dc7cf29f3 JIT: implement crset special case
Rebel Strike seems to use this one.
2015-01-05 10:34:59 -08:00
Fiora 0ff6ad5734 MMU: handle exception checks in fastmem
Inspired by a patch by magumagu.
2015-01-05 10:34:58 -08:00
Fiora 190312e1a6 MMU: enable fastmem stores 2015-01-05 10:34:58 -08:00
Fiora 8e1c92f2e7 MMU: remove goto in MMU fast past check
Split into a separate patch to avoid rebasing conflicts and to split from
functional changes.
2015-01-05 10:34:57 -08:00
Fiora 6f028257d7 MMU: remove code that looks totally wrong
I don't think this affects any games (who puts PTEs in MEM2?) but it didn't
make any sense.
2015-01-05 10:34:57 -08:00
Fiora dde8b24d00 MMU: small simplification of TLB structure
We only need one "recent" per set, not NUM_WAYS recents. Slightly faster.
Breaks savestate compatibility.
2015-01-05 10:34:56 -08:00
Fiora a0e5c76a1f Memmapfunctions: more refactoring and optimizations
Try to clean up some redundant code, simplify a few checks, and simplify
page accesses.
2015-01-05 10:34:56 -08:00
Fiora c2ed29fe0d MemmapFunctions: various MMU optimizations
Small TLB lookup optimizations: this is the hot path for MMU code, so try to
make it better.

Template the TLB lookup functions based on the lookup type (opcode, data,
no exception).

Clean up the Read/Write functions and make them more consistent.

Add an early-exit path for MMU accesses to ReadFromHardware/WriteToHardware.
2015-01-05 10:34:55 -08:00
Fiora ea23ce2726 MMU: fix rollback in DSIs on page-crossing stores
I don't know if this affected anything, but it was subtly wrong.
Also reorganize the loads to match, for consistency.
2015-01-05 10:34:55 -08:00
Markus Wick acb583e607 Merge pull request #1815 from degasus/fix_det_dual_core
VideoCommon: fix deterministic dual core
2015-01-05 11:50:33 +01:00
skidau b65d5d6165 Merge pull request #1821 from Tilka/memleak
SI_GCAdapter: properly clean up libusb
2015-01-05 11:35:51 +11:00
Tillmann Karras fffd890be3 SI_GCAdapter: properly clean up libusb 2015-01-05 01:31:54 +01:00
Pierre Bourdon 1b4b836731 Merge pull request #1743 from Stevoisiak/variableNamingConsistency
Globals.h: Variable naming consistency
2015-01-04 22:45:30 +01:00
skidau 192c69f595 Merge pull request #1802 from Linktothepast/master
Gameini updates.
2015-01-04 20:36:02 +11:00
skidau b06a3fb144 Merge pull request #1809 from magumagu/simplify-isi
JIT: simplify ISI handling.
2015-01-04 20:31:16 +11:00
Pierre Bourdon 4cbb690378 Merge pull request #1827 from FioraAeterna/fixcrdisasm
GekkoDisassembler: fix display of CRs in branch operations
2015-01-04 05:00:31 +01:00
Fiora 8a6ea918b6 GekkoDisassembler: fix display of CRs in branch operations 2015-01-03 19:53:55 -08:00
Pierre Bourdon 03f716e651 Merge pull request #1823 from Tilka/buildbot_try
buildbot-try: allow remotes other than "origin"
2015-01-04 00:01:11 +01:00
Pierre Bourdon 142aa4a7fe Merge pull request #1825 from Stevoisiak/RenameBuildDate
Change Build Date to Apploader Date
2015-01-03 23:10:12 +01:00
Stevoisiak 0b8ab84554 Change Build Date to Apploader Date
Date given by Dolphin did not match up with build dates found from
tcrf.net
2015-01-03 17:05:35 -05:00
degasus 110d494070 VideoCommon: fix deterministic dual core 2015-01-03 21:50:51 +01:00
Lioncash acebd7fe4c Merge pull request #1822 from JosJuice/lionux
Fix "Lionux" typo
2015-01-03 15:12:24 -05:00
Tillmann Karras 8229746695 buildbot-try: allow remotes other than "origin" 2015-01-03 17:07:02 +01:00
JosJuice 2560d89576 Fix "Lionux" typo 2015-01-03 15:42:28 +01:00
Pierre Bourdon c3d52e0476 Merge pull request #1789 from Tilka/memleak
DSPHLE: fix an unimportant memory leak
2015-01-03 01:50:16 +01:00
Pierre Bourdon 799d69c69d Merge pull request #1816 from Armada651/master
OGL: Fix stereoscopy not being applied properly while the game is running.
2015-01-03 01:48:55 +01:00
Jules Blok dddaa11595 OGL: Fix stereoscopy not being applied properly while the game is running. 2015-01-03 01:36:43 +01:00
skidau 3738d27b24 Merge pull request #1776 from JosJuice/cleanrip-wii-discs
Fix CleanRip reading Wii discs
2015-01-03 10:42:51 +11:00
skidau 598dc033f2 Merge pull request #1739 from JosJuice/wii-di-timing
Accurate loading times for Wii games
2015-01-03 10:41:18 +11:00
Dolphin Bot 7dc6484fe7 Merge pull request #1805 from Armada651/dubois
PostProcessing: Use Dubois algorithm for anaglyph shader.
2015-01-02 20:04:04 +01:00
Jules Blok 582a15deb3 PostProcessing: Mark all shaders constant. 2015-01-02 20:03:20 +01:00
Jules Blok 26a9afa0e7 Anaglyph: Use matrices instead of vectors. 2015-01-02 14:32:42 +01:00
Linktothepast 7cf180d6b0 Additional gameini changes.
Remove FastDiscSpeed = 1 from Star Wars: Rogue Leader and efb to ram
from Super Smash
Bros. Brawl, put a note with suggested settings instead.
2015-01-02 12:22:18 +02:00
magumagu 1e370550c4 JIT: simplify ISI handling.
When we try to JIT from a block which doesn't exist, don't JIT any code;
just update the PPC state to indicate an ISI.  This is a little simpler,
and avoids abusing the JIT block cache.
2015-01-01 19:25:48 -08:00
Jules Blok 491de39325 PixelShaderCache: Implement Dubois algorithm in anaglyph shader. 2015-01-02 03:06:11 +01:00
Jules Blok e3969f763e PostProcessing: Use Dubois algorithm for anaglyph shader. 2015-01-02 03:02:28 +01:00
skidau 9c6795c7b7 Merge pull request #1778 from JMC47/ReadIdleFix
Remove AtBreakpoint() from ReadIdle. Fixes Rogue Squadron 2 without breaking Gladius
2015-01-02 12:00:00 +11:00
Markus Wick ec4dfae333 Merge pull request #1747 from Armada651/intel-workaround
OGL: Work around Intel structures bug.
2015-01-01 21:41:09 +01:00
Ryan Houdek 479d1e56c3 Merge pull request #1783 from degasus/disablelogs
OGL: disable driver warnings fetch
2015-01-01 14:12:02 -06:00
Pierre Bourdon 6b88704fd6 Merge pull request #1794 from FioraAeterna/forceinline
Memory: forceinline read/write hardware functions
2015-01-01 20:36:17 +01:00
Linktothepast 4d4b783a1e Gameini updates.
Update/addition of  Madden NFL 06 (gc), Frogger Beyond (gc), DONKEY
KONGA (gc), Madden NFL 2005 (gc), NBA STREET Vol.2 (gc), Spider-Man
(gc), Star Wars: Rogue Leader (gc), NO MORE HEROES (wii), Super Smash
Bros. Brawl (wii), The Simpsons Game (wii), Suzumiya Haruhi no Heiretsu
(wii).

Fixes issues 7978, 7894, 7883.
2015-01-01 19:51:17 +02:00
Pierre Bourdon fe79e44c16 Merge pull request #1799 from BhaaLseN/fix-readme
fix registry paths for portable mode/userdir in Readme.md
2014-12-31 23:06:14 +01:00
BhaaL 94af50d669 fix registry paths for portable mode/userdir in Readme.md
we actually read from HKEY_CURRENT_USER/Software/Dolphin Emulator
2014-12-31 22:19:09 +01:00