Adam D. Moss
3300c176e4
SDL haptic: minor style change based on review feedback
2015-01-13 16:00:35 +00:00
Markus Wick
0932282caf
Merge pull request #1818 from ZephyrSurfer/master
...
Fix scaling in Virtual XFB.
2015-01-13 07:58:54 +01:00
Stevoisiak
f31b688cf5
More minor consistency changes
2015-01-12 22:28:12 -05:00
Markus Wick
980ce440ef
Merge pull request #1813 from Armada651/convergence
...
Add UI for per-game stereoscopy settings.
2015-01-13 00:25:38 +01:00
Markus Wick
5be85cf928
Merge pull request #1814 from phire/worldspace_untangling
...
Move worldpos into it's own varying.
2015-01-12 22:59:21 +01:00
Markus Wick
197c38e865
Merge pull request #1878 from skidau/fifo-overflow-xfb
...
Made the CPU thread wait for the GPU thread to swap
2015-01-12 22:53:46 +01:00
Stevoisiak
cb86db7b68
Minor consistency changes
...
Mostly small changes, like capitalization and spelling
2015-01-12 15:18:18 -05:00
Shadoxfix
1a2fb8fdec
Allow minimum volume to be set to 0% in the interface.
2015-01-12 20:38:00 +01:00
Matthew Parlane
b3474c8218
Merge pull request #1796 from Stevoisiak/cacheRevisionNote
...
Added CACHE_REVISION warnings
2015-01-13 08:36:50 +13:00
Matthew Parlane
cf8333abd2
Merge pull request #1876 from Parlane/is_dir_fileio_fix
...
Don't open a file handle for a directory in FileIO
2015-01-13 08:29:23 +13:00
skidau
14ced85d85
Made the CPU thread wait for the GPU thread to swap, when XFB is enabled. May fix some of the "FIFO is overflowed by GatherPipe ! CPU thread is too fast!" errors.
2015-01-12 19:40:43 +11:00
magumagu
213eb730d0
For idle loops, don't explicitly call CoreTiming::Advance.
...
This is more consistent with the way Dolphin behaves with idle skipping off.
2015-01-11 20:42:08 -08:00
Tillmann Karras
52b1a54597
MemoryUtil: mention Valgrind in mmap error message
2015-01-12 02:22:05 +01:00
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
Matthew Parlane
729a827372
Don't open a file handle for a directory in FileIO
2015-01-12 13:25:39 +13: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
degasus
22e06daf5c
TexCache: recreate the entry on level missmatch
2015-01-11 23:11:04 +01:00
Tres Walsh
8ee601d32b
Fix variable name ambiguity
2015-01-11 13:54:20 -08:00
degasus
7284312568
OGL: Warn about wrong texture sizes
2015-01-11 22:47:40 +01: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
degasus
a9eb08b85d
TexCache: Choose texture based on mipmap count
2015-01-11 22:41:04 +01:00
degasus
744b1c1624
TexCache: rewrite level calculation
2015-01-11 22:23:35 +01:00
degasus
d95e5e2b6f
TexCache: create a const Config struct
2015-01-11 22:23:35 +01:00
degasus
d640453274
TexCache: cleanup max texture level
2015-01-11 22:23:35 +01:00
degasus
1261f5f7f4
TextureCache: inline arguments into texture cache
2015-01-11 22:23:35 +01:00
degasus
2b47df07b6
TexCache: use c++11 syntax for std::map::erase
2015-01-11 22:23:35 +01:00
degasus
1c98a43203
TexCache: clean up frameCount handling
2015-01-11 22:23:35 +01:00
degasus
6ba613fbd3
TexCache: unify global variables
2015-01-11 22:23:35 +01:00
degasus
774596dbed
TexCache: rename OverlapsMemoryRange
2015-01-11 22:23:35 +01:00
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
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
Adam D. Moss
076c2b8ec7
SDL input: unhardcode a few values.
...
& change effect length to half a second instead of infinite, in futile attempt to avoid runaway rumbles.
2015-01-11 11:57:48 +00:00
Adam D. Moss
63660cb17c
SDL Input: More minor refactoring of SDL haptic effects
2015-01-11 11:42:30 +00: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
Stevoisiak
e871add5f5
Country filter fixes/consistency
2015-01-11 00:39:53 -05:00
Stevoisiak
fe49427688
Additional CACHE_REVISION increment warnings
...
GameFile.cpp warnings for DolphinQt,
ISOFile.cpp warnings for DolphinWX
2015-01-11 00:25:36 -05: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
Ryan Houdek
6bc274a968
Merge pull request #1844 from Tilka/sse_mov
...
x64Emitter: fix MOVLPD/MOVHPD
2015-01-08 19:04:14 -06:00
skidau
530f894d87
Merge pull request #1845 from adamdmoss/lfe1
...
Audio: Fix subwoofer output in software 5.1 decoding
2015-01-09 11:59:29 +11:00
skidau
ac33423db5
Merge pull request #1835 from adamdmoss/master
...
Pulseaudio: Support 5-channel surround, optional in UI
2015-01-09 11:59:02 +11:00
Adam D. Moss
f47cce2210
SDL: Refactor the SDL haptic effects a little.
2015-01-08 15:17:29 +00:00
Karol Herbst
17ad68ff86
SDL: more global memset
2015-01-08 13:37:06 +01:00
Markus Wick
f0f8384639
Merge pull request #1785 from degasus/custom_texture
...
VideoCommon: Custom texture handling
2015-01-08 13:29:45 +01:00
Adam Moss
95c912310d
PulseAudio: Support 5.1 surround, optional in UI
2015-01-08 11:10:34 +00:00
Adam Moss
b1c9f56acd
Audio: Fix warning in DPL2 subwoofer change
2015-01-08 10:48:30 +00:00
skidau
25c6f6e6a1
Merge pull request #1782 from FL-dolphinemu/master
...
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2015-01-08 14:09:18 +11:00
Tillmann Karras
4d1face540
Fix indentation
2015-01-07 21:51:47 +01:00
Adam Moss
917f6683f4
Video: Remove more debug spew in XRANDR mode code
2015-01-07 20:23:09 +00:00
Adam Moss
5fab29df81
Video: Remove debug spew in XRANDR mode code
2015-01-07 20:22:29 +00:00
Adam Moss
ee1941769b
Video: Distinguish between interlace and non-interlace X11 XRANDR modes
2015-01-07 20:20:14 +00:00
Ryan Houdek
5a0133c478
[AArch64] Add a few more VFP register helpers.
...
Renames Is128Bit to IsQuad to line up more with the other helpers.
2015-01-07 13:05:55 -06:00
Ryan Houdek
2b4f1aed40
[AArch64] Minor shifted register adjustment.
...
If we have a shift amount that is the full length of the source register then we have an invalid instruction.
This can happen when dealing with a couple of PowerPC instructions.
This same adjustment is already in the ARMv7 emitter.
2015-01-07 13:03:51 -06:00
Ryan Houdek
0a23ca9461
[AArch64] Add MUL/MNEG instruction aliases to the emitter.
2015-01-07 13:03:01 -06:00
Ryan Houdek
d2eaba5cb7
[AArch64] Minor MOVI2R improvement.
...
Use the ZR for both input arguments in the case the immediate is the maximum immediate value.
This allows it to be aliased to MVN when disassembling.
2015-01-07 13:00:39 -06:00
Ryan Houdek
8dba84dd7c
[AArch64] Fix 8 & 16 bit loadstore indexes.
...
I wasn't bit shifting correctly for 8 and 16bit loadstores.
2015-01-07 12:58:37 -06:00
Ryan Houdek
f4f59ea71e
[AArch64] Fix ADDS/SUBS emitter functions.
...
These weren't emitting the flag bit. So they were regular ADD and SUB emitters.
2015-01-07 12:56:45 -06:00
skidau
99ca789b97
Fixed the GC Steering Wheel and Dance Mat identification.
2015-01-07 23:40:41 +11:00
Adam Moss
2c892c7b68
OpenAL: Fix volume of sample conversion
2015-01-07 12:34:02 +00:00
Adam Moss
7580069dea
Audio: Fuller subwoofer processing for software 5.1 decode
...
Code was only using front-left and front-right to calculate bass, but
HRTF code - which this was once based on - uses all five channels and
this sounds fuller.
2015-01-07 11:58:02 +00:00
Adam Moss
f324f3f68f
Audio: Fix subwoofer output in software 5.1 decoding
...
The FIR filter was only using the first sample of each input packet.
2015-01-07 10:24:25 +00:00
Tillmann Karras
1efa9b8b72
x64Emitter: add MOVLPS/MOVHPS
2015-01-07 11:23:52 +01:00
Tillmann Karras
3daa6ab259
x64Emitter: fix MOVLPD/MOVHPD
...
These instructions were using the wrong prefix which turned
MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them
invalid.
2015-01-07 11:23:52 +01:00
skidau
0d952534c7
Corrects the origin in the case where a GC Controller has been set in the controller properties, but a controller has not been plugged into the adapter.
2015-01-07 17:12:30 +11:00
skidau
ab87309917
Merge pull request #1838 from JosJuice/clearcoverinterrupt-timing
...
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
2015-01-07 12:41:21 +11:00
skidau
c0ff677674
Merge pull request #1763 from skidau/GC-Adapter-error-recovery
...
Added an error recovery mechanism for the GC Adapter.
2015-01-07 12:40:14 +11:00
magumagu
f1420472c8
OSREPORT: Fix out-of-bounds string access.
2015-01-06 17:12:31 -08:00
Dolphin Bot
89b7f1057f
Merge pull request #1804 from FioraAeterna/fastermmu2_master
...
MMU: various improvements, bugfixes, optimizations
2015-01-07 00:49:58 +01:00
Markus Wick
a2ec4d5f51
Merge pull request #1836 from FioraAeterna/catchillegalinst
...
JIT: catch illegal instruction errors
2015-01-06 23:10:46 +01:00
JosJuice
5162ed4d5f
DVDInterface: Use default delay for DVDLowClearCoverInterrupt
...
The old delay was probably a hack to make up for the incorrect
disc speeds. Using it with the new disc speeds made
Resident Evil Archives: Resident Evil Zero freeze when starting.
2015-01-06 21:25:17 +01:00
Markus Wick
f63361ad26
Merge pull request #1810 from Stevoisiak/FreelookDefaultHotkeyFix
...
Changed default freelook hotkey to match description
2015-01-06 20:52:00 +01:00
Markus Wick
f080e0221e
Merge pull request #1758 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-01-06 20:42:50 +01:00
Adam Moss
306c8d14db
SDL Input: Support more types of force feedback for controllers through SDL.
2015-01-06 19:17:43 +00:00
Markus Wick
09a10622dd
Merge pull request #1621 from FioraAeterna/pscleanup
...
JIT: cleanups/optimizations for ps loadstore
2015-01-06 20:12:50 +01:00
Fiora
8f7c799794
JIT: catch illegal instruction errors
...
Still crash, but at least give a message informing the world that it happened.
2015-01-06 11:06:49 -08:00
Markus Wick
25fac0282c
Merge pull request #1764 from Armada651/safe-exclusive
...
D3D: Only try to apply exclusive mode when the renderer is in focus.
2015-01-06 11:00:47 +01:00
Markus Wick
d8d4c94e07
Merge pull request #1819 from Tilka/cmake
...
CMake: simplify some expressions
2015-01-06 09:27:59 +01:00
Fiora
e85f0ff179
MMU: fix problems with blocks that cross vmem page boundaries
...
In rare cases, this can result in a violation of the JIT block cache constraint
that blocks must end in the same place. This can cause instability, lockups,
due to blocks not properly being invalidated properly.
l Please enter the commit message for your changes. Lines starting
2015-01-05 10:46:04 -08:00
Fiora
b058bbd223
JIT: move mfcr code to JitAsmCommon
...
It's like 80+ instructions, so inlining it on every use of mfcr is probably
not the best for the icache.
2015-01-05 10:46:03 -08:00
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
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
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
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
Patrick A. Ferry
069a0864c0
Scale the offset to the IR scale
...
The offset between fbStride and fbWidth will need to be scaled by IR
scale.
2015-01-03 22:05:22 +00:00
degasus
110d494070
VideoCommon: fix deterministic dual core
2015-01-03 21:50:51 +01: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
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
Patrick A. Ferry
eebd7da443
Fix stretching with Virtual XFB in D3D
...
This change matches the behaviour of OpenGL.
This should make Ty the Tasmanian Tiger 3 stretch across the whole
screen. There are other games with this same issue but I have not any.
See issue #6750 for details
2015-01-03 01:28:49 +00: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
Scott Mansell
1b771deb56
Move worldpos into it's own varying.
...
Previously it was packed into spare slots in clippos.xy and normal.w,
but it's ugly and more importantly it's causing bugs.
This was discovered during the debugging of a zfreeze branch, which
expected clippos.xy to be xy position coordinates in clipspace (as
the name suggested).
Turns out the stereoscopy shader had also run into this trap, modifying
clippos.x (introducing errors with per-pixel lighting).
This commit has been moved outside of the zfreeze PR for fast merging.
2015-01-03 09:23:09 +13: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
6855c098f7
ISOProperties: Add stereoscopy per-game settings.
2015-01-02 19:57:32 +01:00
Jules Blok
b816ee1f79
VideoConfig: Define a per-game minimum convergence value instead of a percentage boost.
2015-01-02 17:07:08 +01:00
Jules Blok
26a9afa0e7
Anaglyph: Use matrices instead of vectors.
2015-01-02 14:32:42 +01: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
Fiora
92a0716f65
Memory: forceinline read/write hardware functions, TLB/page functions
...
MSVC wasn't actually inlining these. Should give a nontrivial performance boost
in MMU-heavy games.
2014-12-30 18:04:21 -08:00
Stevoisiak
2e1d8d7ac0
Added identifier for country code 'B'
...
Only used by the American version of Ufouria: The Saga
2014-12-30 19:57:14 -05:00
Markus Wick
f5cddd4020
Merge pull request #1790 from Armada651/master
...
VideoConfig: Don't disable stereoscopy if Real XFB is enabled but not in use.
2014-12-30 12:30:23 +01:00
Markus Wick
dd1e624fff
Merge pull request #1787 from Armada651/fix-3dvision
...
VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision.
2014-12-30 12:30:01 +01:00
skidau
5d55bceeb3
Merge pull request #1773 from FioraAeterna/fixcarryearlyblockend
...
JIT: fix carry optimization on blocks that end early
2014-12-30 11:15:45 +11:00
Jules Blok
0860c02258
VideoConfig: Don't disable stereoscopy if Real XFB is enabled but not in use.
2014-12-29 19:15:31 +01:00
Tillmann Karras
a00ae4ad79
DSPHLE: fix an unimportant memory leak
2014-12-29 18:39:24 +01:00
Jules Blok
b474c4229d
VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision.
2014-12-29 17:05:39 +01:00
Jules Blok
da058b3078
VideoConfig: Fix convergence parameter.
...
Looks like a rebase failed somewhere.
2014-12-29 12:03:59 +01:00
Jules Blok
813b3808a7
VideoConfigDiag: Remove double space.
2014-12-29 11:20:14 +01:00
Jules Blok
29e05c5ff8
Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
...
Shaders may be compiled before the FramebufferManager is initialized.
2014-12-29 11:19:55 +01:00
FL.dolphinemu
5de43536ba
Update pull request 1782. Reordered header and corrected text case.
...
Feedback from Antidote and lioncash.
2014-12-29 11:00:03 +01:00
degasus
c6dd5044d6
VideoCommon: make hash independet from hires textures
2014-12-29 10:24:27 +01:00
degasus
f8184858da
VideoCommon: Merge code to generate texture names on dumping
2014-12-29 10:24:27 +01:00
degasus
51bfc4c52a
VideoCommon: rewrite custom textures
2014-12-29 10:24:21 +01:00
Ryan Houdek
a09d854636
Merge pull request #1760 from rohit-n/shadow
...
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 16:43:08 -06:00
Jules Blok
3ed777b0f9
PixelShaderGen: Don't assign to input variables.
2014-12-28 23:37:05 +01:00
Jules Blok
8676891f77
VertexShaderGen: Don't read from output variables.
2014-12-28 23:28:00 +01:00
Jules Blok
3f763e6999
DriverDetails: Remove Intel Structs bug since it doesn't affect us anymore.
2014-12-28 23:28:00 +01:00
Jules Blok
7eb353b3bd
VideoCommon: Don't pass structs between shaders, use the interface blocks instead.
2014-12-28 23:28:00 +01:00
Jules Blok
2c0bee5da9
DriverDetails: Update Intel bug description.
2014-12-28 23:28:00 +01:00
Markus Wick
c5a0b6bf50
Merge pull request #1432 from randomstuff/linux-perf
...
Add Linux perf JIT support (/tmp/perf-$pid.map)
2014-12-28 23:12:52 +01:00
degasus
1ed41672f5
OGL: disable driver warnings fetch
...
This did give a decent slowdown on some drivers.
2014-12-28 22:31:24 +01:00
Markus Wick
0f87d9b669
Merge pull request #1781 from Armada651/xfb-fixes
...
D3D: Fix Virtual XFB viewport.
2014-12-28 22:22:27 +01:00
Ryan Houdek
15f074dd21
Merge pull request #1766 from Armada651/enable-stereo
...
Enable stereoscopy settings.
2014-12-28 15:14:53 -06:00
FL.dolphinemu
78f8bf7423
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2014-12-28 22:03:21 +01:00
Jules Blok
e1dc033113
Renderer: Cosmetics.
2014-12-28 18:35:23 +01:00
Jules Blok
89de7e0526
Renderer: Invalidate the FramebufferManager if the XFB mode is changed.
...
Fixes incorrect texture sizes after switching XFB modes.
2014-12-28 18:26:25 +01:00
Jules Blok
730a6e5f4b
D3D: Fix Virtual XFB viewport.
...
Looks like I was incorrect about swapping the bottom and top members.
2014-12-28 17:34:19 +01:00
Rohit Nirmal
fd0d19aa82
DSPLLE: Silence -Wshadow warning and conform more to style.
2014-12-28 09:52:31 -06:00
Jules Blok
81d1b7f0c2
XFBEncoder: Cosmetics.
2014-12-28 16:30:48 +01:00
JosJuice
bb93336ecf
DiscIO: Replace "raw" functions with "decrypt" parameters
...
This is intended to make decryption look less implicit in the code.
2014-12-28 10:35:48 +01:00
Fiora
354e255827
JIT: fix carry optimization on blocks that end early
...
I don't know if this shows up currently, but e.g. if you force blocks to be
under a certain length, this problem (a crash) shows up.
2014-12-27 23:20:05 -08:00
Justin Chadwick
51b26f3397
Remove AtBreakpoint() from ReadIdle. Fixes Rogue Squadron 2 without
...
Breaking Gladius
2014-12-27 19:16:50 -05:00
JosJuice
7f04a23e23
Add FileMonitor support for VolumeDirectory
2014-12-27 20:13:31 +01:00
Lioncash
9465a877f8
Merge pull request #1718 from lioncash/wxdoesitagain
...
ControllerConfigDiag: Potentially fix scaling problems on high DPI
2014-12-27 10:10:45 -05:00
Jules Blok
d7037ae492
PixelShaderCache: Don't use GetDimensions() for the sample count.
...
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
2014-12-27 14:45:15 +01:00
JosJuice
72f8f243c7
Never decrypt data when using DI command 0xA8
...
CleanRip relies on this when ripping Wii discs.
2014-12-27 13:49:25 +01:00
Ryan Houdek
1dbd8c0b96
Merge pull request #1745 from degasus/remove_gpu_sync
...
VideoCommon: Make GPU syncing hack optional
2014-12-27 04:26:17 -06:00
Jules Blok
86120bfc97
GeometryShaderManager: Set viewport in SetConstants().
...
Setting it in the callback is too early.
2014-12-26 17:58:59 +01:00
Ryan Houdek
339383b8dd
Merge pull request #1756 from JosJuice/eslaunch-regression
...
Fix 4.0-4724 ES_Launch and System Menu regressions
2014-12-26 08:02:39 -06:00
Pierre Bourdon
b3bae9eef7
Merge pull request #1473 from phire/cleanHLE
...
Clean up debug string functions in OS_HLE.
2014-12-26 13:49:59 +01:00
Markus Wick
7764a5ed9d
Merge pull request #1733 from degasus/glx
...
GLX: try to get an OpenGL 3.3 core context
2014-12-26 13:31:41 +01:00
Markus Wick
a86865d1c4
Merge pull request #1740 from Armada651/stereo-xfb
...
Support stereoscopy with Virtual XFB
2014-12-26 13:25:33 +01:00
Lioncash
f71c4b5768
Merge pull request #1768 from JosJuice/filemonitor-regression
...
Re-add FileMonitor support for Wii discs
2014-12-25 22:02:28 -05:00
Jules Blok
833513f384
XFBEncoder: Sample the first layer of the resolved EFB texture.
...
Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
2014-12-25 12:09:35 +01:00
JosJuice
1618d31523
FileMonitor: Get rid of "GC" from names and comments
2014-12-25 11:12:04 +01:00
JosJuice
8624461315
Re-add FileMonitor support for Wii discs
...
This in done in the same way as GC discs, unlike the previous implementation.
2014-12-25 11:01:18 +01:00
Jules Blok
af8ac328e5
Renderer: Use old method of calculating the source rectangle.
2014-12-25 02:37:22 +01:00
Jules Blok
46bb4fd364
FramebufferManagerBase: Remove obsolete parameters.
2014-12-25 00:58:16 +01:00
Jules Blok
49137c7c2c
FramebufferManager: Return framebuffer target size in GetTargetSize().
2014-12-25 00:57:52 +01:00
Jules Blok
111b04388c
VideoConfigDiag: Don't enable the post-processing config button when there are no options.
...
The handling of the Anaglyph override was incorrect.
2014-12-25 00:14:15 +01:00
Jules Blok
1bbb323e97
D3D: Remove obsolete Real XFB codepath.
2014-12-24 23:55:04 +01:00
Jules Blok
31a55384b3
VideoConfig: Rename "StereoMonoEFBDepth" to "StereoEFBMonoDepth"
...
Makes a little bit more sense.
2014-12-24 23:30:40 +01:00
Jules Blok
1105dd7dcd
VideoConfigDiag: Enable stereoscopy options.
2014-12-24 23:29:42 +01:00
Jules Blok
c424aa1ac6
GeometryShaderManager: Boost convergence value.
...
Most game don't require much granularity regarding the convergence value.
The default convergence was also too low, this commit increases it tenfold.
2014-12-24 23:29:40 +01:00
Jules Blok
70b898e2c6
VideoConfig: Rename Separation to Depth and update descriptions.
...
More accurate since it's not a real IPD and Nvidia also calls it depth.
2014-12-24 23:28:23 +01:00
Augustin Cavalier
d857306190
DolphinQt: remove non-render-to-main and add fullscreen.
2014-12-24 14:28:46 -05:00
Jules Blok
9590ea0cf6
VideoConfig: Turn off stereoscopy when Real XFB is enabled.
2014-12-24 18:45:24 +01:00
Jules Blok
4a86234a79
D3D: Support stereoscopic XFB blit to screen.
2014-12-24 18:45:24 +01:00
Jules Blok
a845aeeb3d
FramebufferManager: Copy all EFB layers to the XFB.
2014-12-24 18:45:19 +01:00
Jules Blok
59bea317d7
GeometryShaderCache: Cosmetics.
2014-12-24 17:22:24 +01:00
Jules Blok
b109b31f61
FramebufferManagerBase: Only allocate one layer for Real XFB.
2014-12-24 17:22:23 +01:00
Jules Blok
a9364cd5db
OGL: Support stereoscopic XFB blit to screen.
2014-12-24 17:22:23 +01:00
Jules Blok
12412ac5b7
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
2014-12-24 17:22:22 +01:00
Markus Wick
5526b39320
Merge pull request #1748 from Armada651/stereo-format
...
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-24 11:02:17 +01:00
JosJuice
329af1aea3
Always read 0x20 bytes of disc ID
2014-12-23 13:25:04 +01:00
Jules Blok
b2efbdaf44
Cosmetics.
2014-12-23 13:16:09 +01:00
Jules Blok
01718eafa6
FramebufferManager: Use a separate layer variable.
2014-12-23 13:16:03 +01:00
JosJuice
61da252858
Mark cover as open when no disc is inserted
2014-12-23 09:43:51 +01:00
skidau
e396286361
Merge pull request #1751 from FenrisulfrX/master
...
AR: Fix Memory Copy Without Pointer Support
2014-12-23 12:39:48 +11:00
degasus
01cd11a835
OGL: fix ssbo based bbox support
2014-12-22 19:10:35 +01:00
JosJuice
14ff0004b5
Check if there is a disc for all disc reads
2014-12-22 16:34:18 +01:00
JosJuice
867bd2eb34
Only use bounds check for DVDLowUnencryptedRead
2014-12-22 15:01:55 +01:00
Pierre Bourdon
c5c10fe48b
Merge pull request #1757 from JosJuice/gc-ipl-regression
...
Fix 4.0-4724 GC IPL regression
2014-12-22 13:03:08 +01:00
JosJuice
c1ad4055a3
Fix 4.0-4724 GC IPL regression
...
Apparently the IPL actually writes to address 0.
2014-12-22 11:38:44 +01:00
Ryan Houdek
5af426df33
Merge pull request #1713 from degasus/vertex-loader
...
virtual vertex loader
2014-12-22 03:02:02 -06:00
FenrisulfrX
e70baf43d4
AR: BugFix to Memory Copy Without Pointer
...
Using ReadUncheked to avoid changing the state of the emulation
2014-12-22 06:22:01 -02:00
skidau
a00aa1a770
Merge pull request #1746 from skidau/dsp-thread-lock
...
Added lock guards around the DSP LLE cycle count updating.
2014-12-22 17:45:06 +11:00
skidau
4ede885702
Added lock guards around the DSP LLE cycle count updating.
...
Changed the isRunning flag to a Common::Flag.
2014-12-22 16:40:01 +11:00
Ryan Houdek
0d744cddf6
Merge pull request #1729 from Sonicadvance1/AArch64_compare_me
...
[AArch64] Add partial support for cmp* instructions.
2014-12-21 20:56:49 -06:00
Ryan Houdek
d35f7231dc
Merge pull request #1727 from Sonicadvance1/AArch64_conditional_continue
...
[AArch64] Adds support for conditional continue.
2014-12-21 20:56:36 -06:00
Ryan Houdek
47b67fe527
Merge pull request #1744 from Buddybenj/google-code
...
Update Outdated Google Code References
2014-12-21 20:55:56 -06:00
Ryan Houdek
02aea1b4c5
[AArch64] Adds support for conditional continue.
...
Requires PR #1723 prior to merging.
2014-12-21 20:48:40 -06:00
Ryan Houdek
1da6995d5b
Merge pull request #1728 from Sonicadvance1/AArch64_BindToRegister
...
[AArch64] Adds support for BindToRegister to the integer instructions.
2014-12-21 20:48:24 -06:00
Ryan Houdek
bd4fa951a9
Merge pull request #1726 from Sonicadvance1/AArch64_flush_if_not_needed
...
[AArch64] Flush registers from register cache if they won't be used again.
2014-12-21 20:46:38 -06:00
Ryan Houdek
4fad742da4
Merge pull request #1723 from Sonicadvance1/AArch64_loadstores
...
[AArch64] Implements loadstores with AArch64
2014-12-21 20:46:23 -06:00
Ryan Houdek
5cf79fd3b1
Merge pull request #1724 from Sonicadvance1/AArch64_dispatcher_optimization
...
[AArch64] Optimization in the dispatcher.
2014-12-21 20:08:40 -06:00
Ryan Houdek
e423939c9f
Merge pull request #1754 from FioraAeterna/mmulogspam
...
Eliminate some spammy log messages in MMU mode
2014-12-21 20:05:07 -06:00
Ryan Houdek
4247506c00
[AArch64] Implements loadstore instructions in the JIT recompiler.
...
These instructions are all implemented with fastmem support.
Currently loads with update are disabled due to an issue that I've yet to figure out.
I'm sure I'll figure that out later.
2014-12-21 19:43:59 -06:00
Ryan Houdek
17a4208fe5
[AArch64] Adds backpatching routines.
...
Currently supports only integer loadstores. Floating point loadstores will come later.
This system is semi based on the ARMv7 backpatching routine, where we need to initialize our backpatch routine sizes prior to actually using them so
we know we won't be overwriting any memory.
2014-12-21 19:40:29 -06:00
Jules Blok
bcfd431e9a
Frame: Fix a crash-on-exit on Mac OS X.
...
A null pointer exception is triggered when Dolphin is quit from the dock.
2014-12-22 02:06:23 +01:00
Fiora
e7a49ae5f3
Eliminate some spammy log messages in MMU mode
...
dcbz: just don't use GetPointer, that can't be right anyways
ppcanalyst: don't print "instruction hex 0" messages in MMU mode, where ISIs
are expected.
2014-12-21 12:41:44 -08:00
Fiora
3b7d7da1ac
JIT: Fix redundant MOVs in x86 trampolines
...
Fixes spammy log messages about redundant MOVs.
2014-12-21 12:06:07 -08:00
FenrisulfrX
46e74782a7
AR: Fix Memory Copy Without Pointer Support
...
Fix a bug when using AR codes with "Memory Copy Without Pointer Support"
code type which would write more data than it should.
2014-12-21 16:45:50 -02:00
Jules Blok
737bc0e7ad
PixelShaderCache: Support stereoscopic EFB format changes.
2014-12-21 15:46:12 +01:00
Jules Blok
ba242d27c8
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-21 15:25:58 +01:00
degasus
1efd00227d
VertexLoader: Skip vertices with position index = -1
2014-12-21 14:29:44 +01:00
degasus
325e8e370e
VertexLoader: Merge dummy functions
2014-12-21 14:13:04 +01:00
degasus
7c486a8c24
VertexLoader: Add a VertexLoader pointer to each function call
2014-12-21 14:13:04 +01:00
degasus
7edf6ec4e4
VertexLoader: Add a test loader which compares two vertex loaders
2014-12-21 14:13:04 +01:00
degasus
809117102e
VideoCommon: split VertexLoaderBase from VertexLoader
2014-12-21 14:12:43 +01:00
degasus
a71c8158d9
VertexLoader: remove inlined getters
...
They just blow up the code.
2014-12-21 13:47:43 +01:00
degasus
6e3b2712d2
VideoCommon: Move NativeVertexFormat cache to VertexLoaderManager
2014-12-21 13:47:43 +01:00
degasus
1281798992
VertexLoaderUid: remove operator<
...
Not needed for unordered map.
2014-12-21 13:47:43 +01:00
degasus
ec28a80e00
VideoLoader: remove VAT_*_FRACBITS
...
They are used to remove the flush amounts, but as we don't
flush anymore on vertex loader changes (only on native
vertex format right now), this optimization is now unneeded.
This will allow us to hard code the frac factors within the
vertex loaders.
2014-12-21 13:47:42 +01:00
degasus
7e12fec7c3
VideoCommon: Make GPU syncing hack optional
...
This hack is there for quite a long time, and lots of games crashes if it's disabled.
But it's still a hack, so it shouldn't be enabled hard coded. This commit create a new
ini option for this hack which is enabled by default.
Maybe some games does still run very fine without this hack.
2014-12-21 11:54:53 +01:00
Ryan Houdek
9b2909357b
Merge pull request #1731 from Sonicadvance1/ARMv7-minor-optimization
...
[ARMv7] Minor integer fastmem optimization.
2014-12-20 23:38:41 -06:00
Ryan Houdek
8ea6c62943
Merge pull request #1705 from Sonicadvance1/AArch64_emitter_fixes
...
[AArch64] Improvements to the AArch64 emitter.
2014-12-20 23:27:59 -06:00
Ryan Houdek
59e1a8a1a0
Merge pull request #1736 from degasus/osd
...
OSD
2014-12-20 23:21:24 -06:00
Benjamin Przybocki
fba3c48ec4
Update Outdated Google Code References
2014-12-20 21:17:51 -06:00
Stevoisiak
6ad5e54970
DolphinWX/Globals: Variable naming consistency
2014-12-20 21:43:11 -05:00
Ryan Houdek
ab2b499fa6
[ARMv7] Minor integer fastmem optimization.
...
This is a one instruction optimization for integer loadstores.
Makes sure to enable nop padding in some cases where a fault can still happen and cause us to overwrite other instructions that aren't meant to be.
2014-12-20 19:41:33 -06:00
Ryan Houdek
c22e750f74
[AArch64] Add partial support for cmp* instructions.
...
This support is as far as ARMv7's support for these instructions.
Requires PR #1728 prior to merging.
2014-12-20 19:41:04 -06:00
Ryan Houdek
6f0fbac68f
[AArch64] Adds support for BindToRegister to the integer instructions.
...
This requires PR #1723 prior to merging.
2014-12-20 19:40:14 -06:00
Ryan Houdek
73542ce93e
[AArch64] Flush registers from register cache if they won't be used again.
...
This requires PR #1705 and #1723 prior to merging.
2014-12-20 19:38:34 -06:00
Ryan Houdek
360cf761d2
[AArch64] Optimization in the dispatcher.
...
Align our dispatcher to a page so we can jump to it with a ADRP+BR pair instead of ADRP+ADD+BR.
Also make sure to save /all/ of our callee saved registers that we are supposed to save.
Requires PR #1705 prior to merging.
2014-12-20 19:37:45 -06:00
Ryan Houdek
13b70c2fbd
[AArch64] Add an exception exit function with the exit location already in PC.
...
This will be used with idle skipping later.
2014-12-20 19:36:48 -06:00
Ryan Houdek
32eb0a9d68
[AArch64] Removes CODE_SIZE variable.
...
This is in a global location now which conflicts with this one.
2014-12-20 19:36:48 -06:00
Ryan Houdek
edfbb6ab9a
[ARM] Adds a ArmCommon folder.
...
Moves the backpatch flags and struct to a common location for ARM.
I'm sure there will be more things that use this common ARM location in the future.
2014-12-20 19:36:48 -06:00
Ryan Houdek
eaf17b7d7b
[AArch64] Register cache improvements.
...
Adds the ability to flush the cache and maintain state.
Adds the BindToRegister ability.
Sorts register usage as callee saved used first, reduces dumping pressure when jumping to external routines/interpreter.
Adds a function to store a register, for use when flushing a register that won't be used during the rest of a block.
2014-12-20 19:36:48 -06:00
Ryan Houdek
d3c2e8fb0a
[AArch64] Improvements to the AArch64 emitter.
...
Fixes issues with negative offsets in loadstore instructions.
Adds ADRP/ADR instructions.
Optimizes MOVI2R function to take advantage of ADRP on pointers, can change a 3 instruction operation down to one.
Adds GPR push/pop operations for ABI related things.
2014-12-20 19:35:52 -06:00