Commit graph

15956 commits

Author SHA1 Message Date
degasus
dddcea5a9a TexCache: don't invalidate efb copys because of config changes
We'll loose data on invalidating them. So just keep them until a new copy is done.
A wrong scaled copy is better than no copy if the game doesn't creates a new one.
2015-01-11 22:23:35 +01:00
Dolphin Bot
90c6ebfd86 Merge pull request #1834 from FioraAeterna/genericinstmerging
JIT: Generic instruction merging
2015-01-11 18:20:48 +01:00
Fiora
e8cfcd3aeb JIT: make instruction merging generic
Now it should be easier to merge more than 2-instruction-long sequences.
Also correct some minor inconsistencies in behavior between instruction
merging cases.
2015-01-11 09:11:18 -08:00
Ryan Houdek
074f246c69 Merge pull request #1868 from rohit-n/sign-compare
Fix -Wsign-compare warnings.
2015-01-11 07:08:55 -06:00
Ryan Houdek
83a415198d Merge pull request #1852 from Sonicadvance1/AArch64_Recompiler_Improvements
Implements a large portion of the recompiler for AArch64
2015-01-11 07:08:16 -06:00
Ryan Houdek
ca3b3adb50 Merge pull request #1849 from Sonicadvance1/AArch64_Emitter_Improvements
[AArch64] Emitter Improvements and additions.
2015-01-11 07:08:02 -06:00
Markus Wick
763f073bf6 Merge pull request #1871 from FioraAeterna/fixlocale
StringUtils: use C locale instead of .1252
2015-01-11 13:30:26 +01:00
Fiora
5b825e9091 StringUtils: use C locale instead of .1252
Fixes regression on Linux.
2015-01-11 00:15:57 -08:00
Rohit Nirmal
577af09d1b Fix -Wsign-compare warnings. 2015-01-11 01:38:06 -06:00
Pierre Bourdon
394257f33b Merge pull request #1798 from FioraAeterna/overclock
Support overclocking and underclocking the Gamecube CPU
2015-01-11 06:12:27 +01:00
skidau
a36fe1dd1d Merge pull request #1850 from adamdmoss/vidmodep
Video: Distinguish between interlace and non-interlace X11 XRANDR modes
2015-01-11 13:43:02 +11:00
Dolphin Bot
33047c9536 Merge pull request #1830 from FioraAeterna/gqropts
JIT: optimize for the common case of unquantized psq_l/st
2015-01-11 02:01:45 +01:00
Markus Wick
6c46f27709 Merge pull request #1501 from degasus/texture_creation
D3D: remove load texture on creation optimization
2015-01-11 01:01:18 +01:00
Markus Wick
5dd93fd62b Merge pull request #1866 from mimimi085181/master
Fix a small efb2ram bug
2015-01-10 23:53:26 +01:00
Fiora
8237004448 JIT: optimize for the common case of unquantized psq_l/st
Optimistically assume used GQRs are 0 in blocks that only use one GQR, and
bail at the start of the block and recompile if that assumption fails.

Many games use almost entirely unquantized stores (e.g. Rebel Strike, Sonic
Colors), so this will likely be a big performance improvement across the board
for games with heavy use of paired singles.
2015-01-10 14:14:43 -08:00
Fiora
c2c950108d Support overclocking and underclocking the Gamecube CPU
Won't work with all games, but provides a nice way to spend extra CPU to make
a variable framerate game faster (e.g. Spyro or The Last Story), or to make
a game use less CPU at the cost of a lower framerate (e.g. Rogue Leader).
2015-01-10 10:46:38 -08:00
mimimi085181
56e93f8fdd Update size_in_bytes of texture cache entries when copying efb to ram 2015-01-10 13:47:52 +01:00
degasus
38f42da55a TexCache: remove expanded_width
This variable isn't use any more.
2015-01-10 12:22:03 +01:00
degasus
614d058db1 TexCache: don't load tex level 0 on creation
This reverts an optimization which isn't worth imo. Every texture uploads have to alloc vram and a staging buffer, so there is no need to do both in the same call.
2015-01-10 12:21:33 +01:00
degasus
8bdbe37c91 TexCache: Wipe pal hash 2015-01-10 11:55:16 +01:00
comex
e32d63c43d Merge pull request #1865 from magumagu/getpointer-break
Add missing "break" in Memory::GetPointer.
2015-01-10 02:46:42 -05:00
Ryan Houdek
3caab54d91 Merge pull request #1864 from rmmh/master
WiimoteReal/Linux: log connect failures at WARNING level
2015-01-10 00:54:26 -06:00
magumagu
5bd3123b2a Add missing "break" in Memory::GetPointer. 2015-01-09 22:47:45 -08:00
Ryan Hitchman
1bd01469c2 WiimoteReal/Linux: log connect failures at WARNING level 2015-01-09 22:45:03 -08:00
Pierre Bourdon
98a189de9a Merge pull request #1862 from rmmh/master
WiimoteReal: improve Linux Bluetooth connectivity.
2015-01-10 07:42:55 +01:00
Ryan Hitchman
09f71b25b4 WiimoteReal: retry failed connections quickly
Retry a failed connection after a short delay -- hardware sometimes needs some
time to settle, or other Bluetooth programs are attempting to query the
device as well (e.g. blueman-manager).
2015-01-09 22:38:16 -08:00
Ryan Hitchman
c1b391d08b WiimoteReal: fix Linux Bluetooth connectivity on Linux >= 3.5
An uninitialized struct member "l2_bdaddr_type" was making most connect calls
fail with "Invalid argument". The connection could succeed if the unitialized
memory happened to have a zero byte in the appropriate location.
2015-01-09 22:38:11 -08:00
skidau
1e39fd825d Merge pull request #1860 from JosJuice/volumedirectory-regression
Fix 4.0-4901 VolumeDirectory stack overflow
2015-01-10 12:17:15 +11:00
skidau
27300d5d59 Merge pull request #1848 from skidau/si-devices-id
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-10 12:16:36 +11:00
skidau
f7f70f9039 Merge pull request #1847 from adamdmoss/openal-floatfix
OpenAL: Fix volume of sample conversion
2015-01-10 12:16:05 +11:00
skidau
c1962ac9a6 Merge pull request #1842 from magumagu/hle-crash
OSREPORT: Fix out-of-bounds string access.
2015-01-10 12:15:57 +11:00
Ryan Houdek
9cada14ebc Merge pull request #1859 from FioraAeterna/fixinterpreterslw
Interpreter: fix slwx
2015-01-09 18:51:06 -06:00
JosJuice
358183e34a Fix 4.0-4901 VolumeDirectory stack overflow
I actually fixed this once, but then I broke it in a
failed attempt to optimize. VolumeHandler::IsWii calls
CVolumeDirectory::Read(0x18, 4, &MagicWord, false);
2015-01-09 22:50:07 +01:00
Fiora
55b509b739 Interpreter: fix slwx 2015-01-09 11:39:41 -08:00
Markus Wick
cdf15bbe0a Merge pull request #1858 from Armada651/patch-1
FramebufferManager: Remove unnecessary sampler declaration.
2015-01-09 14:56:28 +01:00
Jules Blok
031096c8d4 FramebufferManager: Remove unnecessary sampler declaration.
It's not needed and invalid when declared for the geometry shader.
2015-01-09 14:53:56 +01:00
Ryan Houdek
5a28883f9e [AArch64] Implements 15 floating loadstores. 2015-01-08 19:56:47 -06:00
Ryan Houdek
7370473eb3 [AArch64] Implement 19 floating point instructions 2015-01-08 19:56:47 -06:00
Ryan Houdek
6dff4421d3 [AArch64] Implement 24 paired instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek
602702fdcb [AArch64] Implement three system register instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek
0dd3804cf7 [AArch64] Implement 13 integer instructions. 2015-01-08 19:56:47 -06:00
Ryan Houdek
be0d552d54 [AArch64] Enable the full range of integer loadstores. 2015-01-08 19:56:47 -06:00
Ryan Houdek
b1169a9773 [AArch64] Flush FPRs if they won't be used be used the rest of the block. 2015-01-08 19:56:47 -06:00
Ryan Houdek
3fe0b5b969 [AArch64] Add floating point backpatching support. 2015-01-08 19:56:47 -06:00
Ryan Houdek
f1443bec1e [AArch64] Add a memory dump routine.
Allows me to easily disassemble a block of code from the Nexus 9 by dumping it to logcat.
2015-01-08 19:56:47 -06:00
Ryan Houdek
b3201be95f [AArch64] Add some static_asserts.
Makes sure we have a few PPCState values within range of STRB's range.
2015-01-08 19:56:47 -06:00
Ryan Houdek
74de345b51 [AArch64] Fix loads with update.
Update register wasn't being loaded in to the cache prior pushing the address in to it.
Adds float push and pop routines around the calls that need it as well.
2015-01-08 19:56:47 -06:00
Ryan Houdek
52a532370a [AArch64] Implement FPR Cache. 2015-01-08 19:56:47 -06:00
Ryan Houdek
c511ee763a [AArch64] Add the float emitter. 2015-01-08 19:55:31 -06:00
Ryan Houdek
6bc274a968 Merge pull request #1844 from Tilka/sse_mov
x64Emitter: fix MOVLPD/MOVHPD
2015-01-08 19:04:14 -06:00