Commit Graph

15914 Commits

Author SHA1 Message Date
Fiora 821db9798c Memmap: clean up function argument names.
To be more consistent overall.
2015-01-05 10:46:02 -08:00
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 519970c003 Added a callback option instead of using a thread to read the GC adapter. 2015-01-05 12:43:26 +11:00
skidau 8e9ff68352 Set the GC pad origin using the real hardware origin instead of the virtual hardware. 2015-01-05 12:27:36 +11:00
skidau cd4e0399ec Added an error recovery mechanism for the GC Adapter. 2015-01-05 12:27:36 +11: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
Jules Blok 399b6248d1 D3D: Further improve exclusive fullscreen state checking. 2015-01-05 00:01:22 +01:00
Stevoisiak 2f47faf016 Changed default freelook hotkey to match description 2015-01-04 17:07:43 -05:00
Pierre Bourdon 1b4b836731 Merge pull request #1743 from Stevoisiak/variableNamingConsistency
Globals.h: Variable naming consistency
2015-01-04 22:45:30 +01:00
Rohit Nirmal bad5aef5df Fix building with PCH disabled. 2015-01-04 10:45:35 -06:00
Jules Blok b7e056c74d Host: Add Host_RendererIsFullscreen(). 2015-01-04 17:09:56 +01:00
Jules Blok 3b9c070ee0 D3D: Only try to apply exclusive mode when the renderer is in focus. 2015-01-04 16:42:16 +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
Fiora 33b03fab81 JIT: cleanups/optimizations for ps loadstore
I'm not quite sure why the float paired stores were written how they were,
but it should be more consistent now.

Also get rid of the use of a psTemp global that wasn't really needed.

Add some comments.
2015-01-03 10:30:13 -08: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
Tillmann Karras 6bcdb10eee CMake: simplify some expressions 2015-01-03 13:17:57 +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