Commit Graph

14081 Commits

Author SHA1 Message Date
Tillmann Karras f98359ef5c MemoryUtil: add comment for Valgrind
Valgrind doesn't support the mmap() flag MAP_32BIT. Adding a simple
CMake option would force a recompile, so just add this comment.
2015-01-12 02:22:05 +01:00
skidau 7105e5a8f0 Merge pull request #1863 from magumagu/dma-efb
Allow locked L1 DMA to write to the EFB
2015-01-12 12:03:46 +11:00
Ryan Houdek 5c1caded4d Merge pull request #1875 from sahchandler/master
Reduce number of allocations in CFileSystemGCWii::BuildFilenames
2015-01-11 18:06:36 -06:00
Tres Walsh e3e290123b Fix compiler error for win64 (SFileInfo doesn't get used much so a copy won't kill us) 2015-01-11 15:59:50 -08:00
Tres Walsh 8ee601d32b Fix variable name ambiguity 2015-01-11 13:54:20 -08:00
Tres Walsh 9e541f6d2d Reduce number of allocations in CFileSystemGCWii::BuildFilenames
Modify SFileInfo to use a default move constructor, and no copy constructor.
Modify SFileInfo to use member initializers.
2015-01-11 13:42:50 -08:00
Fiora d5e342f229 JIT: fix regression in non-fastmem for psq_st 2015-01-11 11:20:58 -08: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
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
magumagu 9b0bf34d00 Allow locked L1 DMA to write to the EFB.
I wouldn't have guessed that anyone would do this, but apparently people
who write video codecs love doing weird stuff with the locked L1 cache.
2015-01-10 15:08:21 -08: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
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
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
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