Ryan Houdek
859eeb6d5b
[AArch64] Fix fastmem lha/lhax.
...
When the fastmem loadstore would fail, we would disassemble a few instructions to determine if lhbrx or lhz*
This was failing since I was checking the REV16 instruction that appears after the LDRH. Fixed it to make sure it was checking the correct instruction
which is SXTH.
Fixes an issue where homebrew wouldn't load with fastmem enabled.
2015-02-22 22:58:10 -06:00
magumagu
fca5e176b3
Correctly set up MSR and BAT registers for ELF loading.
2015-02-22 20:51:50 -08:00
skidau
593563e16c
Merge pull request #2087 from Armada651/epsilon-3d
...
VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
2015-02-23 13:12:55 +11:00
skidau
f8e51a1a26
Merge pull request #2050 from Tilka/reset_vertex_loader_stats
...
VertexLoaderManager: reset stats properly
2015-02-23 13:10:38 +11:00
skidau
1c2977442f
Merge pull request #1992 from degasus/asyncevents
...
Asyncevents
2015-02-23 13:08:39 +11:00
skidau
57e9d59704
Merge pull request #1978 from lioncash/dspwind
...
DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX
2015-02-23 12:57:27 +11:00
skidau
793abccb5e
Merge pull request #1942 from Buddybenj/No-Intro
...
Replace Country Names With No-Intro Names
2015-02-23 12:56:28 +11:00
skidau
81eb9bdf16
Merge pull request #1629 from kamiyo/FIR-resampler
...
High quality resampler
2015-02-23 12:53:33 +11:00
Lioncash
1a913138d5
Interpreter: Uncomment code related to cmp and cmpl
...
This is actually correct. Also cmpli has this uncommented as well.
2015-02-22 19:07:09 -05:00
magumagu
b5020b1675
Fix crash in Wii games using IPCHLE networking.
...
Address passed from IOS to PowerPC should be in the 0x90000000 range, not
0x10000000.
Issue 8264.
2015-02-22 14:07:05 -08:00
Ryan Houdek
3ab006b8d1
Merge pull request #2099 from Tilka/vtune
...
Fix VTune static library dependencies
2015-02-22 15:19:56 -06:00
magumagu
b9f77a5c0f
Merge pull request #1808 from Stevoisiak/additionalToolTips(Again)
...
Added more settings tooltips
2015-02-22 12:05:34 -08:00
Tillmann Karras
387777ed72
Fix VTune static library dependencies
...
Since libcommon.a is also the last library to be linked, this has the
totally hacky but useful side-effect that it doesn't require people to
modify CMake files for temporarily adding VTune code to other Dolphin
libraries.
2015-02-22 20:49:30 +01:00
Dolphin Bot
03ffab4249
Merge pull request #2098 from Tilka/fix_warning
...
Fix -Wmissing-variable-declarations warning
2015-02-22 20:16:11 +01:00
Tillmann Karras
8d19f62b69
Fix -Wmissing-variable-declarations warning
2015-02-22 20:08:28 +01:00
magumagu
917a900ccb
Refactor gather-pipe address checking.
...
The implementation of IsOptimizableGatherPipeWrite is extremely simple
now, but it will get a bit more complicated with dynamic-bat.
2015-02-22 11:01:42 -08:00
magumagu
18ada7a0f5
Merge pull request #2033 from magumagu/mmio-fix-addresses
...
Fix the addresses of MMIO registers.
2015-02-22 10:58:25 -08:00
Fiora
c54a8c54fb
Merge pull request #1994 from Tilka/vtune
...
JitRegister: fix VTune integration
2015-02-22 07:58:12 -08:00
Lioncash
d48ad19b8d
DolphinWX: Remove unnecessary Windows-specific code in Frame.cpp
...
wx's version of SetFocus internally calls the Windows one.
2015-02-22 04:09:37 -05:00
degasus
b35fa222f5
VideoCommon: perf querys by async events
2015-02-22 08:41:15 +01:00
degasus
edbd402101
VideoCommon: bbox by async events
2015-02-22 08:41:15 +01:00
degasus
ad7264da7d
VideoCommon: implement swap requests in the full async way
2015-02-22 08:41:15 +01:00
degasus
bc248f8941
VideoCommon: use a new async event system for efb access
2015-02-22 08:41:15 +01:00
Lioncash
bfa5dcc891
Interpreter: Set the FPCC bits correctly for ordered/unordered FP compares
...
Setting the whole FPRF is slightly incorrect, this should only modify the FPCC bits; the class bit should be preserved.
2015-02-22 02:19:13 -05:00
magumagu
97b7f26d58
Hack around our terrible GC BIOS emulation.
...
Fixes a crash launching F-Zero GX.
2015-02-21 20:07:54 -08:00
Lioncash
09319a1e11
Interpreter: Rearrange ordered/unordered compares
...
Comparing floating point numbers with == can trigger warnings (and have static analysis tools complain). So we make it the else case.
This also more closely resembles the Gekko manual.
2015-02-21 22:26:23 -05:00
Pierre Bourdon
860c889454
Merge pull request #2076 from tanishalfelven/optimize-IsCPUThread
...
IsCPUThread() Speed Up
2015-02-22 00:54:55 +01:00
Tanis
568f0dca78
In hope of speeding up ```IsCPUThread()``` got rid of id checking and instead implemented a TLS boolean...
...
Made initialization of s_tls_is_cpu_key threadsafe
2015-02-21 17:52:49 -06:00
magumagu
9e29154b08
Merge pull request #1988 from magumagu/fast-checkgatherpipe
...
Use faster CheckGatherPipe from JIT.
2015-02-21 15:07:59 -08:00
Pierre Bourdon
e8f37bc3fe
Merge pull request #2091 from magumagu/lmw-saved-regs
...
Fix registersInUse in Jit64::lmw.
2015-02-21 18:42:17 +01:00
magumagu
018a7f1ec9
Fix registersInUse in Jit64::lmw.
...
Doesn't fix any known issue at the moment, but I ran into this bug with
dynamic-bat.
2015-02-21 09:31:20 -08:00
Dolphin Bot
c3edab8f54
Merge pull request #2082 from Armada651/resolve-depth
...
D3D: Use the correct format when resolving the EFB depth texture.
2015-02-21 15:50:20 +01:00
Markus Wick
95c48b2be7
Merge pull request #2018 from JosJuice/gameini-region-wildcard
...
Support game INIs that match all regions
2015-02-21 15:47:57 +01:00
Jules Blok
ff4127cf50
VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
...
The bug is fixed in version 347.52 of the drivers.
2015-02-21 12:09:49 +01:00
Jules Blok
139ad3b2b9
TextureConversionShader: Use a Texture2DArray to match the shader resource view.
2015-02-21 11:50:20 +01:00
Jules Blok
c180174e4a
D3D: Use the correct format when resolving the EFB depth texture.
2015-02-21 11:50:19 +01:00
Markus Wick
6bbf774507
Merge pull request #2075 from magumagu/titantron-fix
...
Partially fix WWE12 titantron videos.
2015-02-21 10:09:47 +01:00
Scott Mansell
355be1719e
Fix regression with directx when zfreeze=true and ztest=false.
2015-02-21 10:52:29 +13:00
Pierre Bourdon
8b095a0178
Merge pull request #2059 from magumagu/palette-convert
...
Decode EFB copies used as paletted textures.
2015-02-20 01:11:25 +01:00
magumagu
074397c12d
Explicitly set up AllocateTexture configuration for palette conversion.
...
No functional change.
2015-02-19 15:57:05 -08:00
magumagu
0360e01eaf
Merge pull request #2040 from magumagu/gc-memmap
...
Try to fix our memory map to match the GameCube.
2015-02-19 15:44:36 -08:00
magumagu
ddc815dd7a
Remove TextureAddress struct.
2015-02-19 15:36:32 -08:00
magumagu
c0a4760f0e
Decode EFB copies used as paletted textures.
...
A number of games make an EFB copy in I4/I8 format, then use it as a
texture in C4/C8 format. Detect when this happens, and decode the copy on
the GPU using the specified palette.
This has a few advantages: it allows using EFB2Tex for a few more games,
it, it preserves the resolution of scaled EFB copies, and it's probably a
bit faster.
D3D only at the moment, but porting to OpenGL should be straightforward..
2015-02-19 15:09:27 -08:00
magumagu
314b241220
Try to fix our memory map to match the GameCube.
...
This basically just restores the RAM mirroring that existed before PR1856
(address translation).
2015-02-19 15:02:51 -08:00
Pierre Bourdon
fbbbad98e9
Merge pull request #2079 from lioncash/tables
...
PowerPC: Minor cleanups.
2015-02-19 22:51:34 +01:00
magumagu
d0c675af83
Merge pull request #2080 from lioncash/interp
...
Interpreter: Remove unnecessary prototypes and includes
2015-02-19 11:19:20 -08:00
Lioncash
8401b5a1f2
Interpreter: Remove unnecessary prototypes and includes
2015-02-19 13:20:24 -05:00
Lioncash
a60d3306b1
PowerPC: Get rid of magic numbers related to interp/JIT initialization.
2015-02-19 12:16:53 -05:00
Lioncash
d32359c915
PPCTables: Simplify UsesFPU
...
We can just retrieve the op info and check if the FPU flag is present
2015-02-19 12:16:44 -05:00
Pierre Bourdon
6a14300c9c
Merge pull request #2078 from lioncash/fwd
...
PPCTables: Remove an unnecessary forward declaration
2015-02-19 15:51:15 +01:00
Lioncash
e4df6026c4
PPCTables: Remove an unnecessary forward declaration
...
This class name isn't used anymore.
2015-02-19 09:08:00 -05:00
Lioncash
0fc3166b2f
PPCTables: Correct some flag descriptions
2015-02-19 08:56:18 -05:00
magumagu
4cdf9f543f
Partially fix WWE12 titantron videos.
...
The obvious question here is, why does it matter if we round or truncate?
The key is that GC/Wii does fixed-point interpolation, where PC GPUs do
floating-point interpolation. Discarding fractional bits makes the conversion
from floating-point to fixed point give more consistent results.
I'm not confident this is really the right fix, or that my explanation is
completely correct; ideally, we don't want to depend on floating-point
interpolation at all.
2015-02-18 19:41:00 -08:00
Lioncash
c8c61041ba
Merge pull request #2007 from lioncash/si
...
Core: Move several files into the correct VS directory filter.
2015-02-18 21:33:39 -05:00
Lioncash
bdca0dac29
Merge pull request #2071 from Sonicadvance1/Android_fix_unittests
...
[Android] Fix building unit tests.
2015-02-18 21:19:18 -05:00
Lioncash
2906f64e13
Merge pull request #2073 from Sonicadvance1/android_fix_formatchanges
...
[Android] Fix ignore format changes option.
2015-02-18 21:17:46 -05:00
kamiyo
e864521182
High Quality Resampler, using FIR filter
...
For more information:
https://docs.google.com/document/d/1tBEgsJh7QiwNwepXI0eobfK3U8LkJButSyeuFt1degM/edit?usp=sharing
removed: SSE includes (not used)
added: 16bit -> float -> 16bit functions
added: linear interpolator and high-quality (windowed-sinc) interpolator functions (including Resampler class)
added: dithering
changed: renamed variables and reformatted a few things to fit with style guide (braces, #include->const)
changed: use s16, u16, s32, u32 etc
changed: store samples and do all computations as floats
changed: volume from 0 - 255
2015-02-18 21:13:45 -05:00
mimimi085181
2f8e0c9bb9
Allow multiple texture cache entries for textures at the same address
...
This is the same trick which is used for Metroid's fonts/texts, but for all textures. If 2 different textures at the same address are loaded during the same frame, create a 2nd entry instead of overwriting the existing one. If the entry was overwritten in this case, there wouldn't be any caching, which results in a big performance drop.
The restriction to textures, which are loaded during the same frame, prevents creating lots of textures when textures are used in the regular way. This restriction is new. Overwriting textures, instead of creating new ones is faster, if the old ones are unlikely to be used again.
Since this would break efb copies, don't do it for efb copies.
Castlevania 3 goes from 80 fps to 115 fps for me.
There might be games that need a higher texture cache accuracy with this, but those games should also see a performance boost from this PR.
Some games, which use paletted textures, which are not efb copies, might be faster now. And also not require a higher texture cache accuracy anymore. (similar sitation as PR https://github.com/dolphin-emu/dolphin/pull/1916 )
2015-02-18 23:54:40 +01:00
Ryan Houdek
09e8adb199
[Android] Fix ignore format changes option.
...
This option was inversed, so it was always set to the opposite of what was wanted.
2015-02-18 16:27:37 -06:00
Ryan Houdek
19f8524304
Fix mulli's flags in the instruction tables.
...
It doesn't set RC, so this flag is incorrect.
2015-02-18 16:26:12 -06:00
Ryan Houdek
0567b28ba1
[Android] Fix building unit tests.
2015-02-18 16:24:30 -06:00
Shawn Hoffman
f91e8e9423
make libusb vcxproj use standard dolphin template and don't compile strerror.c.
2015-02-18 13:29:39 -08:00
Markus Wick
86226cb2b9
Merge pull request #1979 from Mullin/head
...
Use clock_gettime instead of gettimeofday, it's more efficiency on low power system
2015-02-18 21:54:16 +01:00
Mullin
797fc14414
Use clock_gettime instead of gettimeofday, it's more effiency on low power system
...
Add def for mac(They don't support clock_gettime)
Fix my mistake
Fix my mistake 2
2015-02-18 21:44:58 +01:00
Pierre Bourdon
8cc6e5cff9
Merge pull request #1854 from JosJuice/read-disc-after-delay
...
DVDInterface: Read disc after delay, not before
2015-02-18 20:35:07 +00:00
Pierre Bourdon
042fcbcbca
Merge pull request #2067 from magumagu/cputhread-assert
...
Disable an IsCPUThread() assert in Release builds.
2015-02-18 16:22:23 +00:00
Pierre Bourdon
96041a5aca
Merge pull request #2068 from mimimi085181/hash-fix
...
GetCRC32: Fix the hash for the last byte(s)
2015-02-18 13:43:06 +00:00
mimimi085181
f6c9b8243e
GetCRC32: Fix the hash for the last byte(s)
...
This fixes issue 8227
https://code.google.com/p/dolphin-emu/issues/detail?id=8227
2015-02-18 14:26:28 +01:00
Ryan Houdek
ef2fba2e85
Merge pull request #2070 from lioncash/unused
...
PowerPC: Remove unused enum values
2015-02-17 23:42:46 -06:00
Lioncash
78d917b0b3
PowerPC: Remove unused enum values
2015-02-18 00:37:32 -05:00
Lioncash
0b3a2ae4ca
PowerPC: Document the instruction table flags
...
Should make it easier for newcomers to get up to speed.
2015-02-18 00:17:51 -05:00
Buddybenj
265a21a565
Replace Country Names With No-Intro Names
2015-02-17 18:50:10 -06:00
Ryan Houdek
127e742992
Merge pull request #2046 from Mullin/Fix-unsigned/signed-stores
...
[ARMv7] Fix unsigned/signed stores
2015-02-17 14:38:36 -06:00
Mullin
39aa2432a6
Fix signed/unsigned stores
2015-02-17 21:29:01 +01:00
Fiora
53bf21e15a
Merge pull request #2066 from lpereira/regcache-with-variadic-tpl
...
Jit64: Use variadic templates for RegCache locking
2015-02-17 08:53:07 -08:00
Lioncash
39e121e551
Merge pull request #2064 from magcius/fix-tilt
...
WiimoteEmu: Add back the calibrated accel data to the EEPROM
2015-02-17 11:14:09 -05:00
JosJuice
3ac0977bc6
DVDInterface: Read disc after delay, not before
2015-02-17 14:57:36 +01:00
Leandro Pereira
1162c5344b
Jit64: Use variadic templates for RegCache locking
2015-02-17 10:01:42 -02:00
Ryan Houdek
3aa605236d
Merge pull request #2041 from Sonicadvance1/AArch64_vertex_loader
...
[AArch64] Vertex loader and things
2015-02-17 00:51:51 -06:00
Ryan Houdek
ed008c3a69
[AArch64] Change the vertex loader over to using unscaled loadstores.
...
In nearly all direct loadstore cases we can use unscaled loadstores.
Still have a fallback in case we hit a situation that we /can't/ do a unscaled loadstore.
2015-02-16 22:03:09 -06:00
Ryan Houdek
120df4c688
[AArch64] Implement loadstore unscaled.
2015-02-16 22:00:43 -06:00
magumagu
77a0bfdd8f
Merge pull request #2055 from magumagu/fakevmem-code
...
Allow executing code out of FakeVMEM.
2015-02-16 19:13:14 -08:00
magumagu
cce503c879
Disable an IsCPUThread() assert in Release builds.
...
IsCPUThread is extremely slow at the moment, and this code runs
frequently.
2015-02-16 19:07:42 -08:00
Jasper St. Pierre
e53268be1b
WiimoteEmu: Add back the calibrated accel data to the EEPROM
...
It seems that games actually read this to determine how to act, which
isn't particularly strange. I was imagining it was more for the
Wiimote's internal normalization, but I was wrong.
2015-02-16 15:16:23 -08:00
Ryan Houdek
2ebe57ed3f
Convert our vertex loader unit test to the new RunVertices arguments arrangement.
2015-02-16 16:51:39 -06:00
Ryan Houdek
f54a0d3ff4
[AArch64] Minor floating point loadstore improvements.
...
These use the Vector x Element FMUL instruction to improve speeds slightly.
Should give ~3cycle improvement per quantized loadstore done.
2015-02-16 16:51:39 -06:00
Ryan Houdek
b4b03641b3
[AArch64] Implement vertex loader recompiler.
...
Shows a noticeable reduction in time spent in the vertex loader.
2015-02-16 16:51:32 -06:00
magumagu
f316265973
Fix the addresses of MMIO registers.
...
MMIO registers are located at 0x0C000000 and 0x0D000000, not 0xCC000000.
The 0xCC000000 addresses are just an artifact of address translation.
2015-02-15 18:29:37 -08:00
magumagu
5b6a947e8f
Merge pull request #2035 from magumagu/remove-bat-option
...
Remove the BAT checkbox/setting/implementation.
2015-02-15 17:27:18 -08:00
Scott Mansell
43dfec07c9
Cleanup DotProduct function to make it more readable.
2015-02-16 13:53:58 +13:00
Scott Mansell
7add7b685f
Remove unneeded spaces from code.
...
Line now matches the style of the rest of the function.
2015-02-16 12:59:45 +13:00
Lioncash
16a6392308
Merge pull request #2054 from lioncash/disable
...
DolphinWX: Change Enable(false) calls into Disable() where possible
2015-02-15 13:26:44 -05:00
Markus Wick
f38b3ace38
Merge pull request #2038 from magumagu/disable-thread-safety-checks
...
Disable thread safety assertions added in PR1987.
2015-02-15 10:33:19 +01:00
skidau
d601657c99
Merge pull request #2045 from greyrogue/master
...
Add Datel AGP save commands for SRAM/FRAM. Improve EEPROM.
2015-02-15 12:57:58 +11:00
Pierre Bourdon
b7916f9655
Merge pull request #2057 from lioncash/busy
...
DolphinWX: Remove unnecessary wxBeginBusyCursor and wxEndBusyCursor calls
2015-02-15 01:54:59 +00:00
greyrogue
2d4aa2a195
Add save commands for SRAM/FRAM. Improve EEPROM.
...
Handle possible endian file read issues at file access time instead of
using Swap64 on every access.
Code comments and clean up.
2015-02-14 20:36:26 -05:00
skidau
72e8e78ec8
Merge pull request #2037 from magumagu/illegal-inst-handling
...
Improve illegal instruction handling.
2015-02-15 12:34:08 +11:00
skidau
32d8f887fe
Merge pull request #2032 from mathieui/update-libusb-externals
...
Update the libusb in externals to 1.0.19 (latest)
2015-02-15 12:32:10 +11:00
Lioncash
537ad96ece
DolphinWX: Remove unnecessary wxBeginBusyCursor and wxEndBusyCursor calls
...
The UI greys all buttons when shutting down, so it's sufficient as a visual cue
2015-02-14 19:43:59 -05:00
Pierre Bourdon
3500740dd4
Windows AVIDump: support "silent" frame dumping
...
When enabled, the silent option will avoid popping up dialog boxes for
overwrite confirmation or codec selection. The codec selection defaults to
uncompressed RGB.
This is required for FifoCI on Windows which needs to drive Dolphin from the
command line exclusively.
2015-02-14 23:38:14 +01:00