Commit Graph

12535 Commits

Author SHA1 Message Date
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
mr.greywater c43da7e00b D3D: replace memset, fix warning 2015-02-12 14:45:05 +01:00
mr.greywater 442b7ba99c D3D: Add debug object name for efb encoder pixel shader 2015-02-12 14:34:36 +01:00
mr.greywater b5ffba3291 D3D: Added GetDebugObjectName and parameter checking in SetDebugObjectName 2015-02-12 14:34:35 +01:00
mr.greywater 3d3a68a2f0 D3D: Add break on error in debug build 2015-02-12 14:34:34 +01: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
Scott Mansell 4cb01673a0 Remove now useless NumFields Function which always returned 1. 2015-02-10 00:48:06 +13:00
Scott Mansell 8f416821ad Remove VBeam Speedhack. 2015-02-09 23:10:30 +13:00
Markus Wick b79015186e Merge pull request #2023 from mrgreywater/d3d-efb-ms-crash-fix
D3D: Fixed crash rendering EFB textures with MSAA
2015-02-08 22:11:15 +01:00
mr.greywater 2434b531f3 D3D: Fixed crash rendering EFB textures with MSAA
Rendering EFB textures currently crashes with the D3D backend when MSAA is enabled, because the depth texture wasn't correctly resolved. An example for a crash would be starting Pokemon Snap with D3D and MSAA enabled.
2015-02-08 21:03:15 +01:00
Fiora 451c4f3c4b Merge pull request #1969 from JosJuice/dvd-decryption-optimization
VolumeWiiCrypted: Decryption optimization
2015-02-08 11:57:55 -08:00
mr.greywater a1f8c232b2 Fix warning message when loading german discs
Added COUNTRY_GERMANY as EUR_DIR so it will not show the warning message that the GCM/ISO is invalid. Also refactors the code to remove duplicate code.
2015-02-08 16:38:35 +01:00
JosJuice 28b441ebea VolumeWiiCrypted: Replace some hardcoded values with constants 2015-02-08 10:31:17 +01:00
Lioncash 537b9e507b Merge pull request #1998 from FL-dolphinemu/align_g_HKData_struct
Vertical aligned all members of g_HKData struct.
2015-02-07 21:31:45 -05:00
Lioncash 9d5c6c55fe OnScreenDisplay: Allow for different colored messages 2015-02-07 17:35:21 -05:00
Lioncash 3767ddcacf Merge pull request #2019 from Buddybenj/website
Web Site -> Website
2015-02-07 17:06:23 -05:00
Fiora 73d65f3ad3 Merge pull request #1874 from magumagu/remove-unchecked-reads
JIT: cleanup instrction merging for idle loop and dcbst.
2015-02-07 13:48:22 -08:00
Benjamin Przybocki e75b5165c2 Web Site -> Website 2015-02-06 16:13:35 -06:00
skidau 8f4bcf3ec3 Merge pull request #2012 from lioncash/memswitch
Memmap: Fix switch fallthroughs
2015-02-06 21:47:24 +11:00
skidau 66d80b75e2 Merge pull request #1939 from Sintendo/dspjit_ccnits
Minor DSP JIT optimizations
2015-02-06 13:53:09 +11:00
Stevoisiak b578abfbaa VolumeWad: Return version number for WADs 2015-02-05 11:27:57 -05:00
JosJuice 3414f818cd DVDInterface: Get rid of DVDCommandResult struct
It's only used in one place and is no longer necesssary.
2015-02-05 15:10:31 +01:00
JosJuice af4f872dfe DVDInterface: Schedule event in ExecuteCommand 2015-02-05 15:10:14 +01:00
mathieui 8e556603af Fix issues with the GC adapter handling code
If we successfully detach the kernel driver from the interface, we
should continue instead of aborting the setup.

And we should not use libusb_handle_events(), as the API says it is only
for backwards compatibility. Additionally, if the adapter thread is not
active, dolphin will take 60 seconds to close because the
libusb_handle_events() timeout is hardcoded to 60 seconds. Instead, use
libusb_handle_events_timeout_completed() with a timeout of 1 second.
Also, cancel the libusb transfers before the join(), to be able to close
the usb device without libusb screaming in the background (and
potentially crashing).

And finally, split the Init() and Shutdown() functions to avoid having
to init and exit libusb every time we neeed to detect the adapter.
2015-02-05 10:03:21 +01:00
Sintendo 46df8a5358 Correct clobber comments 2015-02-04 22:26:40 +01:00
Sintendo ca0790e9c9 Merge Update_SR_Register64_Carry functions 2015-02-04 22:26:40 +01:00
Sintendo 34afe08de9 Minor DSP JIT optimizations 2015-02-04 22:26:39 +01:00
degasus 68c70be960 HotKey: fix warnings 2015-02-04 20:19:16 +01:00
Gabriel Corona 266d50c811 Use the C locale for non-Windows CharArrayFromFormatV() and StringFromFormat()
The Windows implementations of CharArrayFromFormatV() and
StringFromFormat() use the "C"/".1252" locale instead of the user
locale (using _vsnprintf_l). On non-Windows, the user locale was used.

This leads to bugs on non-Windows: the Overclock parameter was
serialised with the user locale ("0,279322" in some locale) and was
interpreted back as "0" (because the C locale is used for parsing the
string).

Make non-Windows CharArrayFromFormatV() and StringFromFormat()
consistent with their Windows counterpart.

The locale code is not enables for Android:: uselocale is only
available since API 21 and API 21 only supports C and C.UTF-8.
2015-02-04 17:49:22 +01:00
Lioncash e07679114b Use emplace_* functions where in-place construction is preferable 2015-02-04 11:39:08 -05:00
Lioncash d7c6a7522d Memmap: Fix switch fallthroughs
Fixes a bug where out of range MEM2 accesses would hit the locked cache.
2015-02-04 08:28:52 -05:00
skidau 3709a1ce3a Fixed the crash which occurred when opening Wiimote configuration before a game was started. 2015-02-04 18:48:19 +11:00
skidau fc8ea9c3b3 Ignore hotkeys if the game has not started. 2015-02-04 18:06:20 +11:00
skidau b9fb6ad3e8 Initialised all controller interfaces together on CFrame construction to fix the crash that would occur if the controller config were opened before a game was started. 2015-02-04 18:05:22 +11:00
skidau 5e645732f2 Merge pull request #1949 from skidau/hotkey-input
Added the ability to map gamepad buttons to hotkeys.
2015-02-04 14:35:03 +11:00
skidau c18c50a0e1 Merge pull request #1904 from magumagu/d3d-allow-nooutput-adapter
D3D: allow selecting adapters with no outputs.
2015-02-04 13:09:27 +11:00
Markus Wick b2df8cb87f Merge pull request #2005 from magumagu/d3d-efb-depth
Fix regression for D3D EFB depth copies.
2015-02-03 20:50:20 +01:00
magumagu 57d94de2ad Fix regression for D3D EFB depth copies.
On D3D, we read from the depth buffer using the format
DXGI_FORMAT_R24_UNORM_X8_TYPELESS (essentially, the "r" component contains
the depth, and the other components contain nothing).
2015-02-03 11:27:27 -08:00
skidau 4e7d2ab893 Merge pull request #1985 from CarlKenner/accelerometers
Fix accelerometer wiimote/nunchuk emulation.
2015-02-02 12:15:43 +11:00
Lioncash 031422c596 Merge pull request #2000 from degasus/master
VideoBackends: set GLInterface to zero after deleting it
2015-02-01 07:59:18 -05:00
degasus 081137bd4f VideoBackends: set GLInterface to zero after deleting it
This fixes a crash on opening the gfx settings after closing a game.
2015-02-01 13:51:34 +01:00
FL.dolphinemu 4f65787888 Vertical aligned all members of g_HKData struct. 2015-02-01 10:07:22 +01:00
Ryan Houdek f9c2d73970 Remove an old comment about stfiwx.
This instruction does exactly what it is supposed to. No need for this comment.
2015-02-01 00:30:53 -06:00
Markus Wick 3c475b91ea Merge pull request #1993 from Armada651/line-perspective
GeometryShaderGen: Perspective divide the line coordinates before comparing the angle.
2015-01-31 23:45:54 +01:00
Jules Blok 8c55ec0d51 GeometryShaderGen: Perspective divide the line coordinates before comparing the angle. 2015-01-31 23:32:23 +01:00
Markus Wick ca5e2e6f16 Merge pull request #1989 from lioncash/leak
OGL: Fix a memory leak that would occur every time a game is launched
2015-01-31 23:06:21 +01:00
Lioncash 9476756d43 OGL: Fix a memory leak that would occur every time a game is launched 2015-01-31 16:00:53 -05:00
magumagu 30d15b3a32 Clean up usage of PowerPCState::Exceptions.
Accessing any member of ppcState from a thread other than the CPU thread
is not allowed; don't pretend that there's any exception to that rule.
2015-01-31 12:02:45 -08:00
Tillmann Karras 1aac65f988 VertexLoaderManager: assimilate GetVertexSize() 2015-01-31 09:23:50 +01:00
skidau d50b330d57 Merge pull request #1976 from lioncash/size
InputConfigDiag: Fit buttons to their text
2015-01-31 12:34:35 +11:00
skidau 3b07fe01a2 Merge pull request #1982 from skidau/AGP-hash
Advance Game Port (AGP) fixes
2015-01-31 12:34:01 +11:00
magumagu 5a3f75f5cf Use faster CheckGatherPipe from JIT.
We don't need to profile explicit calls to CheckGatherPipe: we aleady know
where they are. Skip profiling, and explciitly insert an exception check.

While I'm here, get rid of unused code in JitIL.
2015-01-30 17:00:58 -08:00
magumagu 47be9d8e6b Clean up usage of ScheduleEvent_Threadsafe. 2015-01-30 14:48:23 -08:00
Ryan Houdek a277172b49 Merge pull request #1980 from Sonicadvance1/AArch64_more_optimizations
[AArch64] Minor optimizations
2015-01-30 08:33:19 -06:00
Ryan Houdek 7cd80200ed [AArch64] Remove an extraneous nop in 8bit fastmem stores. 2015-01-30 08:30:17 -06:00
Ryan Houdek 4ff2f105cc [AArch64] Implement MMIO Writes. 2015-01-30 08:30:11 -06:00
Lioncash b1547b9c8b Use unique_ptr for some IVolume instances 2015-01-29 21:33:19 -05:00
skidau ccc1e9aa65 Changed the hash array to a CRC8 function. 2015-01-30 13:33:17 +11:00
CarlKenner fb370110dc Fix horribly broken accelerometer emulation.
It now emulates the least significant bits.
And it no longer treats maximum acceleration in one direction as being in the opposite direction.
2015-01-30 12:38:21 +10:30
skidau 855ad6f1d3 Fixed an overflow bug in Jit64. 2015-01-30 13:00:23 +11:00
skidau a42fb80f6a Added a hash key finder.
Fixed the memcard and AGP path parsing in Windows (the code is expecting '/' to be used as the DIR_SEP).
2015-01-30 13:00:23 +11:00
skidau b92eb03d26 Merge pull request #1973 from degasus/master
OpcodeDecoder: Calculate decoding time for vertices
2015-01-30 12:58:52 +11:00
skidau 83a9f1b850 Merge pull request #1972 from lioncash/ref
EXI_DeviceAGP: Pass string by reference
2015-01-30 12:58:26 +11:00
degasus 20628b6e5d OpcodeDecoder: Calculate decoding time for vertices 2015-01-29 19:55:28 +01:00
Ryan Houdek a2b872b9da Merge pull request #1983 from Sonicadvance1/remove_comment
Remove an old outdated comment that makes no sense.
2015-01-29 09:51:16 -06:00
Ryan Houdek 9b4a896353 Remove an old outdated comment that makes no sense.
This comment was left over from a long time ago. It is no longer true.
2015-01-29 09:40:22 -06:00
Ryan Houdek 631c8a981e [AArch64] Minor performance improvements to paired stores.
We can combine these two ST1 calls in to a single ST1 call.
Saves a few cycles in paired stores
2015-01-29 06:07:00 -06:00
Ryan Houdek 235f6c2445 [AArch64] Don't flush VFP register to stack when not needed. 2015-01-29 06:07:00 -06:00
Ryan Houdek c8c062fa96 [AArch64] Add support for MMIO loads.
Should give a small performance benefit.
2015-01-29 06:06:54 -06:00
Ryan Houdek 1c388b6c37 Fix clang on x86_64.
If we are compiling in the CRC32 hash, clang has an issue with casting a s32 to a u64.
Change our lens argument to a unsigned integer to fix the issue.
2015-01-29 01:55:20 -06:00
Ryan Houdek 8c53b88cc3 [AArch64] Implement a way to call lambdas in the emitter 2015-01-29 01:50:11 -06:00
Lioncash 73b77f55ba DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX 2015-01-28 14:01:11 -05:00
Rohit Nirmal 5203c4ef7b Silence -Wunused-variable warning. 2015-01-28 18:09:07 +00:00
Lioncash cf156d4d37 InputConfigDiag: Fit buttons to their text
Fixes slight sizing issues on high DPI displays.
2015-01-28 13:07:17 -05:00
Markus Wick 109fa8c2c8 Merge pull request #1800 from randomstuff/jit-register
Add support of more JIT-compiled code for profiling
2015-01-28 13:23:32 +01:00
Gabriel Corona c3777bbd69 JitRegister: TrampolineCache 2015-01-28 10:41:45 +01:00
Gabriel Corona 329834f653 JitRegister: JitAsm 2015-01-28 10:41:03 +01:00
Gabriel Corona 3c14930a0a JitRegister: JitAsmCommon
Allows profiling/debugging tools to know about JITed code.
2015-01-28 10:40:05 +01:00
Gabriel Corona a4adfe194a JitRegister: overload Register with a [start,end) variant 2015-01-28 09:50:19 +01:00
Gabriel Corona a957f93532 Use printf-like format in JitRegister::Register
The API is cleaner (no more magic default parameter) and more
extensible like this.
2015-01-28 09:47:08 +01:00
Markus Wick eedc7bb582 Merge pull request #1975 from Tilka/fix_warning
CoreTiming: fix warning
2015-01-28 09:33:39 +01:00
Tillmann Karras 257deb7886 CoreTiming: fix warning 2015-01-28 08:27:14 +01:00
magumagu 0030ad9ecf Fix D3D regression from PR1948.
Make sure we don't have a texture bound as both an ShaderResourceView and
a RenderTargetView; this causes rendering glitches.

This isn't really the right place to do this... but I'm not sure
how the code should be structured.
2015-01-27 18:25:35 -08:00
Markus Wick beaa9905a6 Merge pull request #1966 from magumagu/unify-efb-encode
Unify EFB encoding shader generation
2015-01-27 23:14:18 +01:00
Markus Wick da31314775 Merge pull request #1970 from magumagu/d3d-cleanup
D3D: delete unnecessary code.
2015-01-27 22:26:46 +01:00
Lioncash 7dc5bc622f EXI_DeviceAGP: Pass string by reference 2015-01-27 10:15:27 -05:00
JosJuice 443d371fa3 DVDInterface: Don't use return for ExecuteReadCommand result
There's a small timing change here. If no disc is inserted, the
ticks_until_completion passed to ExecuteReadCommand will be used.
2015-01-27 09:47:02 +01:00
JosJuice de86d539f2 DVDInterface: Move fast disc speed check to ExecuteReadCommand
This breaks the workaround used for Star Wars: Rouge Leader,
but that problem has gotten a more proper solution in 4.0-4889.
2015-01-27 09:46:58 +01:00
Markus Wick 43605f8716 Merge pull request #1948 from magumagu/remove-efb-cache
Remove EFB to RAM cache, and simplify code.
2015-01-27 09:42:15 +01:00
Markus Wick 8eda3ca844 Merge pull request #1956 from Tilka/vertex_loader_jit
VertexLoader: clean up and fix some problems
2015-01-27 09:15:09 +01:00
skidau c20ef8bb8c Merge pull request #1919 from skidau/AGP
Added support for AGP. Original patch by GreyRogue.
2015-01-27 13:25:14 +11:00
skidau 61c04de7ee Added the ability to map gamepad buttons to hotkeys. 2015-01-27 12:24:47 +11:00
Tillmann Karras 3dbd6cd384 VertexLoaderX64: save XMM0 if the ABI requires it 2015-01-26 22:24:06 +01:00
Tillmann Karras 8416a86b6d VertexLoaderBase: fix crash on invalid formats 2015-01-26 22:24:06 +01:00
Tillmann Karras 66f28707e7 VertexLoader: small clean up 2015-01-26 22:24:06 +01:00
magumagu 897b678d24 D3D: delete unnecessary code. 2015-01-26 10:58:32 -08:00
JosJuice 521ccd7b44 VolumeWiiCrypted: Decryption optimization
The block doesn't have to be read if it already is in m_pBuffer.
2015-01-26 15:59:25 +01:00
Ryan Houdek 7df55d220f Merge pull request #1967 from Sonicadvance1/Android_settings
[Android] Change some configuration options.
2015-01-26 05:30:35 -06:00
Markus Wick 53a9df10f9 Merge pull request #1817 from Armada651/custom-anaglyph
PostProcessing: Add support for user-supplied anaglyph shaders.
2015-01-26 11:08:29 +01:00
magumagu 9dbb9bf3b5 Make sure EFB2RAM buffer is wide enough for new coordinate system. 2015-01-25 23:32:32 -08:00
magumagu b56025e6eb Don't use boolean negation. 2015-01-25 23:28:59 -08:00
magumagu 33259c272b Remove some debugging junk. 2015-01-25 23:11:36 -08:00
magumagu cb05730127 Use linear sampling in ScaleByHalf mode. 2015-01-25 23:05:23 -08:00
magumagu 92189823f3 Fix RGBA8 encoding. 2015-01-25 22:53:30 -08:00
Ryan Houdek 983c7f4f21 [Android] Select the AArch64 recompiler core by default if shown to support ARMv8. 2015-01-26 00:50:25 -06:00
magumagu 1ee09ced0a Fix OpenGL coordinate computation. 2015-01-25 21:38:30 -08:00
magumagu cb5d3fce4f Fix stupid mistake. 2015-01-25 21:20:25 -08:00
Ryan Houdek 5ba1319abb Merge pull request #1953 from Sonicadvance1/AArch64_fix_paired_loadstores
[AArch64] Fix all of the paired store instructions.
2015-01-25 23:07:44 -06:00
Ryan Houdek c340a324bc Merge pull request #1947 from Sonicadvance1/AArch64_tu_tl_merge
[AArch64] Implement TU/TL merging.
2015-01-25 23:07:32 -06:00
magumagu b0b99b6922 Fix shader so it's possible to use with D3D Map().
Well, that's not strictly true, but trying to memcpy between two buffers
using different row lengths and different strides is at minimum extremely
unintuitive.
2015-01-25 19:57:09 -08:00
magumagu 6c1bdfe04c More work. 2015-01-25 19:57:07 -08:00
Rohit Nirmal 51b27c5481 Fix building with PCH disabled. 2015-01-25 21:40:31 -06:00
Pierre Bourdon 1e809d9c11 Revert "Merge pull request #1903 from RisingFog/libav"
This reverts commit 34079a0037, reversing
changes made to 3274df7158.
2015-01-26 02:35:29 +01:00
skidau 34079a0037 Merge pull request #1903 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2015-01-26 12:03:44 +11:00
Ryan Houdek 3274df7158 Merge pull request #1961 from Sonicadvance1/AArch64_game_fixes
[AArch64] Fix a load of games.
2015-01-25 18:26:42 -06:00
Ryan Houdek b1fc18cbaa Merge pull request #1958 from Sonicadvance1/Rearchitect_asmcommon
Rearchitect a bit of our AsmCommon routines.
2015-01-25 18:26:17 -06:00
Ryan Houdek d291148016 [AArch64] Implement TU/TL merging.
Basically stolen from the x86 recompiler. Works well on AArch64 as well!
2015-01-25 18:05:33 -06:00
magumagu ef75f3005d WIP. 2015-01-25 15:49:35 -08:00
Ryan Houdek f24c466e7e [AArch64] Fix AArch64 instruction encoding. 2015-01-25 17:26:18 -06:00
Jules Blok 5c4ee2f71e PostProcessing: Move default pixel shader to PostProcessingShaderConfiguration.
Reduces code complexity and fixes a bug where the shader is not properly invalidated.
2015-01-25 23:08:49 +01:00
Ryan Houdek 98fe869e39 Merge pull request #1962 from rohit-n/build-pch
Fix building with PCH disabled.
2015-01-25 15:38:20 -06:00
Jules Blok fc46d460f9 VideoConfigDiag: Allow anaglyph shader to be turned off.
Also hard-code the default shader.
2015-01-25 22:27:17 +01:00
Jules Blok 262c3b19ec PostProcessing: Add support for user-supplied anaglyph shaders.
There are lots of different anaglyph glasses out there and there may be even more creative uses for stereoscopic post-processing shaders.
2015-01-25 22:07:03 +01:00
Rohit Nirmal d10b4d9b8b Fix building with PCH disabled. 2015-01-25 11:34:22 -06:00
Pierre Bourdon a93433a860 Merge pull request #1960 from phire/zfreeze-buffer-underrun
Fix a buffer underrun in CalculateZSlope.
2015-01-25 18:18:49 +01:00
Ryan Houdek e4e08b0596 [AArch64] Make sure to load the full destination register on float instructions.
With the float instructions that only affect the lower 64bits of the destination register, we need to make sure to load the full 128bit register.
This ensures that we aren't saving garbage in to the top 64bits.
2015-01-25 03:17:46 -06:00
Ryan Houdek 2483f7b359 [AArch64] Fix addcx. 2015-01-25 03:17:14 -06:00
Ryan Houdek 6791a808b6 [AArch64] Fix addzex. 2015-01-25 03:16:57 -06:00
Ryan Houdek 84b90ad1c6 [AArch64] Fix cmp 2015-01-25 03:16:29 -06:00
Scott Mansell 61215e7180 Fix a buffer underrun in CalculateZSlope. 2015-01-25 20:31:20 +13:00
skidau 0aef1d27aa Merge pull request #1933 from magumagu/intellisense-error-fix
Fix Intellisense error spam on Visual Studio.
2015-01-25 15:44:30 +11:00
skidau d7a8752228 Merge pull request #1920 from CarlKenner/fix3dxfb
Fix 3D XFB
2015-01-25 15:44:06 +11:00
Ryan Houdek 12b9ada268 Rearchitect a bit of our AsmCommon routines.
JitCommon is becoming a cluster of x86 specific things and things that are common to multiple recompilers.
This overlap is beginning to cause us issues.

Begin by breaking out the common ASM arrays to have their own file and move the x86 specific routines to their own folder.
2015-01-24 20:06:15 -06:00
Benjamin Przybocki 4f324ad742 Clean Up 2015-01-24 17:10:21 -06:00
Lioncash 9cdfe889af Coding style cleanup from the zfreeze merge 2015-01-24 15:16:48 -05:00
Markus Wick ae514cb0f2 Merge pull request #1955 from degasus/master
TexCache: Rewrite the texID generation for paletted textures
2015-01-24 15:37:25 +01:00
degasus 51990fcdfa TexCache: Rewrite the texID generation for paletted textures
This changes the behavior if both texture are available. The old code did
try to load the modfied texID, the new code tries the unmodified texID first.
2015-01-24 13:58:20 +01:00
Markus Wick 4f6d0049a7 Merge pull request #1951 from Sonicadvance1/Remove_old_defines
Remove an old GLES define that I missed.
2015-01-24 13:38:26 +01:00
Tony Wasserka 43036af944 Merge pull request #1812 from phire/real_zfreeze
Add proper zfreeze support.
2015-01-24 13:29:57 +01:00
Ryan Houdek 93f3816eae [AArch64] Fix all of the paired store instructions.
These had some minor errors in them that I discovered with the hardware test and Viewtiful Joe.
All work as they should now.
2015-01-23 23:18:49 -06:00
Dolphin Bot 4e9497cdb8 Merge pull request #1057 from phire/IsMMIOAddress2
Further improvements to IsMMIOAddress (Includes tests!)
2015-01-24 05:55:35 +01:00
Scott Mansell fe28d1476a Make the IsMMIOAddress function easier to read, add tests.
This also makes IsMMIOAddress more restrictive.
2015-01-24 17:24:40 +13:00
Ryan Houdek 088b6b2ec3 Merge pull request #1081 from phire/jitil-float-mem-opts
JitIL Float load/store optimizations.
2015-01-23 21:47:03 -06:00
Scott Mansell 5c34766809 Propagate elf loading failure up.
Also fix mistake in error message.
2015-01-24 16:28:34 +13:00
magumagu 3aa3002010 Fix Intellisense error spam on Visual Studio.
Intellisense doesn't like defines in PCH files, and it doesn't like the deleted
constructor for BitField.  (I think it's being overly strict about the
"must have no non-default constructors" rule for classes in unions.)
2015-01-23 19:15:25 -08:00
Scott Mansell 3106b20fbe JITIL: Improve address calulation for float loads/stores.
For floating loads with a known address, this eliminates the pattern of:

   mov r12d, 80001014
   mov rdx, r12d
   mov rdx, dword ptr [rbp+rdx]

and generates a nice simple:

   mov rdx, dword ptr [rbp+00001014]
2015-01-24 16:08:50 +13:00
Scott Mansell 75815b9b0d Added a comment to document an issue with the codegen. 2015-01-24 16:08:26 +13:00
Scott Mansell b7d4ff679a IsWiiElf: Optimise inner loop.
Instead of swaping each word of the elf code section(s) looking
for a match to our pattern, we swap the pattern just once (at
compile  time) and test against our swapped pattern.
2015-01-24 15:41:32 +13:00
Scott Mansell 2bf052d8b9 ElfReader: Clean up elf loader code.
* Don't claim to support any features we don't, like relocation
 * Actually zero-out BSS sections, as memory might not be already
   zeroed.
 * Deleted commented out code.
 * Removed GetPointer, updated to more modern interface methods.
 * Updated pointer types style from "u32 *x" to "u32* x"
2015-01-24 15:41:32 +13:00
Scott Mansell 1e5762b163 BootUp: Clean up elf BootUp code.
* The file already exsists, otherwise we wouldn't have gotten
   this far in the boot.
 * We have already checked if it's a Wii or GameCube elf,
   besides, it's too late to change our minds now anyway.
 * On Wii - Don't call EmulatedBS2, it can never succeed as
   it knows nothing about booting elfs. Just call the
   SetupWiiMemory directly if needed.
 * On GameCube - We still call EmulatedBS2_GC, but we stop
   it from running Apploader, which might boot something
   unexpected from the default iso or DVD root folder.
2015-01-24 15:41:28 +13:00
Scott Mansell 2642c3f73b BootElf: Use unique_ptr<u8 []> instead of vectors. 2015-01-24 15:32:38 +13:00
Scott Mansell 14baf038e7 Stop doing nastly shit to OpenGL stream buffers.
Instead we keep the loaded vertices in CPU memory.
2015-01-24 14:41:51 +13:00
skidau f1a4b98d36 Merge pull request #1879 from magumagu/idle-exception-check
For idle loops, perform an exception check before CoreTiming::Advance.
2015-01-24 12:28:44 +11:00
skidau 7dafad5a8b On DCBZ, mask the memory address to ensure that the address is within physical memory. The AGP disc DCBZ's against an out of bounds physical address. 2015-01-24 12:19:33 +11:00
skidau 8a561b57c3 Added EEPROM saving to file. 2015-01-24 12:15:48 +11:00
skidau a7299a7fff Added support for AGP. Original patch by GreyRogue. 2015-01-24 12:13:23 +11:00
skidau 18cee2dcc7 Added second parameter for the eject disc via StopMotor DI command. The AGP disc expects the disc to still be readable after sending an eject command. 2015-01-24 12:13:23 +11:00
Ryan Houdek 189528171b Remove an old GLES define that I missed. 2015-01-23 14:30:23 -06:00
magumagu 6659c15bed Remove EFB to RAM cache, and simplify code. 2015-01-23 10:48:15 -08:00
Scott Mansell 5510c86b81 Move Zfreeze code out individual backends into videoCommon
Also:
 * Implement support for per-vertex PosMatrixIndex
 * Only update zslope constant once when zfreeze is activated.
 * Added a bunch of comments.
2015-01-24 03:22:27 +13:00
skidau 0b1d8fae1b Merge pull request #1926 from skidau/emu-wiimote-speaker-adpcm-sample-rate
Fixed the emulated wiimote speaker's ADPCM sample rate.  Patch by hk.konpie
2015-01-23 12:31:20 +11:00
skidau 6e99accf06 Merge pull request #1917 from adamdmoss/no-lfe
Remove explicit subwoofer/LFE channel from Pulseaudio and OpenAL
2015-01-23 12:30:48 +11:00
Ryan Houdek 6470227a39 [AArch64] Minor fix in the UMULH/SMULH.
These two instructions ignore the register encoded in to RA.
2015-01-22 18:08:49 -06:00
Ryan Houdek db690a1862 Merge pull request #1936 from lioncash/kb
Minor keyboard-related cleanups.
2015-01-22 16:23:34 -06:00
Ryan Houdek bff230fe2e Merge pull request #1945 from skidau/GCPad-Init
Fixed the GCPad and GCKeyboard getting initialised four times each.
2015-01-22 10:41:43 -06:00
Ryan Houdek bb1ca26c57 Merge pull request #1940 from Sonicadvance1/AArch64_implement_xer
[AArch64] Implement mfspr/mtspr XER routines.
2015-01-22 10:31:22 -06:00
Scott Mansell daf760b202 A few small cleanups based on code review. 2015-01-23 04:38:36 +13:00
Scott Mansell e88c02dece Ensure that ZSlopes save/restore state correctly.
Had to re-do *ShaderManager so they saved their constant arrays
instead of completly rebuilding them on restore state.
2015-01-23 03:32:31 +13:00
Scott Mansell 128d303656 Reduce number of divisions in screenspace transform.
This is closer to what the hardware does anyway.
2015-01-23 03:32:31 +13:00
NanoByte011 add59b3bea Fixes Mario Tennis Gimmick Courts and adds support for FastDepthCalc
- Calculate ZSlope every flush but only set PixelShader Constant on Reset Buffer when zfreeze
- Fixed another Pixel Shader bug in D3D that was giving me grief
2015-01-23 03:32:31 +13:00
Scott Mansell 6d5065c58d Fix pixelshader constant offsets. 2015-01-23 03:32:31 +13:00
Scott Mansell 88c7afd315 Make zfreeze use screenspace coordinates independant of IR.
OpenGL requires the y coordinates to be flipped.

Also refactored PixelGen code to remove duplicate code.
2015-01-23 03:32:31 +13:00
Scott Mansell 418296961c Fix various issues with zfreeze implemntation.
Results are still not correct, but things are getting closer.

 * Don't cull CULLALL primitives so early so they can be used as reference
        planes.
 * Convert CalculateZSlope to screenspace coordinates.
 * Convert Pixelshader to screenspace coordinates (instead of worldspace
        xy coordinates, which is totally wrong)
 * Divide depth by 2^24 instead of clamping to 0.0-1.0 as was done
        before.

Progress:
 * Rouge Squadron 2/3 appear correct in game (videos in rs2 save file
         selection are missing)
 * Shadows draw 100% correctly in NHL 2003.
 * Mario golf menu renders correctly.
 * NFS: HP2, shadows sometimes render on top of car or below the road.
 * Mario Tennis, courts and shadows render correctly, but at wrong depth
 * Blood Omen 2, doesn't work.
2015-01-23 03:32:31 +13:00
NanoByte011 613781c765 Cleanup and refactor of zfreeze port
Based on the feedback from pull request #1767 I have put in most of
degasus's suggestions in here now.

I think we have a real winner here as moving the code to
VertexManagerBase for a function has allowed OGL to utilize zfreeze now
:)

Correct use of the vertex pointer has also corrected most of the issue
found in pull request #1767 that JMC47 stated.  Which also for me now
has Mario Tennis working with no polygon spikes on the characters
anymore!  Shadows are still an issue and probably in the other games
with shadow problems.  Rebel Strike also seems better but random skybox
glitches can show up.
2015-01-23 03:32:31 +13:00
NanoByte011 937844b9e3 Initial port of zfreeze branch (3.5-1729)
Initial port of original zfreeze branch (3.5-1729) by neobrain into
most recent build of Dolphin.

Makes Rogue Squadron 2 very playable at full speed thanks to recent core
speedups made to Dolphin. Works on DirectX Video plugin only for now.

Enjoy!  and Merry Xmas!!
2015-01-23 03:31:54 +13:00
skidau d27bd9d291 Merge pull request #1885 from degasus/custom_texture
CustomTexture: new name format
2015-01-23 00:43:39 +11:00
skidau 6ad5d4681a Fixed the GCPad and GCKeyboard getting initialised four times each. 2015-01-23 00:06:54 +11:00
NanoByte011 0a9257ad37 Cleaned up whitespace
Fixed Directional Attenuation (assumed, data was light dir vector already, but it was not!)
2015-01-21 22:30:41 -07:00
Fog 6cad635bd8 Use ffmpeg for Windows Video Dumping instead of VFW 2015-01-21 19:47:45 -05:00
Ryan Houdek 85754c63ca [AArch64] Implement mfspr/mtspr XER routines.
These were fairly simple to implement.
2015-01-21 16:56:27 -06:00
NanoByte011 f475e367f2 Lighting Attenuation Fixes 2015-01-21 15:55:32 -07:00
degasus 7cf4dd63e4 CustomTexture: fix texture format 2015-01-21 23:33:42 +01:00
Ryan Houdek e7f2a04699 Merge pull request #1938 from CarlKenner/paddedfunctions
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
2015-01-21 15:17:31 -06:00
Ryan Houdek 621322bbae Merge pull request #1260 from pauldacheez/video-dialog-string-touchups
Improve some setting descriptions in the graphics options.
2015-01-21 14:59:45 -06:00
degasus 1d0557a5e6 CustomTexture: use xxhash 2015-01-21 21:47:18 +01:00
degasus 84c8645d22 CustomTexture: Convert old format automatically 2015-01-21 21:22:55 +01:00
degasus f9ced4eb13 CustomTexture: also support the legacy format 2015-01-21 21:22:55 +01:00
degasus 62402efa6c CustomTexture: Mark textures with mipmaps 2015-01-21 21:22:55 +01:00
degasus ee9d05d67f CustomTexture: Use another file name with wildcards 2015-01-21 21:22:55 +01:00
degasus a353ead3cb CustomTexture: Use always safe texture hash 2015-01-21 21:22:55 +01:00
degasus eeaad06a07 CustomTexture: check for min/max index on paletted textures 2015-01-21 21:22:55 +01:00
Ryan Houdek 1c62c2f935 Merge pull request #1924 from degasus/xxhash
VideoCommon: xxhash
2015-01-21 14:19:35 -06:00
Ryan Houdek e4b04c64f0 Merge pull request #1870 from Stevoisiak/countryFilters
Country filter fixes/consistency
2015-01-21 13:48:35 -06:00
Ryan Houdek 80e6367e46 Merge pull request #1869 from Stevoisiak/GeneralConsistency
Minor consistency changes
2015-01-21 13:46:53 -06:00
Ryan Houdek f9fc9d47c0 Merge pull request #1895 from JosJuice/isvolumewiidisc
Don't read from disk when checking volume type
2015-01-21 13:45:28 -06:00
Ryan Houdek 4c9fd63562 Merge pull request #1932 from Buddybenj/freelook
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-21 13:41:29 -06:00
Ryan Houdek 50d495b581 Merge pull request #1916 from mimimi085181/master
Make efb to texture less broken for paletted textures that are efb copies
2015-01-21 13:40:36 -06:00
Ryan Houdek b8b537d96e Merge pull request #1934 from Buddybenj/change-order
Change Order of Some Hotkeys
2015-01-21 13:38:10 -06:00
Ryan Houdek a5e9c5e718 Merge pull request #1910 from Sonicadvance1/LLVMDisassembly_improvements
Improve the LLVM disassembler in the debug window.
2015-01-21 13:29:47 -06:00
Ryan Houdek ca10ce36cc Merge pull request #1923 from Sonicadvance1/remove_sdl_assumption
Remove an assumption in SDL.
2015-01-21 13:29:39 -06:00
Ryan Houdek 7fba4856ce Merge pull request #1931 from Sonicadvance1/Fix_PP_Config
Fix the Post Processing shader configuration dialog.
2015-01-21 13:29:01 -06:00
Ryan Houdek 41dd0667ed Merge pull request #1930 from Sonicadvance1/AArch64_scalar_ops
[AArch64] Move the 64bit floating point instructions to scalar.
2015-01-21 13:28:53 -06:00
Ryan Houdek d86eaea393 Merge pull request #1935 from Sonicadvance1/AArch64_fix_fp_loadstore
[AArch64] Fix bugs in floating point loadstores.
2015-01-21 13:28:46 -06:00
Paul Olszewski 14d856bbc4 Improve and/or arbitrarily change the descriptions of various settings in the graphics options. 2015-01-21 12:17:19 -06:00
CarlKenner 0ab1517134 Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
This fixes function detection in the debugger, and prevents functions showing up as four bytes inside another function.
2015-01-22 02:00:35 +10:30
degasus 402fb4bd20 xxhash: Add cmake + VS files
Based on riking's PR.
2015-01-21 07:35:34 +01:00
Lioncash 52e74a5070 GCKeyboardEmu: Use range-based for loops for iterating the key arrays 2015-01-20 21:28:40 -05:00
Lioncash b1c1a2cc6f Core: Add the GCKeyboard source files to the GCKeyboard VS filter
Was previously in the GCPad filter.
2015-01-20 21:19:51 -05:00
Lioncash 566a7a4829 SI_DeviceKeyboard: Remove superfluous virtual specifiers.
Removes an unnecessary memset as well.
2015-01-20 21:03:58 -05:00
skidau 5cd8a80553 Merge pull request #1893 from skidau/GCKeyboard
Added GameCube Keyboard support.
2015-01-21 12:43:49 +11:00
Ryan Houdek 32bfccce32 [AArch64] Fix bugs in floating point loadstores.
The Backpatching routines didn't correctly understand where to find the real VFP register from, so in most cases it was using D0.
Fixes bugs in the slowmem loadstore routines as well.
2015-01-20 19:11:04 -06:00
Benjamin Przybocki a25b07ec56 Change Order of Some Hotkeys 2015-01-20 18:16:36 -06:00
Ryan Houdek e3cff625cb Merge pull request #1906 from jefflongo/patch-1
Update NetPlayServer.cpp
2015-01-20 17:13:13 -06:00
Ryan Houdek e72f70f440 Merge pull request #1929 from Armada651/fix-ppl
PixelShaderGen: Fix uninitialized variables.
2015-01-20 16:51:43 -06:00
Benjamin Przybocki 9291d61d98 Fix Default Freelook Hotkey to Match Description (For Real This Time) 2015-01-20 16:46:38 -06:00
Ryan Houdek d348bfea46 Fix the Post Processing shader configuration dialog.
On locales that don't use period as a separator this would break us.
For vector values in a configuration, we use comma as a separator which causes the configuration to balloon to massive sizes due to never saving them
correctly. Loading would then break since it would load a million configuration options.
Fixes issue #7569.
2015-01-20 16:40:46 -06:00
Ryan Houdek 67f2ff2e18 [AArch64] Move the 64bit floating point instructions to scalar.
Instead of doing vector operations and throwing away the top 64bits of each operation, let's instead use scalar operations.
On Cortex-A57 this saves us three cycles per vector operation changed to scalar, so this saves 3-9cycles per instruction emulated.
Also puts one less micro-op in to the vector pipeline there.
On the Nvidia Denver I couldn't see any noticeable performance difference, but it's a quirky architecture so it may be noticing we are throwing away
the top bits anyway and optimizing it. The world may never know what's truly happening there.
2015-01-20 16:35:08 -06:00
Ryan Houdek 217c2c9d6a [AArch64] Add some more scalar VFP ops to the emitter. 2015-01-20 16:34:32 -06:00
Ryan Houdek 7f68a357ad Merge pull request #1914 from Sonicadvance1/AArch64_minor_improvements
[AArch64] Minor Improvements and bug fix.
2015-01-20 16:33:17 -06:00
Ryan Houdek cb967a6ff2 Merge pull request #1911 from Sonicadvance1/AArch64_paired_loadstores
[AArch64] Implements paired loadstores
2015-01-20 16:33:08 -06:00
Jules Blok f40cd04a29 PixelShaderGen: Fix uninitialized variables. 2015-01-20 23:15:01 +01:00
Ryan Houdek 714697faaf Merge pull request #1909 from Sonicadvance1/GLExtensions_additions
Add support for two new OpenGL ES extensions.
2015-01-20 14:51:54 -06:00
Ryan Houdek 4262d2199a [AArch64] Implements paired loadstores. 2015-01-20 13:57:14 -06:00
Rohit Nirmal e35766cbcd Fix building with PCH disabled. 2015-01-20 17:01:37 +00:00
skidau 84848b52e0 Fixed the emulated wiimote speaker's ADPCM sample rate. Patch by hk.konpie. 2015-01-21 00:11:54 +11:00
Markus Wick 8ff1dc9c87 Merge pull request #1925 from Tilka/vertex_loader_jit
VertexLoaderX64: fix alpha of indirect 8888 colors
2015-01-20 09:40:46 +01:00
Tillmann Karras 1dcf49237b VertexLoaderX64: support VAT.ByteDequant=0 2015-01-20 09:23:15 +01:00
Tillmann Karras 46ab5d63d6 VertexLoader: never reset alpha in 8888 colors
Fixes the opening menu of Xenoblade Chronicles.
2015-01-20 09:22:55 +01:00
skidau 6f61f90dab Merge pull request #1777 from JosJuice/filemonitor-volumedirectory
Add FileMonitor support for VolumeDirectory
2015-01-20 12:32:42 +11:00
Tillmann Karras 80617ec6bd VertexLoader: remove weird line 2015-01-20 01:53:52 +01:00
Tillmann Karras 873902b4a3 VertexLoader: remove non-JIT SSE code 2015-01-20 01:51:07 +01:00
Ryan Houdek 38cb9bbfae Merge pull request #1889 from magumagu/remove-hle-end
Remove HLE_HOOK_END.
2015-01-19 18:16:47 -06:00
Markus Wick 0d0f7ec662 Merge pull request #1894 from Armada651/exclusive-fix
D3D: Fix Dolphin immediately exiting exclusive fullscreen.
2015-01-19 23:29:43 +01:00
Ryan Houdek 817abdd579 Remove an assumption in SDL.
We can compile with haptic support, and then not initialize due to haptics not being available.
So if we are compiling with haptics, test initializing with haptics and if that fails attempt to initialize without haptics before bailing out.
2015-01-19 16:07:28 -06:00
Jules Blok 332d5888eb VideoConfig: Add exclusive mode flag.
Allows the UI to easily check the current exclusive mode state.
This simplifies a few checks and prevents the user from ever getting stuck in fullscreen.
2015-01-19 22:55:21 +01:00
Ryan Houdek 7376956c92 Merge pull request #1912 from Sonicadvance1/Android_remove_workaround
[Android] Remove posix_memalign workaround.
2015-01-19 15:36:17 -06:00
jefflongo 6b64c309df Update NetPlayServer.cpp
Update NetPlayServer.cpp
2015-01-19 12:13:23 -08:00
CarlKenner 4768d0f0a8 This fixes stereoscopic 3D with XFB enabled, for example in the intro in Animal Crossing GameCube NTSC.
The maths appears to give crazy impossible answers without this fix, but the cause is all the ints being "promoted" to unsigned because of the single unsigned division at the end.
2015-01-20 03:42:58 +10:30
Markus Wick 7454297820 Merge pull request #1922 from Tilka/vertex_loader_jit
VertexLoader: fix position offset bug
2015-01-19 17:53:50 +01:00
Tillmann Karras 804341d4fe VertexLoader: fix position offset bug 2015-01-19 17:38:40 +01:00
Tillmann Karras 4b323096ec VertexLoader_Position: remove old JIT ideas 2015-01-19 17:36:24 +01:00
Ryan Houdek dc95ea2ce6 Minor fix with psq_st{u,}x disassembly. 2015-01-19 10:12:23 -06:00
Adam D. Moss 05d2bf6060 Audio: Drop the LFE/subwoofer channel from the decoded surround
DPL2Decode still doesn't decode 5.1 properly, leaving bass in all channels, but its 5.0 is pretty good, so leave it at that.
2015-01-19 10:24:44 +00:00
Ryan Houdek 4551bb6ce6 Add support for two new OpenGL ES extensions.
This adds support for OES_draw_elements_base_vertex and EXT_buffer_storage.
2015-01-18 23:01:43 -06:00
Lioncash ed58b1fd5b Merge pull request #1913 from Sonicadvance1/fix_paired_store_disassembly
Fixes disassembly of paired store instructions.
2015-01-18 23:27:34 -05:00
skidau 6b0431e80a Merge pull request #1888 from john-peterson/padclamp
Fix the input zone drawing in input settings
2015-01-19 15:22:08 +11:00
Ryan Houdek 7e64869185 Merge pull request #1887 from Tilka/vertex_loader_jit
VertexLoader: rewrite x64 JIT
2015-01-18 19:48:14 -06:00
mimimi085181 0d3343d093 Make efb to texture less broken for paletted textures that are efb copies
Don't change the texID depending on the tlut_hash for paletted textures that are efb copies and don't have an entry in the cache for texID ^ tlut_hash. This makes those textures less broken when using efb to texture.

This is not really fixing those textures, but it's a step forward. The mini map in Twilight Princess for example is in grayscales with this and is more or less usable.
2015-01-19 01:31:41 +01:00
Ryan Houdek 98d99a9eef [AArch64] Optimize loadstores address calculation.
For offsets that fit in the instruction encoding then we should just put it in the instruction encoding.
Saves an instruction in a large amount of loadstores.
2015-01-18 16:45:42 -06:00
Ryan Houdek cfd4348b7a [AArch64] Fully implement cmpl and cmpli. 2015-01-18 16:45:00 -06:00
Ryan Houdek 4547b64959 [AArch64] Fixe a bug in constant propagated ComputeRC.
Must not have been thinking, we do want to sign extend when the highest bit is set.
2015-01-18 16:44:33 -06:00
Ryan Houdek 596d3fd5f2 Fixes disassembly of paired store instructions.
Someone thought it would be a good idea to have the location as the first argument on the instruction.
Changed it to how it is supposed to be disassembled.
2015-01-18 16:37:43 -06:00
Ryan Houdek 08e50ec6dd [Android] Remove posix_memalign workaround.
Google fixed the issue of posix_memalign not being available. It now works fine in r10d of the NDK.
2015-01-18 16:34:42 -06:00
Ryan Houdek 8d5947efac [AArch64] Emitter improvements.
Adds a bunch of new instructions to the emitter.
2015-01-18 16:25:40 -06:00
Tillmann Karras d3f49097c5 VertexLoaderX64: register symbol for code page 2015-01-18 23:20:44 +01:00
Ryan Houdek 44405e2ec2 Expose the JIT quantize and dequantize arrays to all the JITs.
Removes the ARMv7 arrays that were being used, and lets it use the common one instead.
2015-01-18 16:20:26 -06:00
Ryan Houdek 95ac48d605 Improve the LLVM disassembler in the debug window.
There are a couple things in this PR.
Fixes a bug where if we hit an invalid instruction we would infinite loop.
Fixes an issue where on AArch64 it would show invalid instructions for all NEON instructions.
This was due to asimd and crc being optional extensions and LLVM not enabling them by default.
So we have to specify a CPU which has the feature. LLVM 3.6 will let us select by features instead of CPUs, but we don't have a release of that quite
yet.

If we are on an architecture that has a known instruction size, we will continue onward after hitting the invalid instruction. If we don't have a
known instruction size like on x86, we will instead just dump the rest of the block.
2015-01-18 15:31:40 -06:00
degasus 9f13a77799 TexCache: don't try to aggressive reuse the entry
As we pool them now, freeing and reallocating them is quite fast.
2015-01-18 19:58:33 +01:00
degasus 8565f02699 TexCache: use an unordered_multimap for the tex pool 2015-01-18 19:58:33 +01:00
degasus 4639d3b1bc TexCache: also incude textures within the render target pool 2015-01-18 19:47:48 +01:00
degasus 6cd6e6546f TexCache: merge texture and rendertarget factory function 2015-01-18 19:47:48 +01:00
degasus 615ae9f106 TexCache: remove PC_TexFormat
We only support rgba32 for a while now, so there is no need to have everything in common configureable.
2015-01-18 19:47:48 +01:00
Tillmann Karras bc5cf10ad5 VertexLoaderX64: optimize color conversions 2015-01-18 17:47:18 +01:00
John Sebastian Peterson 3f8e5cc929 Fix the input zone drawing in input settings 2015-01-18 17:25:50 +01:00
Tillmann Karras 7d0cff05e9 VertexLoaderX64: make table lookup deterministic 2015-01-18 16:22:21 +01:00
Tillmann Karras 1855d56f1a VertexLoaderX64: fix a bunch of stuff
Suggestions by @degasus and @FioraAeterna.
2015-01-18 13:31:28 +01:00
Tillmann Karras dc01e261d1 VertexLoaderX64: fix duplicate register allocation
Thanks to @shuffle2 for noticing this.
2015-01-18 13:30:21 +01:00
Tillmann Karras f5545477e3 VertexLoaderX64: suggestions by @magumagu
- avoid register merges
- avoid redundant MOV
2015-01-18 13:30:19 +01:00
Tillmann Karras b27ba3802e VertexLoaderX64: implement pre-Haswell fallbacks 2015-01-18 13:29:34 +01:00
Tillmann Karras e80b657cf4 Move MOVBE wrappers directly into XEmitter class 2015-01-18 13:29:34 +01:00
Tillmann Karras e82e9f97f5 VertexLoader: add new JIT 2015-01-18 13:29:34 +01:00
Tillmann Karras eb13aa43fe XEmitter: overload MOVBE() 2015-01-18 12:59:33 +01:00
Tillmann Karras 20ded4c1e5 VertexLoader: remove old JIT 2015-01-18 12:59:33 +01:00
Tillmann Karras bec30068a6 VertexLoader_TextCoord: reorder function list 2015-01-18 12:59:33 +01:00
Tillmann Karras d86957944a VertexLoader_Color: clean up 2015-01-18 12:59:33 +01:00
Tillmann Karras 6a26771cd5 VertexLoader_Normal: use shorter notation 2015-01-18 12:59:33 +01:00
Tillmann Karras 20bc18cd5d VertexLoaderManager: make it nicer to read 2015-01-18 12:59:33 +01:00
Tillmann Karras b0df4b08ec VertexLoaderTester: fix a few problems 2015-01-18 12:59:33 +01:00
Tillmann Karras 2cedc0034d DataReader: turn WritePointer into GetPointer 2015-01-18 12:59:33 +01:00
Tillmann Karras 68d204e877 D3D: remove unused variable 2015-01-18 12:59:33 +01:00
skidau 37a770bb9f Merge pull request #1896 from johnwchadwick/asmcommon-larger-codespace
Increase AsmCommon code space to fix crashes on Linux systems.
2015-01-18 15:22:31 +11:00
Markus Wick 0acbb88aa2 Merge pull request #1905 from degasus/master
VideoSW: Fix vertex skipping
2015-01-18 04:59:16 +01:00
degasus 3630de99ed VideoSW: Fix vertex skipping 2015-01-18 04:52:56 +01:00
skidau a2d98ced67 Merge pull request #1892 from magumagu/backpatch-padding
JIT: Fix the return pointer for backpatched operations.
2015-01-18 14:20:03 +11:00
magumagu 7d5abb4eb4 D3D: allow selecting adapters with no outputs.
The result might be a little iffy in complicated situations (i.e. you have
three graphics cards and monitors hooked up to two of them), but we really
need better UI for such cases anyway.
2015-01-17 14:27:11 -08:00
mimimi085181 96bcb09fb2 Fix another small bug with the efb2ram cache
Textures that are directly next to each other were falsely detected as overlapping.
2015-01-17 19:10:00 +01:00
Jules Blok 8d69658a9d Add exclusive mode OSD messages. 2015-01-17 16:11:17 +01:00
Jules Blok b87fddb027 D3D: Allow borderless fullscreen to be turned on/off during gameplay. 2015-01-17 16:11:12 +01:00
JosJuice ace060748b Don't read from disk when checking volume type
Should be faster than relying on the OS to cache the magic words.
Also gets rid of the odd recursive call in VolumeDirectory.
2015-01-17 13:21:02 +01:00
John Chadwick 390ec6977c Increase AsmCommon code space to fix crashes on Linux systems.
Revision b058bbd was causing the AsmCommon routines to overrun the code
buffer allocated for it. According to Fiora, it happens only on Linux
because of the fact that Linux has more caller-save registers than other
platforms.
2015-01-17 01:36:45 -05:00
skidau 5dedf88922 Escaped the backslash character and relabelled the = key to EQUALS so that it gets saved in the ini profile. 2015-01-17 11:46:56 +11:00
skidau 6d8ab0c256 Draw buttons in rows of eight in the Controller config. 2015-01-17 11:16:15 +11:00
skidau 5e8ab05cc0 Added GameCube Keyboard support. 2015-01-17 09:36:05 +11:00
Jules Blok 803bea5004 D3D: Fix Dolphin immediately exiting exclusive fullscreen. 2015-01-16 16:01:29 +01:00
magumagu c09e41d652 JIT: Fix the return pointer for backpatch trampolines.
The key change is that for stores less than 5 bytes, the correct
place for the trampoline to return is immediately after the backpatched jump,
not somewhere inside it.
2015-01-15 19:30:59 -08:00
skidau c2bdcbe71c Merge pull request #1837 from adamdmoss/sdl-more-haptic
SDL Input: Support more types of force feedback for controllers through SDL
2015-01-16 12:39:24 +11:00
magumagu e92e1e5873 Remove HLE_HOOK_END.
It isn't used, it isn't implemented in interpreter, and the implementation
in JIT is wrong.
2015-01-15 11:54:20 -08:00
Stevoisiak d83e7dde86 De-capitalized countries 2015-01-14 23:44:03 -05:00
skidau 9d9ffa5b83 Merge pull request #1880 from Shadoxfix/master
Allow minimum volume to be set to 0% in the interface.
2015-01-15 14:08:38 +11:00
skidau 98f0f1a70e Merge pull request #1832 from shonumi/disable-configs
Properly disable or enable Configure buttons for GC controllers
2015-01-15 14:07:54 +11:00
Daniel Stuart Baxter 4de47a4187 Properly disable or enable Configure buttons for GC controllers
Only disable GBA and None
2015-01-14 20:16:13 -06:00
Tillmann Karras 904a1c5558 Jit64: fix psq_l/st regression 2015-01-14 23:36:24 +01:00
Ryan Houdek 0a3cb35320 Merge pull request #1688 from waddlesplash/dolphin-qt
DolphinQt: remove non-render-to-main and add fullscreen.
2015-01-14 13:56:37 -06:00
Markus Wick 7069450ce5 Merge pull request #1872 from degasus/texcache
Texcache cleanup 2
2015-01-13 22:45:49 +01:00
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
magumagu 90d0096653 JIT: cleanup instrction merging for idle loop and dcbst.
Use MergeAllowedNextInstructions where appropriate, and read from the
instruction buffer rather than poking directly into memory.
2015-01-11 12:53:23 -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
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
Stevoisiak 237ceacb2e Added more settings tooltips
Also made minor revisions to existing tooltips
2015-01-10 22:46:32 -05: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
riking b996649073 Reword "Boot from DVD Drive" -> "Backup" menu option 2014-12-28 12:55:03 -08: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
Pierre Bourdon f2a07e43d1 Merge pull request #1638 from Stevoisiak/DSP-to-Audio
Rename DSP settings to Audio settings
2014-12-21 01:57:39 +01:00
Stevoisiak 91aeb7510f Changed config DSP references to config audio 2014-12-20 19:46:59 -05:00
Ryan Houdek 829132d465 Merge pull request #1732 from Sonicadvance1/stupid_android_garbage
Work around broken Android garbage.
2014-12-20 15:29:38 -06:00
Ryan Houdek f2d998c938 Work around broken Android garbage.
This fixes running Dolphin on the Nexus 9.

Android's EGL stack has internal arrays that they use for tracking OpenGL function usage. Probably has something to do with their OpenGL profiling
garbage that used to be in ADT.

Android has three of these arrays, each statically allocated.
One array is for all GLES 1.x functions
One array is for all GLES 2.0/3.0/3.1 and a couple of extensions they deem worthy of being in this array.
The last array is for all function pointers grabbed via eglGetProcAddress that isn't in the other two arrays.

The last array is the issue that we are having problems with. This array is 256 members in length.
So if you are pulling more than 256 function pointers that Google doesn't track in their internal array, the function will return NULL and yell at you
in logcat.

The Nvidia Shield Tablet gets around this by replacing part of the EGL stack with their own implementation that doesn't have this garbage.
The Nexus 9 on the other hand doesn't get away with this. So we pull >100 more function pointers than the array can handle, and some of those we need
to use.

The workaround for this is to grab OpenGL 1.1 functions last because we won't actually be using those functions, so we get away with not grabbing the
function pointers.
2014-12-20 15:15:57 -06:00
JosJuice 34a37cc30d WII_IPC_HLE: Fix timing weirdness
The reply delay of a command shouldn't be ignored just because the
previous command isn't done yet. DI is way too fast without this change.
2014-12-20 22:07:30 +01:00
JosJuice be9789f2c6 WII_IPC_HLE_Device_DI: Use the new accurate timing 2014-12-20 22:07:28 +01:00
JosJuice a7296681ff WII_IPC_HLE: Return delay time instead of using GetCmdDelay 2014-12-20 22:07:15 +01:00
Dolphin Bot f978d141c8 Merge pull request #1720 from Armada651/stereo-msaa
FramebufferManager: Support resolving a multi-layered EFB
2014-12-20 20:35:36 +01:00
degasus a858db1d27 OGL: move osd warning for not supported stereo mode into config validation 2014-12-20 19:54:00 +01:00
degasus ed9c14e0d5 OGL: Fix OGL3 with stereo enabled 2014-12-20 19:13:34 +01:00
Markus Wick 9122c868fe Merge pull request #1734 from Armada651/stereo-fixes
GeometryShaderManager: Set stereo parameters in a SetConstants() call.
2014-12-20 17:48:31 +01:00
Pierre Bourdon dad7911214 Merge pull request #1486 from rohit-n/goto
Remove some gotos.
2014-12-20 16:47:55 +01:00
Pierre Bourdon cee4a85a12 Merge pull request #1633 from JosJuice/dvd-speed-tweak
DVDInterface: Tweak speeds
2014-12-20 16:46:22 +01:00
Pierre Bourdon 24a2ca4d28 Merge pull request #1703 from FioraAeterna/saveregs
JIT: free up a register by eliminating RCODE_POINTERS
2014-12-20 16:45:08 +01:00
Pierre Bourdon e7eb4c06e2 Merge pull request #1634 from JosJuice/disc-drive-unification-lite
Make WII_IPC_HLE_Device_DI call DVDInterface
2014-12-20 16:41:52 +01:00
Jules Blok d37b65c117 FramebufferManager: Support resolving a multi-layered EFB in OGL. 2014-12-20 16:08:00 +01:00
degasus 3322c55484 OGL: don't clear the stencil buffer
We don't have one. This should remove some spamming of the nvidia driver.
2014-12-20 15:17:20 +01:00
degasus 3f9b52e555 OGL: draw shadows within rasterfont itself 2014-12-20 13:31:41 +01:00
Jules Blok d09af2dbba GeometryShaderManager: Set stereo parameters in a SetConstants() call.
Doing it in SetProjectionChanged() is too early because the projection type is not set yet.
2014-12-20 13:16:26 +01:00
degasus fb177ca04e VideoCommon: merge debug test generators 2014-12-20 13:06:29 +01:00
JosJuice d1c8a8bd9f Make WII_IPC_HLE_Device_DI call DVDInterface 2014-12-20 13:02:04 +01:00
degasus ffa014dd48 VideoCommon: merge debug info generators 2014-12-20 12:25:10 +01:00
Dolphin Bot a560d8f150 Merge pull request #1716 from Armada651/geom-wireframe
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-20 12:22:40 +01:00
degasus e6137407ba GLX: try to get an OpenGL 3.3 core context 2014-12-20 10:57:34 +01:00
Matthew Parlane 6a785af280 Merge pull request #1704 from phire/wii_ssl_segfault
De-memsetify Wii_SSL and fix segfault.
2014-12-20 21:16:55 +13:00
comex fba3abe4cf Manually revert d34418100b 2014-12-20 00:33:15 -05:00
skidau 31bc51072b Merge pull request #1712 from skidau/GC-Adapter-thread-fix
Corrected the buffer that is used by the GCAdapter thread.
2014-12-20 13:09:19 +11:00
Jules Blok bc3ed44050 OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks. 2014-12-19 23:56:02 +01:00
skidau f913cb6ab6 Removed redundant code from the GC Adapter interface. 2014-12-20 09:44:35 +11:00
skidau 9eecfca71d Corrected the buffer that is used by the GCAdapter thread. 2014-12-20 09:44:35 +11:00
Ryan Houdek b30802e2f0 Merge pull request #1721 from Sonicadvance1/fix_adreno_400
Fixes Adreno 400 performance.
2014-12-19 15:55:50 -06:00
Jules Blok 0d79e8f32b VideoCommon: Don't specify the redundant in/out qualifier if GL_ARB_shading_language_420pack is supported.
Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
2014-12-19 22:45:39 +01:00
Ryan Houdek 8c0e26d969 Minor changes to DriverDetails
Fixes a typo where the official IMGTec drivers were said to be the OSS driver support.
Removes Mali GPU family detection just like I removed the Adreno family detection.
We don't support Mali Utgard anyway.
If we need family detection we can properly add it, right now it isn't needed.
2014-12-19 21:41:12 +00:00
Jules Blok 761749e07f FramebufferManager: Support resolving a multi-layered EFB in D3D. 2014-12-19 22:37:28 +01:00
Jules Blok 0ae082fb61 FramebufferManager: Return the depth texture instead of the color texture in GetResolvedEFBDepthTexture() when AA is enabled. 2014-12-19 22:37:28 +01:00
Ryan Houdek 0fec69001b Fixes Adreno 400 slow performance.
Adreno 300 and 400 have the same video driver performance issues because they are very similar architectures which use basically the same thing with
everything.
There isn't any need to detect the family of the driver with Qualcomm anyway. If we ever need family specific bugs then we can implement real support
for that.
Performance issue on Adreno 400 series was due to us only detecting Adreno 300 series, and with Adreno 400 it wouldn't use the bugs, which would cause
it to use glBufferSubData, causing the huge performance hit.
2014-12-19 21:31:37 +00:00
Lioncash 6adfa92a7e ControllerConfigDiag: Potentially fix scaling problems on high DPI
Fixes issue 7940 hopefully.
2014-12-19 14:50:36 -05:00
Jules Blok 531b3941ff GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled. 2014-12-19 14:24:08 +01:00
Jules Blok 1b9fe70d7c VideoCommon: Make IsPassthrough() a function of the ShaderUid. 2014-12-19 14:10:53 +01:00
Jules Blok c9e469f832 D3DState: Remove wireframe rasterizer support. 2014-12-19 14:10:52 +01:00
Jules Blok 925bbcb85b VideoCommon: Handle wireframe mode in the geometry shader. 2014-12-19 14:10:52 +01:00
Jules Blok cdd9e07522 VideoCommon: Add in/out qualifiers to centroid storage qualifier.
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
2014-12-19 12:19:15 +01:00
Ryan Houdek 02f22152be Merge pull request #1706 from Armada651/line-width
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
2014-12-18 19:43:12 -06:00
Jules Blok e7e8a4f1cb GeometryShaderGen: Don't use the reserved keyword "point" in D3D. 2014-12-19 02:24:41 +01:00
Markus Wick c7b809d46b Merge pull request #1669 from degasus/swvertexloader
Video Software Vertex Loader
2014-12-18 19:30:56 +01:00
shuffle2 717e155ce1 Merge pull request #1689 from kayru/d3d_efb_copy_fix
D3D: Fixed D3D validation error during EFB to texture copy
2014-12-18 02:59:51 -08:00
Stevoisiak 200097f25d Renamed dsp.png to audio.png
Note: This will break custom themes.
2014-12-18 01:01:57 -05:00
Jules Blok 8dc3653ac9 VideoCommon: Don't pass structs between shader stages when geometry shaders are unsupported. 2014-12-18 00:37:16 +01:00
Jules Blok 1f84f4632d OGL: Check OpenGL version for geometry shader support. 2014-12-18 00:37:16 +01:00
Jules Blok 93ce95b48e D3D: Use ROUND_UP macro for rounding buffer sizes. 2014-12-18 00:37:15 +01:00
Jules Blok 69df23f725 VideoCommon: Only use interface blocks when geometry shaders are supported. 2014-12-18 00:37:14 +01:00
Jules Blok 1af3d8447a GeometryShaderManager: Set the constants within the callbacks. 2014-12-18 00:37:09 +01:00
Jules Blok 3d9dfad6a2 D3D: Set the geometry shader before every draw call.
And refactor the VertexManager draw call.
2014-12-18 00:36:50 +01:00
Jules Blok 7e8f96f0d3 OGL: Don't generate a geometry shader if the backend doesn't support it.
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18 00:36:49 +01:00
Jules Blok 782a5adb94 VideoCommon: Pass interface blocks between shader stages to resolve naming conflicts. 2014-12-18 00:36:49 +01:00
Jules Blok bd6d229733 GeometryShader: Disable the geometry shader stage if it is a pass-through shader. 2014-12-18 00:36:48 +01:00
Jules Blok f2e52b46c3 GeometryShaderGen: Cosmetics. 2014-12-18 00:36:47 +01:00
Jules Blok 2850c9a206 VertexManager: Disable culling for lines and points. 2014-12-18 00:36:47 +01:00
Jules Blok 0ac7103391 GeometryShaderGen: Pack uniforms more tightly. 2014-12-18 00:36:40 +01:00
degasus 5f322cc9e8 Jit: move constants out of class
This fixes a linking issues on debug builds.
2014-12-17 23:42:10 +01:00
Yuriy O'Donnell 5688c27610 D3D: Moved setting texture by slot mask into StateManager 2014-12-17 23:41:26 +01:00
Markus Wick 98292682fe Merge pull request #1709 from unknownbrackets/attributeless-fix
OGL: Attempt a larger buffer to workaround 7946
2014-12-17 14:20:54 +01:00
skidau 5313dd1b8c Merge pull request #1702 from CarlKenner/DebugSymbols
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00