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
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
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
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
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
magumagu
001bf9152e
Allow executing code out of FakeVMEM.
...
Fixes regression from PR1856 (address translation).
2015-02-14 14:08:46 -08:00
Lioncash
50f600c834
DolphinWX: Change Enable(false) calls into Disable() where possible
2015-02-14 16:00:15 -05:00
Markus Wick
405444d4fe
Merge pull request #1803 from lioncash/rgb
...
OnScreenDisplay: Allow for different colored messages
2015-02-14 10:47:47 +01:00
skidau
61b19bda3e
Merge pull request #2042 from unknownbrackets/gcz-fix
...
DiscIO: On decompress to file, write last blocks correctly
2015-02-14 13:46:06 +11:00
Lioncash
e3b9be6dbb
Core: Move several files into the correct VS directory filter
2015-02-13 20:57:23 -05:00
Tillmann Karras
1a52cff1c9
VertexLoaderManager: reset stats properly
2015-02-14 02:30:05 +01:00
Tillmann Karras
a7cc36e711
Movie: reintroduce a local variable
2015-02-14 02:27:15 +01:00
Lioncash
6558704403
Merge pull request #2030 from lioncash/destroy
...
DolphinWX: Get rid of unnecessary Destroy calls
2015-02-13 20:22:01 -05:00
Rachel Bryk
b66df8424a
Remove an unneeded global variable from Movie.cpp.
2015-02-13 20:11:44 -05:00
Pierre Bourdon
4ceae57713
Merge pull request #2015 from Stevoisiak/WAD-Version-Check
...
VolumeWad: Return version number for WADs
2015-02-13 22:09:30 +01:00
Ryan Houdek
15e41c67f8
Change RunVertices' function arguments.
...
This reduces some dumb state shuffling when calling the emitted vertex loaders.
2015-02-13 12:16:06 -06:00
Ryan Houdek
b989c2fd8f
[AArch64] Fix another assert in the JIT register cache.
2015-02-13 12:16:06 -06:00
Ryan Houdek
814aaaf538
[AArch64] Implement a couple of emitter instructions.
...
These will be used with the vertex loader JIT recompiler.
2015-02-13 12:16:06 -06:00
Ryan Houdek
0252bbb33f
[AArch64] Fix non-PCH build.
2015-02-13 12:16:05 -06:00
Ryan Houdek
8074d06270
[ARM] Fix poison memory functions.
...
We were poisoning 4x more data and overrunning our buffers. We don't want to do this.
2015-02-13 12:16:05 -06:00
Ryan Houdek
20dae1f210
[AArch64] Fix a bunch of emitter asserts.
...
Since I've added the msg handler. I found all these asserts that were backwards. So they were asserting on the correct arguments.
2015-02-13 12:16:05 -06:00
Ryan Houdek
57c66798fc
[Android] Register panic alert handler.
...
This lets me see _assert_msg_ alerts on Android when passing dumb arguments to my AArch64 emitter.
2015-02-13 12:15:59 -06:00
Tillmann Karras
1b38800a67
DolphinWX: fix -e parameter
2015-02-13 10:34:18 +01:00
Tillmann Karras
d33e760c55
Jit64: turn short jmp into near jmp
...
Fixes a regression from #1856's ac54c6a
.
2015-02-13 07:51:34 +01:00
Unknown W. Brackets
df5857b5af
DiscIO: On decompress to file, write last blocks.
2015-02-12 20:30:11 -08:00
magumagu
6797718950
Merge pull request #2039 from magumagu/pr1856-typos
...
Fix typos from PR1856 (address translation).
2015-02-12 16:18:54 -08:00
magumagu
f9e8ad39fc
Fix typos from PR1856 (address translation).
2015-02-12 12:11:33 -08:00
magumagu
98b809a05e
Disable thread safety assertions added in PR1987.
...
We do a whole bunch of non-threadsafe stuff, especially in the UI, and I'm
probably not going to get around to implementing a threadsafe framework
for interaction between the UI and the CPU thread anytime soon. See issue
8220.
2015-02-12 11:54:17 -08:00
magumagu
985087c7e2
Make all unknown opcodes behave consistently.
...
Consistently fall back to the interpreter for unknown instructions, and
make sure GetOpInfo() always returns a non-null pointer.
2015-02-11 22:18:33 -08:00
magumagu
e640ef9d7b
Improve illegal instruction handling.
...
This should more reliably show an error message for illegal
instructions.
2015-02-11 21:01:00 -08:00
magumagu
aa40f750d4
Remove the BAT checkbox/setting/implementation.
...
The current version of the setting is useless, and the real implementation
(PR1882) will be always-on, and won't use any of the existing code.
2015-02-11 20:24:51 -08:00
Lioncash
c7c6bdbf5a
Merge pull request #2027 from Buddybenj/change-wording
...
Change Wording
2015-02-11 23:23:22 -05:00
magumagu
49f223a211
Remove setting "BlockMerging".
...
It isn't hooked up to anything anymore, and it isn't the sort of thing we
want users messing with anyway.
2015-02-11 19:52:48 -08:00
Tillmann Karras
0ec48e0ec9
JitRegister: fix VTune integration
2015-02-12 02:14:49 +01:00
magumagu
0e0a196a1c
Merge pull request #1856 from magumagu/correct-translation-disable-2
...
Make address translation respect the CPU translation mode
2015-02-11 17:04:12 -08:00
Benjamin Przybocki
8cf4a57844
Change Wording
...
All of the other descriptions for drop-down menus use select.
2015-02-11 18:43:47 -06:00
Tillmann Karras
4fa38f0c02
Externals: update libusb to version 1.0.19
2015-02-12 01:04:43 +01:00
Pierre Bourdon
b7e455ece8
Merge pull request #2031 from degasus/master
...
ShaderGen: Fix pixel offset correction
2015-02-12 00:39:27 +01:00
magumagu
4193350d22
Memmap: add an explanation of Dolphin's memory layout.
2015-02-11 15:22:21 -08:00
skidau
4ff5ec7117
Merge pull request #1984 from mathieui/GCAdapter-fixes
...
Fix issues with the GC adapter handling code
2015-02-12 09:54:53 +11:00
magumagu
aaee23d1b4
Fix ARM64 build for address translation changes.
2015-02-11 13:56:38 -08:00
magumagu
e136c8a066
PowerPC: misc cleanup.
2015-02-11 13:56:36 -08:00
magumagu
ac54c6a4e2
Make address translation respect the CPU translation mode.
...
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.
This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.
This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
degasus
c404e87226
ShaderGen: Fix pixel offset correction
...
We want to move the vertex by 1/12 pixel, but the old code
did miss the perspective division. So by multiplying with pos.w,
the position is moved correctly after the perspective division.
2015-02-11 20:54:15 +01:00
JosJuice
f9d6c17c08
Use CoreParameter's game INI functions in more places
2015-02-11 19:01:05 +01:00
JosJuice
e186104960
Don't use revision-specific unique ID strings outside of CoreParameter
2015-02-11 19:01:04 +01:00
JosJuice
47e67f9696
CoreParameter: Support game INIs that match all regions
2015-02-11 19:01:03 +01:00
JosJuice
8670f2a627
CoreParameter: Unify LoadDefaultGameIni and LoadLocalGameIni
...
A side effect of this is that user INIs now can specify revisions.
I don't think anyone will use it, but there's no reason to not allow it.
2015-02-11 19:01:03 +01:00
JosJuice
d73a6ea3b7
Move some BootManager game INI code to CoreParameter
2015-02-11 19:01:02 +01:00
Lioncash
9a6b6a99e8
DolphinWX: Get rid of unnecessary Destroy calls
...
Removes the requirement for stack allocated InputConfigDialogs to call Destroy. This shouldn't be necessary for wxDialog derivatives.
This also fixes a leak that would occur every time an InputConfigDialog is opened and closed. wxWindow subclasses (this includes wxDialog) only destroy child windows and sizers (including things in the sizers). So every wxTimer allocation would have resulted in a leak.
2015-02-11 09:38:38 -05:00
magumagu
d9988ee9b5
Merge pull request #1987 from magumagu/thread-safety
...
Cleanup usage of atomic/threadsafe functions
2015-02-10 13:48:12 -08:00
magumagu
0f96a0104e
Merge pull request #1752 from Buddybenj/clean-up
...
Clean Up
2015-02-10 11:39:14 -08:00
magumagu
1acd80f23f
Merge pull request #1779 from riking/pr-rename-boot-from-dvd
...
Reword "Boot from DVD Drive" -> "DVD Backup" menu option
2015-02-10 11:07:44 -08:00
Lioncash
07556b4849
WiimoteEmu: Change define into a variable and move it to where it's used.
2015-02-10 11:46:04 -05:00
Markus Wick
2aef84d80c
Merge pull request #2025 from phire/be-neobrain
...
Remove VBeam Speed Hack.
2015-02-09 12:55:58 +01:00