Michael Maltese
88f7056a41
Remove include Xlib.h from X11Utils.h
2017-02-15 16:49:21 -08:00
JosJuice
f80f7b6f9c
Merge pull request #4883 from JosJuice/dvd-timing-address-translation-2
...
DVDInterface: Translate Wii partition offsets for timing purposes
2017-02-15 21:12:42 +01:00
JosJuice
339f6e353d
Merge pull request #4907 from leoetlino/ios-constants
...
IOS: Add constants for some missing IOSes
2017-02-15 21:09:42 +01:00
Lioncash
92e17d2eb8
IOS: Move net/ip/top code to its own source files
2017-02-15 14:42:43 -05:00
Lioncash
245de3fa4f
IOS: Move network MAC utilities to their own source files
...
All three implementations within Net.cpp currently rely on these
functions.
2017-02-15 13:38:52 -05:00
Lioncash
0da963c32c
NetKDRequest: Make lookup maps const
2017-02-15 11:50:37 -05:00
Mat M
6f272b3a4c
Merge pull request #4862 from lioncash/compile
...
CPU Backends: Make instruction table initialization private
2017-02-15 11:44:37 -05:00
Mat M
8fd16db80d
Merge pull request #4778 from leoetlino/update-mbedtls
...
Externals: Update mbedtls to 2.4.1
2017-02-15 11:30:18 -05:00
Mat M
5a53763c1a
Merge pull request #4892 from lioncash/control
...
Control: Convert raw pointer parameter into unique_ptr
2017-02-15 11:26:53 -05:00
Mat M
3d1f00e98d
Merge pull request #4874 from ligfx/movie_magic_number
...
Movie: replace magic number 8 with sizeof(ControllerState)
2017-02-15 11:25:26 -05:00
Mat M
28a6575244
Merge pull request #4900 from lioncash/netkd
...
IOS: Separate net/kd code out from Net.cpp
2017-02-15 11:21:01 -05:00
Mat M
30ee4dfcdf
Merge pull request #4908 from leoetlino/apostrophe
...
Remove C++14 optional digit separator
2017-02-14 11:06:08 -05:00
Markus Wick
032b6252a0
Merge pull request #4875 from degasus/ABI
...
JitArm64: Optimize GPR register push/pop and fix the FPR one.
2017-02-14 17:02:17 +01:00
Léo Lam
089f45212e
IOS: Add constants for some missing IOSes
...
This adds memory values for IOS11, 20, 30, 50, 51, 52, 60 and 70.
Unfortunately, IOS40 (in its working version) is not present on NUS, so
constants for that one are still missing.
2017-02-14 12:18:58 +01:00
Anthony
f966354044
Merge pull request #4898 from RisingFog/stop_recording_dtm
...
Add Stop Play/Recording Input Menu
2017-02-13 14:10:23 -08:00
Mat M
f68955502a
Merge pull request #4905 from JosJuice/rename-copy-wii-save
...
Rename "Copy Wii Save" to "Load Wii Save"
2017-02-13 09:55:54 -05:00
Léo Lam
1aae7fb9c8
Remove C++14 optional digit separator
...
It confuses GitHub and localization tools. And some people as well.
2017-02-13 14:25:14 +01:00
Matthew Parlane
d1ade5de22
Merge pull request #4904 from JosJuice/oh0-usb-state-warning
...
Don't show savestate USB warning when not using USB passthrough
2017-02-13 14:36:26 +13:00
JosJuice
fc798ca410
Rename "Copy Wii Save" to "Load Wii Save"
...
That netplay uses a separate NAND isn't obvious,
so what "copy" means might not be clear.
2017-02-12 18:40:54 +01:00
JosJuice
8a6b8f7b53
Don't show savestate USB warning when not using USB passthrough
2017-02-12 18:16:26 +01:00
Pierre Bourdon
047394c099
Merge pull request #4903 from leoetlino/usb-kbd-stub
...
IOS/USB_KBD: Re-add the Write stub handler
2017-02-12 16:33:02 +01:00
Léo Lam
5add8c23ee
IOS/USB_KBD: Re-add the Write stub handler
...
This is something I removed by mistake. It didn't break anything in
most titles, but the Mii Channel *requires* write requests to
/dev/usb/kbd to succeed before exiting, so this commit readds the stub.
2017-02-12 16:00:50 +01:00
Mat M
da5683cf27
Merge pull request #4880 from ligfx/windowsmanifest
...
Use .manifest file for apps on Windows
2017-02-12 08:44:38 -05:00
JosJuice
5e799fd469
Merge pull request #4902 from lioncash/unused
...
Boot: Remove unused game ID string
2017-02-12 14:20:05 +01:00
Lioncash
921ab22cb7
Boot: Remove unused game ID string
2017-02-12 07:55:49 -05:00
Léo Lam
b8dd3e690f
Externals: Update mbedtls to 2.4.1
...
The latest version has tons of security fixes (which is expected for a
library such as mbedtls).
Updating also allows getting rid of a few deprecation warnings.
2017-02-12 10:29:02 +01:00
JosJuice
49ec22bc42
DVDInterface: Translate Wii partition offsets for timing purposes
...
Until now, Dolphin has been using the wrong values
for calculating DVD timing for decrypted Wii reads
(which Wii games essentially always use).
2017-02-12 09:37:39 +01:00
Lioncash
40cea773bc
IOS: Separate net/kd code out from Net.cpp
...
Net.cpp is just a huge glob of network related things, this separates the
KD portion out to make things a little more manageable.
2017-02-11 23:09:08 -05:00
Lioncash
1a99e70ed7
Force: Use std::array for m_swing
2017-02-11 20:22:50 -05:00
Lioncash
df3a4580ea
Tilt: Use std::array for m_tilt
2017-02-11 20:22:42 -05:00
Mat M
0e961776e6
Merge pull request #4879 from orbea/llvm
...
CMake: Fix LLVM error
2017-02-11 20:07:34 -05:00
Mat M
3e016ecc1d
Merge pull request #4888 from leoetlino/good-bye-singleton
...
Get rid of a singleton for NAND shared contents
2017-02-11 20:02:52 -05:00
Mat M
9cdb07b2ef
Merge pull request #4886 from leoetlino/no-prefix
...
FileIO: Minor cleanup
2017-02-11 20:00:58 -05:00
Mat M
295600c86e
Merge pull request #4884 from leoetlino/wii-connect-on-boot
...
Fix connecting Wii remotes on boot
2017-02-11 19:59:50 -05:00
Chris Burgener
28c9f2a44d
Add Stop Play/Recording Input Menu
2017-02-11 19:59:19 -05:00
Mat M
daed1189d9
Merge pull request #4891 from ligfx/cmakewarnings
...
CMake: use _SCL_SECURE_NO_WARNINGS instead of _SECURE_SCL=0
2017-02-11 19:55:37 -05:00
Anthony
bb82586a3d
Merge pull request #4897 from JosJuice/correct-es-comment
...
Correct the comment about the number of ES devices
2017-02-11 10:27:35 -08:00
JosJuice
aaa8ad330a
Correct the comment about the number of ES devices
2017-02-11 17:13:42 +01:00
JosJuice
c96bcace2f
VolumeWiiCrypted: Use constant naming style for constants
2017-02-11 12:56:48 +01:00
JosJuice
d19aabb55b
Merge pull request #4895 from lioncash/const
...
ControllerEmu: Add const to UpdateReferences() first reference parameter
2017-02-11 09:27:37 +01:00
JosJuice
e568d57022
Merge pull request #4894 from lioncash/private
...
Cursor: Make m_z private
2017-02-11 09:26:30 +01:00
Léo Lam
81b1425b52
Remove useless Wiimote reconnect code on ES_Launch
...
Turns out it is completely unneeded and it actually works better
*without* it.
Just try launching the system menu from the HBC; in current master, it
will disconnect the remote and not connect it automatically again. With
this change, it will.
2017-02-11 09:02:32 +01:00
Léo Lam
c14becd575
Fix connecting Wii remotes on boot
...
The recent IOS initialization changes caused the Bluetooth device to
no longer exist before "starting" IOS (as it should be…), which meant
that Core could not activate Wii remotes during the boot process
anymore.
But that is actually completely useless, because we can just have the
emulated Bluetooth code itself activate Wii remotes as appropriate,
at the right moment.
2017-02-11 08:58:47 +01:00
Lioncash
98145d2160
ControllerEmu: Add const to UpdateReferences() first reference parameter
...
None of these parameters are modified.
2017-02-11 00:31:49 -05:00
Lioncash
e4bdc88494
Cursor: Make m_z private
...
This isn't used directly anywhere (and really shouldn't be public
anyways).
2017-02-10 23:57:50 -05:00
orbea
6913e8c3ac
Fix LLVM error
2017-02-10 19:07:30 -08:00
Lioncash
3c071cefa0
Boot_WiiWAD: Simplify state_checksum
...
Simplifies the interface and gets rid of pointer casts.
2017-02-10 21:14:39 -05:00
Lioncash
fda235b6e3
Buttons: Use a delegating constructor
...
Basic code deduplication
2017-02-10 19:52:15 -05:00
Lioncash
d07d9f3110
Control: Convert raw pointer parameter into unique_ptr
...
Raw pointers shouldn't be used as boundaries in scenarios where ownership
is being taken.
2017-02-10 19:35:02 -05:00
Michael Maltese
df0a0c857d
CMake: use _SCL_SECURE_NO_WARNINGS instead of _SECURE_SCL=0
...
_SECURE_SCL is deprecated (and doesn't seem to disable warnings anymore
with Visual Studio 2015).
2017-02-10 16:28:39 -08:00
Michael Maltese
2b65e41d97
NetWindow: explicitly tell wxWidgets to clean up Windows macros
...
wxWidgets headers don't play well with some of the macros defined in
Windows headers and perform their own magic to fix things, as long as
they're included entirely either before or after any Windows headers.
This file can cause a conflict in other DolphinWX files because NetPlay
headers directly include ENet headers, which leak Windows header macros.
To fix this, explicitly tell wxWidgets here that it needs to re-clean
macros.
2017-02-10 16:14:25 -08:00
degasus
8829af62cb
JitArm64: Fix for stack push/pop ABI.
2017-02-11 00:59:12 +01:00
degasus
6aa54a029e
JitArm64: Optimize GPR register push/pop.
2017-02-11 00:59:12 +01:00
Michael Maltese
715170759c
Use .manifest file for apps on Windows
...
Works with CMake, and also adds DPI awareness to DolphinQt2 (which
wasn't enabled before).
2017-02-10 14:18:45 -08:00
Léo Lam
850802ea88
Get rid of a singleton for NAND shared contents
...
This also allows shared contents to be installed to the configured root
when installing a WAD.
2017-02-10 22:46:38 +01:00
Léo Lam
f96d71ce81
FileIO: Simplify Seek()
...
We can return early from invalid conditions, which allows getting rid
of quite a few levels of indentation.
And let's not duplicate the new_position > file_size check.
2017-02-10 21:06:23 +01:00
Léo Lam
ca4d2969a0
Remove the HLE_IPC prefix from some functions
...
Those were left over during the namespacing.
2017-02-10 20:58:41 +01:00
Lioncash
68dcb0f195
ControlReference: Add missing virtual destructor
...
ControllerEmu::Control instances have a unique_ptr<ControlReference>
member, which is passed either an InputReference or OutputReference.
Without this virtual destructor, deleting a derived class through a
pointer to the base class is undefined behavior.
2017-02-10 13:58:44 -05:00
Mat M
f6d364e37b
Merge pull request #4873 from lioncash/controller-emu
...
ControllerEmu: Separate ControlGroup from ControllerEmu
2017-02-10 13:50:33 -05:00
Anthony
8f81051df3
Merge pull request #4882 from leoetlino/elf-fix
...
Fix booting Wii DOLs
2017-02-10 10:21:08 -08:00
Léo Lam
328359118c
Fix booting Wii DOLs
...
We did not set up any kind of constants in memory for Wii DOLs or even
initialize IOS, so a lot of homebrew would just crash when opening ES.
2017-02-10 19:14:34 +01:00
Léo Lam
7a1f676ef4
Always use configured root when installing WAD
...
This prevents Dolphin from writing to /sys/uid.sys (on the host; root
partition) when installing a WAD before starting emulation, because
the session root is not initialized at that moment.
Incidentally, this also gets rid of a singleton.
2017-02-10 19:12:08 +01:00
Lioncash
1ce1304d0f
CPU Backends: Make each CPU backend responsible for initializing its own
...
instruction tables
Previously, all of the internals that handled how the instruction tables
are initialized were exposed externally. However, this can all be made
private to each CPU backend.
If each backend has an Init() function, then this is where the instruction
tables should be initialized, it shouldn't be the responsibility of
external code to ensure internal validity.
This allows for getting rid of all the table initialization shenanigans
within JitInterface and PPCTables.
2017-02-10 13:08:14 -05:00
Lioncash
5da7d700ca
JIT: Make compilation functions a part of the JIT classes
2017-02-10 13:05:44 -05:00
Anthony
96e83b5d54
Merge pull request #4764 from aldelaro5/crash-fix-inputconfig
...
InputConfigDialog pass the device_cbox to the wiimote extension dialogs
2017-02-09 21:50:44 -08:00
degasus
4d3883a756
JitArm64: Handle stack faults.
2017-02-10 00:32:21 +01:00
degasus
40b7cc9252
JitArm64: Use a custom stack with proper guard pages.
2017-02-10 00:32:17 +01:00
Lioncash
6a75ea5653
ControllerEmu: Separate ControlGroup from ControllerEmu
...
ControllerEmu, the class, is essentially acting like a namespace for
ControlGroup. This makes it impossible to forward declare any of the
internals. It also globs a bunch of classes together which is kind of a
pain to manage.
This splits ControlGroup and the classes it contains into their own source
files and situates them all within a namespace, which gets them out of
global scope.
Since this allows forward declarations for the once-internal classes, it
now requires significantly less files to be rebuilt if anything is changed
in the ControllerEmu portion of code.
It does not split out the settings classes yet, however, as it
would be preferable to make a settings base class that all settings derive
from, but this would be a functional change -- this commit only intends to
move around existing code. Extracting the settings class will be done in
another commit.
2017-02-09 18:18:52 -05:00
Michael Maltese
31e3424367
Movie: replace magic number 8 with sizeof(ControllerState)
...
(Bonus points for rhyming commit message)
2017-02-09 15:07:47 -08:00
JosJuice
657639899f
Merge pull request #4872 from lioncash/scan
...
GameListCtrl: Separate some scanning code into functions
2017-02-09 20:56:29 +01:00
Lioncash
ea6e75d45f
GameListCtrl: Separate some scanning code into functions
...
Several of the things done while performing a scan are logically their own
behavior (e.g. loading a titles file, checking if an entry should be added, etc).
2017-02-09 14:50:20 -05:00
Lioncash
56531a0b7f
ControllerEmu: Fix incorrect default radius being set in AnalogStick
...
The three parameter AnalogStick constructor takes an internal name, a
display name, and a default radius argument. The delegated constructor is
the one that calls the ControlGroup constructor, setting the group type,
so passing the group type here is a logic bug.
The only reason this appeared to work despite this bug is because
GROUP_TYPE_STICK has a value of 1, and the default radius value used for
attachment sticks is 1.0.
2017-02-08 23:08:13 -05:00
Mat M
73382852b7
Merge pull request #4502 from ligfx/extractcontrolreference
...
InputCommon: Extract ControlReference from ControllerInterface
2017-02-08 20:01:18 -05:00
Pierre Bourdon
17e4b450fb
Merge pull request #4784 from leoetlino/mios
...
IOS: Implement MIOS functionality
2017-02-09 01:57:16 +01:00
JosJuice
01073946b4
Fix default audio backend on Android being "No audio output"
...
People who already have encountered the problem will need to
manually change the audio backend (or delete the config INI).
2017-02-08 21:29:27 +01:00
Lioncash
90273191da
Boot: Add missing includes
2017-02-08 10:57:24 -05:00
Lioncash
3b41d4806c
Boot_BS2Emu: Get rid of unnecessary headers
2017-02-08 10:57:16 -05:00
Lioncash
57d543b10a
ElfReader: Get rid of unnecessary includes
2017-02-08 10:57:10 -05:00
Lioncash
95a918b9f8
Boot_WiiWAD: Get rid of unnecessary includes
2017-02-08 10:43:50 -05:00
Léo Lam
a085cd431d
Adjust event times after a PPC clock change
...
This likely doesn't change much, but it makes events trigger at the
correct time after a clock change.
2017-02-08 16:22:27 +01:00
Lioncash
e6ffce3ac9
ElfReader: Make constructor explicit
...
Allowing implicit conversions here is definitely not desirable.
2017-02-08 10:20:06 -05:00
Léo Lam
fdfe57a49b
IOS: Implement MIOS functionality
...
This implements MIOS's PPC bootstrapping functionality, which enables
users to start a GameCube game from the Wii System Menu.
Because we aren't doing Starlet LLE (and don't have a boot1), we can
just jump to MIOS when the emulated software does an ES_LAUNCH or uses
ioctlv 0x25 to launch BC.
Note that the process is more complex on a real Wii and goes through
several more steps before getting to MIOS:
* The System Menu detects a GameCube disc and launches BC (1-100)
instead of the game. [Dolphin does this too.]
* BC, which is reportedly very similar to boot1, lowers the Hollywood
clock speed to the Flipper's and then launches boot2.
* boot2 sees the lowered clock speed and launches MIOS (1-101) instead
of the System Menu.
MIOS runs instead of IOS in GC mode and has an embedded GC IPL (which
is the code actually responsible for loading the disc game) and a PPC
bootstrap code. To get things working properly, we simply need to load
both to memory, then jump to the bootstrap code at 0x3400.
Obviously, because of the way this works, a real MIOS is required.
2017-02-08 15:07:34 +01:00
Léo Lam
4662e25cbb
DolphinWX: Fix overclock slider clock display
2017-02-08 15:07:34 +01:00
Léo Lam
fd49a1b2d5
Get rid of GetUsbPointer for emulated Bluetooth
...
It held a raw pointer to a IOS::HLE::Device::BluetoothEmu that is not
guaranteed to exist (and of course, nothing checked that it wasn't
nullptr), but what is more, it's totally unnecessary because we have
IOS::HLE::GetDeviceByName().
Since we cannot always inform the host that Wii remotes are
disconnected from ES, that is now done in BluetoothEmu's destructor.
2017-02-08 15:07:33 +01:00
Léo Lam
5fd5eeb82a
IOS/ES: Don't write anything to the request after ES_Launch
...
Unless IOS failed at ES_Launch, it doesn't appear to write anything
back to the request after a launch, because the request is never
actually replied to in the normal way.
So let's just drop the writes to make things less confusing.
2017-02-08 15:07:33 +01:00
Léo Lam
9e6f5b203e
IOS/ES: Implement ioctlv 0x25 (ES_LaunchBC)
...
This ioctlv is used to launch BC. Not sure if that's useful,
since only the system menu is known to launch BC and it does that
through a regular ES_LAUNCH; but let's implement it anyway.
(Implementation based on IOS59.)
2017-02-08 15:07:32 +01:00
Léo Lam
ab38be1ee2
IOS: Clarify Init, Reinit, Reset, Shutdown
...
Some minor changes to make things slightly less confusing:
* Reinit doesn't actually init anything. It just adds static devices to
the map, so let's give it an actually descriptive name. And let's not
expose it in the header when it should not be.
* Reset's parameter name was changed from "force" -- which totally does
not describe what it does -- to "clear_devices".
* Add a reload function which handles the reload process properly
(reset all devices, set up memory values, re-add devices) and
without publicly exposing implementation details.
2017-02-08 15:07:29 +01:00
JosJuice
14bb81716c
WiiRoot: Only call InitializeDeterministicWiiSaves on temporary NAND
...
Shouldn't make any difference in practice because
both IsRecordingInput and IsNetPlayRunning should
be false if a temporary NAND isn't being set up,
but doing it this way is cleaner regardless.
2017-02-08 14:26:25 +01:00
Matt Mastracci
961f84b767
DVD read chunking
...
Splits DVD reads up into smaller chunks so that data is available
before the final interrupt is triggered. This better simulates the DMA
that happens on a real device, which some games will take advantage of -
by either playing back data as it is loading or by using data that is
going to be overwritten shortly by an outstanding read.
2017-02-08 14:18:55 +01:00
JosJuice
99492c22a6
Merge pull request #4839 from leoetlino/better-warnings
...
Be less annoying when usbdk is not installed
2017-02-08 14:00:12 +01:00
Markus Wick
027719d8e2
Merge pull request #4711 from lioncash/tables
...
JIT Instruction Tables: Eliminate JIT global usages
2017-02-08 09:39:50 +01:00
Michael Maltese
2d51bf579f
ControlReference: put parsed_expression in a unique_ptr
2017-02-07 22:59:29 -08:00
Michael Maltese
492d5b6ac7
ControlReference: hide parse_error behind GetParseStatus()
2017-02-07 22:59:26 -08:00
Michael Maltese
9a632ea7b9
ControlReference: hide is_input behind function
2017-02-07 22:59:21 -08:00
Michael Maltese
813a725f68
ControlReference: move function bodies out of header
2017-02-07 22:59:14 -08:00
Michael Maltese
a509f56116
InputCommon: Extract ControlReference from ControllerInterface
...
Better separation of concerns. Relegates `ControllerInterface` to
enumerating input controls, and the new `ControlReference` deals with
combining inputs and configuration expression parsing.
2017-02-07 22:59:10 -08:00
Matthew Parlane
e2706b4381
Merge pull request #4860 from lioncash/lock
...
FifoPlayerDlg: Use std::lock_guard instead of manual mutex locking/unlocking
2017-02-08 18:59:28 +13:00
Matthew Parlane
f838d16b0c
Merge pull request #4546 from RisingFog/tas_wii_nand
...
Copy Wii save for current game for Netplay and TAS
2017-02-08 18:58:28 +13:00
Lioncash
399757a771
FifoPlayerDlg: Use std::lock_guard instead of manual mutex locking/unlocking
...
Same thing, but less error prone.
2017-02-08 00:26:32 -05:00
Matthew Parlane
4b7dd1f638
Merge pull request #4846 from aldelaro5/fix-symbols-newline
...
Fix symbols name from maps taking 2 lines instead of one
2017-02-08 18:18:56 +13:00
Matthew Parlane
7b3b8f26a3
Merge pull request #4789 from lioncash/input
...
InputCommon: Move ControllerEmu to its own directory
2017-02-08 18:16:14 +13:00
Matthew Parlane
dac6a66252
Merge pull request #4769 from lioncash/settingshandler
...
SettingsHandler: Minor cleanup
2017-02-08 18:15:37 +13:00
Matthew Parlane
f456fcec48
Merge pull request #4840 from lioncash/net
...
NetWindow: Eliminate usages of the main_window global
2017-02-08 18:12:56 +13:00
Matthew Parlane
691abc223b
Merge pull request #4859 from lioncash/opcodedecoder
...
OpcodeDecoding: Convert #defines into enum constants
2017-02-08 18:12:11 +13:00
Matthew Parlane
5b7c0d86cd
Merge pull request #4850 from lioncash/redundant
...
Core: Remove redundant returns in FifoPlayerThread() and CpuThread()
2017-02-08 18:11:30 +13:00
Matthew Parlane
f91290d702
Merge pull request #4857 from lioncash/global
...
DSPCore: Make g_cycles_left a regular member variable of DSPEmitter
2017-02-08 18:10:59 +13:00
Matthew Parlane
b41921935c
Merge pull request #4854 from lioncash/constant
...
PowerPC: Convert #defines into typed constants
2017-02-08 18:10:11 +13:00
Matthew Parlane
a027aadb24
Merge pull request #4851 from leoetlino/fix-wifi-scanning
...
IOS: Fix Wi-Fi scanning in system menu
2017-02-08 18:09:12 +13:00
Lioncash
d9d069e024
OpcodeDecoding: Convert #defines into enum constants
...
Gets several constants out of global scope.
2017-02-08 00:05:17 -05:00
Florent Castelli
2bc3ffe07d
DolphinWX: Add missing include for no-PCH builds
2017-02-08 05:24:46 +01:00
Lioncash
31f037b187
InputCommon CMakeLists: Normalize whitespace
...
Tabs -> Spaces
2017-02-07 22:15:53 -05:00
Lioncash
3a66f2c008
ControllerEmu: Move into its own directory
...
ControllerEmu is a massive class with a lot of nested public classes.
The only reason these are nested is because the outer class acts as a
namespace. There's no reason to keep these classes nested just for that.
Keeping these classes nested makes it impossible to forward declare them, which leads to quite a few includes in other headers, making compilation take
longer.
This moves the source files to their own directory so classes can be
separated as necessary to their own source files, and be namespaced under the
ControllerEmu namespace.
2017-02-07 22:12:06 -05:00
Lioncash
4260afc848
DSPCore: Make g_cycles_left a regular member variable of DSPEmitter
...
Gets rid of a global within the DSP core.
2017-02-07 21:56:57 -05:00
Florent Castelli
9ca4037ed9
UICommon: Rename HAS_LLVM to HAVE_LLVM
2017-02-08 03:30:38 +01:00
Florent Castelli
f649e26655
cmake: Move LLVM import to UICommon
...
To use it, with a modern LLVM (3.9+), set your CMAKE_PREFIX_PATH
to point to the LLVM install folder or to a LLVM build folder.
We're linking ALL of LLVM libs since I don't really know which ones we need.
LTO will take care of sliming the binary size...
2017-02-08 03:30:38 +01:00
Florent Castelli
8c82607c95
cmake: Don't use unqualified target_link_libraries
...
You can't mix unqualified and qualified link libraries (PUBLIC / PRIVATE).
Use the modern form.
2017-02-08 03:07:43 +01:00
Lioncash
13f70d4597
PowerPC: Convert #defines into typed constants
2017-02-07 20:17:15 -05:00
Florent Castelli
428d1624fa
cmake: Move BlueZ detection to Core
2017-02-08 01:08:33 +01:00
Léo Lam
e7b6b87ffe
IOS: Fix Wi-Fi scanning in system menu
...
The second output vector should not be written to for
IOCTLV_NCD_READCONFIG. If it is, the system menu will never attempt
to open /dev/net/wd/command and request a Wi-Fi scan.
2017-02-08 00:43:38 +01:00
Lioncash
06f6ca8d81
Core: Remove redundant returns in FifoPlayerThread() and CpuThread()
...
There's no need to explicitly return at the end of a void function.
2017-02-07 17:59:03 -05:00
Florent Castelli
c1dcd06043
cmake: Move PulseAudio detection to AudioCommon
2017-02-07 23:35:44 +01:00
Matthew Parlane
22fbcc67fc
Merge pull request #4773 from lioncash/ucode
...
UCodes: Eliminate unnecessary includes in header
2017-02-08 10:54:12 +13:00
Matthew Parlane
47ccf52c5e
Merge pull request #4845 from ligfx/addbraces
...
JitIL/IR.cpp: add braces around std::array initalizers
2017-02-08 09:42:48 +13:00
Matthew Parlane
2112acf500
Merge pull request #4847 from lioncash/exi
...
EXI_DeviceAD16: Minor changes
2017-02-08 09:40:59 +13:00
Lioncash
31dc2b9cc1
GCPadEmu: Make constructor explicit
2017-02-07 15:12:15 -05:00
Lioncash
a2a188533a
GCKeyboardEmu: Make constructor explicit
2017-02-07 15:11:49 -05:00
Lioncash
9f8177c9ac
UCodes: Eliminate unnecessary includes in header
2017-02-07 15:08:57 -05:00
Michael Maltese
64405f26a8
lint JitILCommon/IR.cpp
2017-02-07 12:08:25 -08:00
Lioncash
1f14b7f907
EXI_DeviceAD16: Amend variable naming
...
Drops Hungarian Notation type prefixing and prefixed underscores.
2017-02-07 14:58:23 -05:00
Lioncash
2f74a6f552
EXI_DeviceAD16: In-class initialize member variables
...
Same thing, less code.
2017-02-07 14:54:54 -05:00
Mat M
3cda4e1d9c
Merge pull request #4822 from ligfx/copysys
...
CMake: add CMAKE_CONFIGURE_DEPENDS on Data/Sys
2017-02-07 10:41:25 -05:00
Mat M
db9720d038
Merge pull request #4842 from ligfx/fix_prix64_es
...
ES: use PRIx64 to print m_addtitle_tmd.GetTitleId()
2017-02-07 10:39:29 -05:00
aldelaro5
9dc9033b76
Fix symbols name from maps taking 2 lines instead of one
...
Symbols map may not only end with a \n, but they may also end with \r\n and only the \n would get removed. This is the case with the Super Mario Sunshine map file which resulted in a weird looking symbols list and thus made it harder to scroll through it. This removes the \r after the \n has been removed if it's present.
2017-02-07 09:56:19 -05:00
Michael Maltese
8048716efb
JitIL/IR.cpp: add braces around std::array initalizers
...
Fixes the following warnings on macOS Clang:
```
Building CXX object Source/Core/Core/CMakeFiles/core.dir/PowerPC/JitILCommon/IR.cpp.o
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1374:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
LoadCR, LoadLink, LoadMSR, LoadGReg, LoadCTR, InterpreterBranch,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1378:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
StoreLink,
^~~~~~~~~~
Source/Core/Core/PowerPC/JitILCommon/IR.cpp:1419:9: warning: suggest braces around initialization of subobject [-Wmissing-braces]
BranchCond,
^~~~~~~~~~~
3 warnings generated.
```
2017-02-07 01:10:43 -08:00
Michael Maltese
fc0d88817f
CMake: make option ENABLE_SDL work again
...
Broken in PR #4755 / commit f978765
2017-02-06 20:59:58 -08:00
Michael Maltese
58f01e60d6
ES: use PRIx64 to print m_addtitle_tmd.GetTitleId()
...
Fixes a warning on macOS with Clang.
2017-02-06 20:31:28 -08:00
Michael Maltese
04158dfe15
AVIDump: use a separate AVCodecContext
...
Using the AVCodecContext contained in AVStream for muxing is officially
discouraged[1] and AVStream::codec was deprecated in favor of
AVStream::codecpar in libavformat 57.33.100 / 57.5.0.
1: [FFmpeg-cvslog] lavf: replace AVStream.codec with AVStream.codecpar: https://ffmpeg.org/pipermail/ffmpeg-cvslog/2016-April/099152.html
2017-02-06 20:23:37 -08:00
Michael Maltese
867d6134c5
AVIDump: open codec before stream
...
Minor oversight in the existing code.
2017-02-06 20:23:37 -08:00
Michael Maltese
dd3d8c7a4e
AVIDump: use avformat_free_context
...
This function frees all associated streams and codec contexts, and
has existed since libavformat 52.96.0 (February 2011).
2017-02-06 20:23:37 -08:00
Michael Maltese
ac214190fd
AVIDump: Replace deprecated avcodec_encode_video2
2017-02-06 20:23:37 -08:00
Florent Castelli
d1eaa59a8e
cmake: Move detection of OpenAL to AudioCommon
2017-02-07 03:42:43 +01:00
Florent Castelli
cbb7e4072a
cmake: Move AO detection to AudioCommon
2017-02-07 03:42:43 +01:00
Léo Lam
b6d526ba2e
IOS: Do not init libusb unless passthrough is enabled
2017-02-07 00:47:21 +01:00
Léo Lam
6a0bf24e0b
Move libusb context initialization to on first use
...
This prevents libusb warnings from showing up even when the user is
not using Bluetooth or USB passthrough, or the Wii U GC adapter.
2017-02-07 00:47:21 +01:00
Léo Lam
db7ee668ff
Notify user that USB won't work if libusb init fails
2017-02-07 00:47:21 +01:00
Lioncash
c41f587c29
Frame: Hide functions that don't need to be exposed
...
Any functions left exposed are used elsewhere through the main_window
global. May as well prevent any more functions from being used in that
manner where possible.
2017-02-06 18:29:26 -05:00
Lioncash
ead076d335
NetWindow: Get rid of direct use of the main_window global
...
Utilizes the event system (which is what should have been done here
initially), in order to prevent coupling between two different window frames.
This also makes booting games more versatile using the UI event system,
as the event can just act as a carrier for the filename, making directly
calling boot functions unnecessary. All that's needed is for the event to
propagate to the frame.
2017-02-06 18:29:20 -05:00
Michael Maltese
1fd1620e4e
CMake: add CMAKE_CONFIGURE_DEPENDS on Data/Sys
...
Since files from Data/Sys are collected and added to a built macOS .app
bundle using GLOB, any new files won't get picked up until the next time
CMake is run. Tell CMake it should re-run itself every time the directory
is touched.
2017-02-06 13:55:35 -08:00
Léo Lam
f5a3aac8e1
IOS: Check if libusb can be used instead of asserting
...
This prevents panic alerts from showing up three times when starting
Wii emulation whenever libusb could not be initialized. The user has
already seen a warning at startup -- no need to warn them 3 more times.
2017-02-06 22:09:43 +01:00
Markus Wick
eb3c172b95
Merge pull request #4618 from Helios747/bounding_box_check
...
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-06 21:58:19 +01:00
Matthew Parlane
d244597b42
Merge pull request #4408 from leoetlino/usb
...
IOS: USB support (OH0, USB_VEN, USB_HID)
2017-02-07 09:17:05 +13:00
Matthew Parlane
2835cfde52
Merge pull request #4836 from lioncash/enum
...
DSPCore: Convert the DSPCoreState enum into an enum class
2017-02-07 09:14:22 +13:00
Anthony
0c7d9bbb73
Merge pull request #4837 from lioncash/npd
...
NetWindow: Make chat messages queue private
2017-02-06 10:20:29 -08:00
Lioncash
2597d2b69b
NetWindow: Make chat messages queue private
...
This doesn't need to be publicly accessable.
2017-02-06 13:03:35 -05:00
Mat M
f978765bf0
Merge pull request #4755 from Orphis/cmake_sdl
...
cmake: Modernize SDL discovery
2017-02-06 11:55:03 -05:00
Lioncash
063e4df5a1
DSPCore: Convert the DSPCoreState enum into an enum class
2017-02-06 11:47:19 -05:00
Mat M
e4c17f126c
Merge pull request #4835 from ligfx/configurefilescmrev
...
CMake: use configure_file to generate scmrev.h
2017-02-06 11:14:08 -05:00
Michael Maltese
acc8dae2b3
CMake: use configure_file to generate scmrev.h
...
The built-in `configure_file` command correctly handles the case where
none of the variables change and scmrev.h doesn't need to be rebuilt.
This saves a full re-link of Dolphin any time CMake is re-run.
2017-02-05 22:26:49 -08:00
Lioncash
259f827e34
Core: Actually make the State enum an enum class
...
It helps if I actually make it a strongly typed enum.
2017-02-06 01:13:07 -05:00
Matthew Parlane
b9fc79020d
Merge pull request #4817 from sepalani/debug_print_case
...
Handle another case with HLE_GeneralDebugPrint
2017-02-06 17:40:44 +13:00
Matthew Parlane
abe7081337
Merge pull request #4818 from ligfx/bundleutilities
...
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-06 17:39:46 +13:00
Matthew Parlane
d022913fb3
Merge pull request #4828 from lioncash/state
...
Core: Convert State enum into an enum class
2017-02-06 17:38:46 +13:00
Matthew Parlane
3cc4c02c5b
Merge pull request #4832 from Orphis/cmake_wx
...
wx: Move platform defines to wx setup header
2017-02-06 17:37:18 +13:00
Matthew Parlane
516ddc1d0c
Merge pull request #4820 from JosJuice/translate-swedish
...
Translate Swedish in example strings to English
2017-02-06 17:36:41 +13:00
Florent Castelli
a7c4fd9bf0
cmake: Move discovery of SDL to InputCommon
2017-02-06 05:02:45 +01:00
Florent Castelli
5984ca26f3
wx: Move platform defines to wx setup header
...
Usually, this is passed as a preprocessor definition, but this is error
prone and just complicating the compiler invocation for no good reason.
2017-02-06 04:27:06 +01:00
Chris Burgener
5224771dac
Copy Wii save for current game for Netplay and TAS
2017-02-05 13:17:05 -05:00
Mat M
1f1a232546
Merge pull request #4629 from JosJuice/es-movie-title-id
...
Don't call Movie::SetTitleId from ES
2017-02-05 09:26:08 -05:00
Mat M
af33c9714e
Merge pull request #4825 from Orphis/cmake_alsa
...
CMake: Updates to AudioCommon & ALSA discovery
2017-02-05 08:50:34 -05:00
Lioncash
e07383a783
Core: Convert State enum into an enum class
2017-02-05 08:32:23 -05:00
Matthew Parlane
c4d470cbf2
Merge pull request #4827 from Kurausukun/master
...
Support Setting CPU Overclock via GameINIs
2017-02-06 01:36:05 +13:00
Matthew Parlane
4df22e03ca
Merge pull request #4823 from lioncash/tlb
...
PowerPC: Rename tlb_entry struct to TLBEntry
2017-02-06 00:59:39 +13:00
Kurausukun
2479fe6e53
Support Setting CPU Overclock via GameINIs
2017-02-05 06:16:32 -05:00
Léo Lam
56fec3d72a
Switch to the usbdk backend for libusb on Windows
...
The usbdk backend is the only libusb backend that has official support
for isochronous transfers (which are required for Wii Speak,
microphones and cameras). And it's actively developed and maintained.
2017-02-05 11:36:49 +01:00
Léo Lam
b63b6111b3
IOS: Implement USB_VEN (/dev/usb/ven)
2017-02-05 11:36:49 +01:00
Léo Lam
c9f4889437
IOS: Re-implement USB_HIDv4 (/dev/usb/hid)
...
This reimplements the USB HID v4 IOS device using the new common
USB code (to reuse more code and allow emulated HIDs to be added
more easily in the future).
The main difference is that HIDs now have to be whitelisted, like
every other USB device for OH0 and VEN.
2017-02-05 11:36:49 +01:00
Léo Lam
ee188a1d5a
IOS: Implement OH0 (/dev/usb/oh0)
2017-02-05 11:36:48 +01:00
Léo Lam
c8a6dc6c23
Use a single libusb context
...
libusb on Windows is limited to only a single context. Trying to open
more than one can cause device enumerations to fail randomly.
libusb is thread-safe and we don't use the manual polling support (with
`poll()`) so this should be safe.
2017-02-05 11:36:48 +01:00
Léo Lam
73e55ccf44
IOS: Add base Host and USB::Device classes
...
The Host class will be used by the OH0, VEN and HID implementations
as the base class for the IOS HLE device. It handles scanning devices,
detecting device changes and everything that will be needed for OH0,
VEN and HID to be implemented, while mostly abstracting libusb away.
The Device class is for actual USB devices. This commit adds a
LibusbDevice which interacts with a real USB device and enables
USB passthrough.
2017-02-05 11:36:47 +01:00
Léo Lam
b8c651eac4
IOS: Store the active IOS title ID
...
This allows us to get back the current active IOS version and expose
only devices which exist/can be used in that version.
2017-02-05 11:36:47 +01:00
Léo Lam
e246afb049
IOS: Add UpdateWantDeterminism to devices
...
This will be useful for the USB devices to disconnect and hide any real
devices when Core::g_want_determinism is true.
2017-02-05 11:36:47 +01:00
Léo Lam
b7cc25535f
DolphinWX: Add USB passthrough settings
...
Allows adding/removing devices from USB passthrough.
2017-02-05 11:36:47 +01:00
Léo Lam
69a13a12e2
Add USB passthrough setting and USBUtils
...
This adds a USB passthrough setting to ConfigManager and everything
needed for the UI to show and manage the whitelist properly.
2017-02-05 11:36:46 +01:00
JosJuice
e4d20647d4
Merge pull request #4824 from lioncash/coremode
...
PowerPC: Convert CoreMode enum into an enum class
2017-02-05 08:25:12 +01:00
Florent Castelli
2fceb016b4
cmake: Move ALSA detection to AudioCommon
2017-02-05 02:55:05 +01:00
Florent Castelli
d615c0f868
cmake: Add imported target to FindALSA
2017-02-05 02:55:05 +01:00
Florent Castelli
9ebfaa9324
AudioCommon: Move logic for default sound backend there from ConfigManager
...
This way, we don't have to leak the HAVE_ALSA define there.
2017-02-05 02:55:04 +01:00
Florent Castelli
31dfaafe0b
AudioCommon: Remove checks against NullSound::isValid()
...
The NullAudio backend is guaranteed to be compiled in, so no reason
to check it.
In addition to that, if it wasn't valid, it wouldn't work as a fallback
in InitSoundStream as there are uses to g_sound_stream later.
2017-02-05 02:55:04 +01:00
Florent Castelli
ee8a21f1d0
cmake: In AudioCommon, append sources and dependencies to a real target
2017-02-05 02:55:04 +01:00
Florent Castelli
f1ba7832a5
cmake: Reindent AudioCommon
2017-02-05 02:55:04 +01:00
Lioncash
f7b9db9846
PowerPC: Convert CoreMode enum into an enum class
...
Prevents constants from polluting the namespace.
2017-02-04 19:34:56 -05:00
Lioncash
4b091f5872
MMU: Use references to TLBEntry instances instead of pointers
...
Same behavior, less verbosity.
2017-02-04 19:03:22 -05:00
Lioncash
52b45a3933
PowerPC: Rename tlb_entry struct to TLBEntry
...
Makes it consistent with our naming style.
2017-02-04 18:58:45 -05:00
JosJuice
bc2b9f4c3c
Translate Swedish in example strings to English
2017-02-04 22:51:01 +01:00
Helios747
4c22e6387d
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-04 10:08:52 -08:00
Markus Wick
3be364073d
Merge pull request #4713 from JosJuice/core-init-gameini
...
Don't load game INIs in Core::Init
2017-02-04 08:32:03 +01:00
Markus Wick
2ad62bf5df
Merge pull request #4777 from lioncash/dspstack
...
DSPCore: Convert DSP stack register enum into an enum class
2017-02-04 08:27:11 +01:00
Markus Wick
72d887cb20
Merge pull request #4816 from lioncash/pair
...
FramebufferManagerBase: Return a std::pair from GetTargetSize
2017-02-04 08:21:52 +01:00
Michael Maltese
38816bf51d
CMake: use BundleUtilities to fix up Dolphin.app
2017-02-03 22:27:19 -08:00
Florent Castelli
fb02a321b6
cmake: Move OpenSLES detection to AudioCommon through find_package()
2017-02-04 03:38:11 +01:00
Sepalani
e280f5615a
Handle another case with HLE_GeneralDebugPrint
2017-02-03 23:30:37 +00:00
Matthew Parlane
529dc6aa53
Merge pull request #4811 from lioncash/memcardmanager
...
MemcardManager: Minor changes
2017-02-04 10:09:01 +13:00
Matthew Parlane
e2b0197ff6
Merge pull request #4807 from leoetlino/ios-version-for-wads
...
Remove unneeded write to 0x3140/0x3188 for WADs
2017-02-04 10:08:29 +13:00
JosJuice
edcf6819e2
Don't load game INIs in Core::Init
...
The game INIs are already loaded in BootManager::BootCore,
which is executed right before. Let's put the g_aspect_wide
code there instead.
2017-02-03 21:56:45 +01:00
JosJuice
c847a5258f
BootManager: Use local SConfig reference when possible
2017-02-03 21:55:02 +01:00
Matthew Parlane
87c73cbeb3
Merge pull request #4812 from lioncash/define
...
PowerPC: Move page #define constants to MMU.cpp
2017-02-04 09:49:48 +13:00
Lioncash
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
JosJuice
e572fb102f
Move ES_DIVerify's Movie-related code to a more logical place
2017-02-03 19:53:35 +01:00
JosJuice
6aa41ebc55
Movie: Put Wii s_bClearSave handling in a more logical place
2017-02-03 19:53:23 +01:00
JosJuice
88e0a5e418
Don't call Movie::SetTitleId from ES
...
Movie basically just wants to get the title ID of
the initally booted game, so let's set the title ID in
ConfigManager at boot like we do with the regular game ID.
Aside from being cleaner, this should make the approach to
title IDs compatible with booting non-disc software (WADs).
2017-02-03 19:52:25 +01:00
Michael Maltese
fa9881f0d2
CMake: actually call deploy-mac.py, don't just echo it
2017-02-03 09:22:30 -08:00
Lioncash
a30c653f3d
D3D: Add CommonTypes include to D3DTexture.h
...
Resolves a compile error on the Windows CMake build.
2017-02-03 12:07:53 -05:00
Lioncash
c67d095787
PowerPC: Move page #define constants to MMU.cpp
...
These are only ever used here.
This also converts them into typed constants.
2017-02-03 11:48:42 -05:00
Lioncash
5ce82583f8
MemcardManager: Get rid of prefixed double-underscores from an identifier
...
Identifiers with prefixed double-underscores are reserved by the C++
standard.
2017-02-03 11:30:39 -05:00
Lioncash
9d523f52f2
MemcardManager: Convert C arrays to std::array
2017-02-03 11:15:46 -05:00
Mat M
a3ba169e7d
Merge pull request #4809 from Orphis/cmake_windows
...
CMake for Windows: getting a working binary!
2017-02-03 08:33:13 -05:00
Florent Castelli
ca42f08e7d
cmake: Copy resources next to the DolphinWX binary on Windows
2017-02-03 04:54:54 +01:00
Florent Castelli
1a4f044e9e
cmake: Add RC file on Windows to DolphinWX
2017-02-03 04:54:54 +01:00
Florent Castelli
3842a9b71c
OpenAL: Move Windows binaries to lib folder and fix CMake detection
...
The module FindOpenAL is looking for the dll in a folder called lib, not x64.
This is only used on Windows x64, it's fine to remove the platform name.
2017-02-03 04:54:54 +01:00
Florent Castelli
9180c87197
cmake: Put test targets in folders
2017-02-03 04:23:24 +01:00
Mat M
1b9b1a356b
Merge pull request #4805 from Orphis/cmake_macos
...
CMake macOS fixes
2017-02-02 20:53:22 -05:00
Matthew Parlane
7f2753362f
Merge pull request #4802 from lioncash/header
...
ShaderGenCommon: Remove unnecessary includes
2017-02-03 14:52:41 +13:00
Matthew Parlane
8b1fc5b753
Merge pull request #4806 from lioncash/memcard-dlg
...
MemcardManager: Use unique_ptr over raw pointers
2017-02-03 14:50:55 +13:00
Léo Lam
767cbcafb1
Remove unneeded write to 0x3140/0x3188 for WADs
...
This is unnecessary now that IOS::HLE is responsible for writing the
values to memory; removing the writes also prevents the IOS minor
version from being mangled (by the write to 0x3142).
2017-02-02 22:05:36 +01:00
Lioncash
d72cf81dea
MemcardManager: Use unique_ptr over raw pointers
2017-02-02 14:33:01 -05:00
degasus
384efb0cb2
JitArm64: Initial implementation of the BLR optimization.
2017-02-02 09:06:34 +01:00
Florent Castelli
e9aac53cec
macOS: Update how resources are copied in the bundle
...
Instead of using install() commands, we use the MACOSX_PACKAGE_LOCATION
property, which will allow the files to be identified and updated individually
by the build system without having to remove the entire folder and copy it
each time.
deploy-mac.py is now idempotent and should be working properly, so we'll
call it all the time from now on.
2017-02-02 03:51:32 +01:00
Florent Castelli
0f9a6697fb
DolphinWX: Update how localization files are installed
...
On macOS, we want them copied in the bundle directly, otherwise we will
install them later in the system folder.
Obviously not working for Windows, but that's not any different from before!
2017-02-02 03:51:32 +01:00
Florent Castelli
62c439814f
cmake: Move Qt5 search to DolphinQt build script
2017-02-01 21:49:26 +01:00
Lioncash
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
Mat M
c5d4ae6163
Merge pull request #4801 from JosJuice/wii-remote-rumble
...
"Wii Remote Motor" -> "Wii Remote Rumble"
2017-02-01 10:41:33 -05:00
JosJuice
91fe332036
"Wii Remote Motor" -> "Wii Remote Rumble"
...
I've never heard any user call this motor. Let's use the word
that Nintendo uses and people actually recognize.
2017-02-01 16:19:03 +01:00
JosJuice
045de7dd26
Remove special condition for auto dual core determinism
2017-02-01 15:43:47 +01:00
Markus Wick
543120c88e
Merge pull request #4799 from lioncash/light-headered
...
LightingShaderGen: Remove unnecessary includes
2017-02-01 15:23:18 +01:00
Markus Wick
f558ae4dd1
Merge pull request #4790 from lioncash/sram
...
Sram: Make SRAM dumps const
2017-02-01 13:27:03 +01:00
Markus Wick
094a75f3cb
Merge pull request #4791 from degasus/temp
...
DSPLLE: Only enable the DSP JIT on x64.
2017-02-01 13:04:18 +01:00
Lioncash
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
Matthew Parlane
a9627ac881
Merge pull request #4797 from lioncash/cast
...
RenderBase: Get rid of unnecessary casts
2017-02-01 17:18:12 +13:00
Mat M
6fd0e96ea3
Merge pull request #4785 from lioncash/ios-fs
...
IOS FS: Move behavior to separate functions
2017-01-31 22:28:42 -05:00
Mat M
84d81a4b7a
Merge pull request #4792 from sepalani/fix_isctype_assert
...
Fixes std::isprint undefined behavior
2017-01-31 21:53:12 -05:00
Sepalani
44196f6a55
Fixes std::isprint undefined behavior
2017-02-01 02:30:29 +00:00
Mat M
5b782b9f2d
Merge pull request #4795 from sepalani/fix_sock
...
Fixes a crash when closing a socket
2017-01-31 20:30:26 -05:00
Lioncash
1f24cf2a2d
RenderBase: Get rid of unnecessary casts
2017-01-31 20:25:50 -05:00
Sepalani
3fd08b6cee
Fixes a crash when closing a socket
2017-02-01 00:11:19 +00:00
Markus Wick
24951fde2b
Merge pull request #4793 from lioncash/asm-disasm
...
DSPAssembler/DSPDisassembler: Make constructors explicit
2017-01-31 00:25:27 +01:00
Lioncash
a9db9fd217
DSPDisassembler: Make constructor explicit
2017-01-30 18:17:48 -05:00
Lioncash
546cd5d4be
DSPAssembler: Make constructor explicit
2017-01-30 18:16:59 -05:00
degasus
2c69e976d0
DSPLLE: Only enable the DSP JIT on x64.
...
The x64 JIT is hardcoded right now, and it seems unlikely that we'll support another arch here soon.
So let's just disable the DSP JIT.
2017-01-30 23:53:58 +01:00
Lioncash
093b61139b
Sram: Make SRAM dumps const
...
This is only used internally, and isn't written to.
2017-01-30 17:44:03 -05:00
Matthew Parlane
1603191145
Merge pull request #4786 from lioncash/fwd
...
IOS STM: Get rid of forward declarations in the cpp file
2017-01-30 22:20:58 +13:00
Markus Wick
2020928fd8
Merge pull request #4783 from degasus/temp
...
JitArm64: Fix immediate versions of cmpl.
2017-01-30 09:22:56 +01:00
Markus Wick
4f6dd2631d
Merge pull request #4787 from booto/dcbz_arm64
...
Add LowDCBZHack and DCBZOFF to JitArm64
2017-01-30 08:54:27 +01:00
Lioncash
b7e59f4e55
AVIDump: Rename CloseFile to CloseVideoFile
...
Retains symmetry with CreateVideoFile.
2017-01-29 22:05:12 -05:00
booto
9c4621d2b5
Forgot to add to JitArm64.
...
Also adds DCBZOFF to JitArm64.
2017-01-29 22:05:07 -05:00
Mat M
548e2d6353
Merge pull request #4709 from lioncash/exi-device
...
EXI_Device: Minor cleanup
2017-01-29 19:50:42 -05:00
Lioncash
1801180a30
IOS STM: Get rid of forward declarations in the cpp file
...
Forward declaring functions from a completely different header inside a cpp
file can lead to linker errors. Forward declaring also doesn't really
provide any benefit within cpp files unless it's to bring an internally
linked function within the same file into scope.
2017-01-29 19:30:56 -05:00
Lioncash
d2da1897e7
IOS FS: Move behavior to separate functions
2017-01-29 18:32:59 -05:00
degasus
89cefe3103
JitArm64: Fix immediate versions of cmpl.
2017-01-29 18:38:43 +01:00
Stenzek
3b218c64b1
Vulkan: Refactor initialization to only use a single instance
...
Hopefully will fix the crash in vkDestroyInstance on the NV Shield TV,
and likely reduce boot times slightly for drivers that take a while
to create instances.
2017-01-29 22:18:53 +10:00
Matthew Parlane
e823a9d80c
Merge pull request #4779 from lioncash/fileio
...
IOS FileIO: Move GetFileStats code to its own function
2017-01-29 21:53:11 +13:00
Matthew Parlane
a8c51d99f1
Merge pull request #4780 from booto/dcbz_hack
...
Hack to stop dcbz/dcbi over low MEM1 trashing memory.
2017-01-29 21:51:15 +13:00
Lioncash
5fd41716ae
ec_wii: Make default data constexpr
...
None of these are modified anywhere.
2017-01-28 18:46:15 -05:00
Lioncash
926c9f995a
ec_wii: Amend function casing
2017-01-28 18:46:14 -05:00
Lioncash
650071c3e4
ec_wii: Make getter functions const member functions
2017-01-28 18:45:56 -05:00
Lioncash
5b998ee9b0
ec_wii: Move implementation details into cpp file
...
Gets rid of the need for an include in the header file.
2017-01-28 18:45:04 -05:00
booto
2fbdf2a3ce
Hack to stop dcbz/dcbi over low MEM1 trashing memory.
2017-01-28 18:04:44 -05:00
Lioncash
4c31bfef76
FileIO: Correct printf specifier in GetFileStats
2017-01-28 17:43:19 -05:00
Lioncash
6f0cabb1c5
FileIO: Move GetFileStats code to its own function
2017-01-28 17:41:40 -05:00
Mat M
66160c2781
Merge pull request #4743 from lioncash/es
...
ES: Separate IOCtlV code out into constituent functions
2017-01-28 15:33:34 -05:00
Markus Wick
69c4e6de41
Merge pull request #4767 from lioncash/mmio
...
MMIO: Get rid of a TODO regarding tuples
2017-01-28 15:38:49 +01:00
Lioncash
10d73988e7
DSPCore: Convert DSP stack register enum into an enum class
...
Makes it more self-documenting which stack is being loaded or stored to,
as C, D, and magic numbers are extremely vague. It also enforces a
strongly-typed API instead of accepting arbitrary integral values.
It also adds the two other missing stack register names -- loop address
and loop counter.
2017-01-28 09:17:27 -05:00
Lioncash
4846f26916
DSPEmitter: Convert a C array to a std::array
2017-01-28 07:39:22 -05:00
Markus Wick
3405f0ba01
Merge pull request #4739 from AdmiralCurtiss/auto-adjust-window-size-16-9
...
Make the "Auto Adjust Window Size" option respect the current game's aspect ratio.
2017-01-28 13:02:54 +01:00
Markus Wick
b96b592c76
Merge pull request #4775 from lioncash/unused
...
DSPEmitter: Remove unused class member variable
2017-01-28 12:44:07 +01:00
Mat M
ede9c6255a
Merge pull request #4770 from degasus/fifo
...
CommandProcessor: Limit scope of ugly SCPFifoStruct.
2017-01-28 06:43:23 -05:00
Lioncash
7959f900ed
DSPEmitter: Remove unused class member variable
2017-01-28 06:36:54 -05:00
degasus
c2822ef7d3
PatchEngine: Apply speedhack per PC, not only per block entry.
...
This makes speedhacks indepdent of block assembly / inlining / conditional continue.
2017-01-28 12:36:13 +01:00
Markus Wick
04c3db8bfa
Merge pull request #4771 from lioncash/dspemitter
...
DSPCore: Move emitter cycle code into DSPEmitter itself
2017-01-28 12:25:34 +01:00
Lioncash
be3f9f7431
DSPEmitter: Fix -Wreorder warnings
2017-01-28 06:07:25 -05:00
Admiral H. Curtiss
b2c40bf4c4
RenderBase: Let the Auto Adjust Window Size option request the final image size rather than the raw framebuffer size.
2017-01-28 11:40:53 +01:00
Admiral H. Curtiss
e1fa6c374f
RenderBase: Extract the framebuffer size to display size code into function.
2017-01-28 11:40:53 +01:00
Lioncash
f5fe387a20
DSPEmitter: Make emitter dispatcher pointers private
2017-01-28 03:55:56 -05:00
Lioncash
0d42cbc923
DSPCore: Move JIT cycle code to DSPEmitter
...
Moves x86-specific emitter code out of DSPCore.
2017-01-28 03:55:40 -05:00
Scott Mansell
5da565a1a1
Merge pull request #4735 from degasus/jitcache
...
Jit64: Enable branch following.
2017-01-28 15:48:01 +13:00
degasus
ca10cf5afe
PPCAnalyst: Update comments
2017-01-28 03:03:04 +01:00
degasus
4855764345
JitArm64: Implement leaf inlining.
...
There is no BLR stack, so this is quite trivial.
2017-01-28 02:48:56 +01:00
degasus
f31b25fe39
Jit64: Enable branch following.
2017-01-28 02:48:56 +01:00
degasus
3787af9ee9
CommandProcessor: Limit scope of ugly SCPFifoStruct.
...
It's only used as an interface between two classes. So no need to declare
it in the backend export header.
2017-01-27 19:04:56 +01:00
Lioncash
c748158182
SettingsHandler: Make GenerateSerialNumber static
...
This doesn't depend on class internals.
2017-01-27 10:29:57 -05:00
Lioncash
98291cd843
SettingsHandler: Add Open and Save member functions
2017-01-27 10:29:49 -05:00
Michael Maltese
0475a85195
CMake: Move Windows defines to Source/CMakeLists.txt
...
Messes up various Externals, like PortAudio.
2017-01-27 02:50:49 -08:00
Lioncash
d680d1f81e
MMIO: Get rid of a TODO regarding tuples
2017-01-27 02:54:07 -05:00
Markus Wick
f37c5f1f1c
Merge pull request #4766 from lioncash/dspemitter
...
DSPCore: Move CompileCurrent to the DSPEmitter
2017-01-27 08:09:52 +01:00
degasus
ba1decf7bc
PixelEngine: Use a DirectRead for the token.
...
No need to call a std::function, and a few games poll this value very often.
2017-01-27 07:49:47 +01:00
Lioncash
4003360bcb
DSPCore: Move CompileCurrent to the DSPEmitter
...
This is only ever used here.
2017-01-27 01:36:29 -05:00
aldelaro5
334e33d4fa
InputConfigDialog pass the device_cbox to the wiimote extension dialogs
...
This fixes a crash when trying to open the advanced input config dialog on the wiimote extensions. The device_cbox wasn't initialised and it should have been with the wiimote one.
2017-01-27 01:06:38 -05:00
Matthew Parlane
017e8050b6
Merge pull request #4746 from JosJuice/volumedirectory-sort-case-insensitive
...
VolumeDirectory: Use case-insensitive comparison when sorting
2017-01-27 18:23:14 +13:00
Matthew Parlane
3d5821a9a7
Merge pull request #4745 from JosJuice/always-valid-region
...
ConfigManager: Always set a valid m_region
2017-01-27 18:18:37 +13:00
Matthew Parlane
06728ad687
Merge pull request #4757 from lioncash/dsptables
...
DSPTables: Hide remaining opcode tables
2017-01-27 18:17:36 +13:00
Matthew Parlane
a0e598be10
Merge pull request #4763 from lioncash/dspemitter
...
DSPEmitter: Make most public variables private
2017-01-27 18:10:02 +13:00
Matthew Parlane
64b0773fc0
Merge pull request #4651 from leoetlino/bt-pass-savestates
...
Fix savestates in Bluetooth passthrough mode
2017-01-27 18:07:33 +13:00
Lioncash
be52fcf651
DSPEmitter: Make most public variables private
...
Dispatchers and m_unresolved_jumps is utilized in code outside of the
emitter, so these are left as is for the time being.
2017-01-26 20:32:57 -05:00
Lioncash
970d969f63
DSPEmitter: Make conditional JIT functions in DSPJitBranch part of the emitter
...
These quite clearly have a dependency on the emitter itself, so these
should be a part of the emitter itself.
The template function can be modified to just simply take functions as a
parameter.
2017-01-26 20:32:34 -05:00
Lioncash
16aac00b8a
DSPEmitter: Move private variables below function declarations
2017-01-26 19:25:49 -05:00
Lioncash
ef52451954
DSPJitRegCache: Convert DSPJitSignExtend into an enum class
...
Prevents general names like SIGN, ZERO, and NONE from polluting the
surrounding namespace.
2017-01-26 18:33:50 -05:00
Lioncash
bdd7034fcb
DSPJitRegCache: Move allocation order array to the cpp file
...
As it's a private static implementation detail that doesn't rely on any
other internals of DSPJitRegCache, it can be hidden.
2017-01-26 17:12:55 -05:00
Markus Wick
360bbe0610
Merge pull request #4756 from Orphis/update_gtest
...
gtest: Update to latest version from git
2017-01-26 14:02:12 +01:00
Lioncash
8f5ce50a25
DSPAssembler: Migrate VerifyParams over to an OpcodeType param instead of bool
2017-01-26 05:17:05 -05:00
Lioncash
6cb6707a4e
DSPTables: Hide remaining exposed opcode tables
...
All opcode tables are now internal.
2017-01-26 05:17:01 -05:00
Markus Wick
0a07df13d2
Merge pull request #4753 from lioncash/dspjit
...
DSPEmitter: Amend member variable naming
2017-01-26 10:33:03 +01:00
Florent Castelli
e5f576f862
gtest: Update to latest version from git
2017-01-26 03:14:08 +01:00
Lioncash
ac973e61bb
ES: Separate behavior of IOCtlV into separate functions
...
This function is exceptionally large. Everything within a switch like this
also makes it quite error prone. Separating the functions out makes it
easier to change a certain request implementation as well as improving
code locality.
2017-01-25 19:39:22 -05:00
Lioncash
3c88c248dd
ES: Convert typedef into a using alias
2017-01-25 19:31:13 -05:00
Lioncash
3cf3b50ab0
ES: Minor header reorganization
...
Places elements in the order:
- Structs/Enums definitions
- Functions
- Member variables
2017-01-25 19:31:13 -05:00
Lioncash
f4415dd99c
DSPEmitter: Amend member variable naming
...
Amends the variable names to follow our coding style.
2017-01-25 19:26:57 -05:00
Lioncash
c2e3bd8d2f
DSPAssembler: Amend printf specifiers in ShowError
...
code_line is a u32.
2017-01-25 17:20:25 -05:00
Lioncash
992b7f7ac0
DSPAssembler: Replace char buffer + sprintf with StringFromFormat
2017-01-25 17:20:21 -05:00
booto
c889c81d8f
58 is 0x3a in hex, not 0x31
2017-01-26 01:52:10 +08:00
Léo Lam
0df2ca702b
IOS: Get rid of static state in BT passthrough
2017-01-25 15:31:28 +01:00
Léo Lam
18957bdb0a
IOS: Fix savestates for Bluetooth passthrough
...
This fixes savestates when using Bluetooth passthrough by keeping track
of pending transfer commands and discarding them on state load, so that
the emulated software receives a reply to IOS requests as expected.
With this change, savestates in BT passthrough should work as long as
no Wiimote is connected when creating the savestate and when
restoring it. Yes, I know this is an important limitation -- but
that is probably the best we can do, and it's still better than
completely broken savestates.
2017-01-25 15:31:28 +01:00
Florent Castelli
223e213bcf
cmake: Change endmacro(.*) to endmacro()
2017-01-25 15:07:32 +01:00
Florent Castelli
103361c846
cmake: Change endforeach(.*) to endforeach()
2017-01-25 15:07:32 +01:00
Florent Castelli
87380c1c2c
cmake: Change endif(.*) to endif()
2017-01-25 15:07:32 +01:00
JosJuice
104faa9fb3
VolumeDirectory: Use case-insensitive comparison when sorting
...
This fixes a regression from 5.0-1556, but I don't know why
the regression occurred or why this fixes it. (Many games
failed to fully boot - I tried Metroid Prime and Twilight
Princess (both GC), and they never got to the title screen.)
2017-01-25 15:07:07 +01:00
Markus Wick
3c184dcf8d
Merge pull request #4742 from lioncash/dspasm
...
DSPAssembler: Replace malloced output buffer with std::vector
2017-01-25 14:49:36 +01:00
JosJuice
188d36ff26
ConfigManager: Refactor setting the region into a new function
2017-01-25 14:42:11 +01:00
Pierre Bourdon
18968abbd7
Merge pull request #4723 from booto/ios-init
...
Set up IOS RAM information area with real values.
2017-01-25 11:41:26 +01:00
Matthew Parlane
54e7d4a3dd
Merge pull request #4748 from lioncash/dspregcache
...
DSPJitRegCache: Make GetReg return by value
2017-01-25 22:49:16 +13:00
booto
d16ca2e5c8
Load IOS from TMD when launching non-IOS title.
2017-01-25 01:11:48 -05:00
Lioncash
3734d6f16c
DSPJitRegCache: Make GetReg return by value
...
Using out-references for this sort of thing is a C++03-ism.
2017-01-24 23:10:34 -05:00
degasus
d3aee2de08
JitCache: Split off JIT call from dispatcher.
...
This avoid flushing the BLR optimization stack on fast_block_cache misses.
2017-01-25 01:51:19 +01:00
JosJuice
8475b03bd8
ConfigManager: Always set a valid m_region
...
Fixes a regression from f85266d
that made WADs
with no detectable region not boot correctly.
The non-WAD code was already handling this correctly.
2017-01-24 16:34:08 +01:00
booto
3ba388138d
Set up IOS RAM information area with real values.
2017-01-24 09:48:21 -05:00
Markus Wick
eed64bb0fe
Merge pull request #4744 from ligfx/cleanup-osx-cmake
...
CMake: Cleanup macOS-related logic
2017-01-24 14:36:10 +01:00
Markus Wick
63f56ccd02
Merge pull request #4741 from Orphis/cmake_cleanup
...
CMake cleanup
2017-01-24 14:35:05 +01:00
Stenzek
214aea1aea
DSPHWInterface: Use SSSE3 function targeting
2017-01-24 20:04:55 +10:00
Stenzek
d315052552
AudioCommon: Remove unused _M_SSE test
2017-01-24 20:04:55 +10:00
Stenzek
0f978227f5
Common: Use function-level targeting for CRC32 (SSE4.2)
2017-01-24 20:04:55 +10:00
Stenzek
b74029ec57
TextureDecoder: Use target attributes on SSSE3 decoders
2017-01-24 20:04:55 +10:00
Stenzek
0f1b5a05ea
Common: Support for function-specific instruction set target on x64
2017-01-24 20:04:55 +10:00
Michael Maltese
0ab3b1a3ff
CMake: use CMAKE_OSX_DEPLOYMENT_TARGET
2017-01-24 01:27:41 -08:00
Matthew Parlane
221be63cb4
Merge pull request #4734 from leoetlino/info-ios-version
...
DolphinWX: Show the required IOS version in info panel
2017-01-24 18:47:14 +13:00
Florent Castelli
a917d247ed
DolphinWX: Remove HAVE_WX preprocessor define
...
I think we don't have to double check it when building the WX target.
2017-01-24 05:48:08 +01:00
Lioncash
ed627a8cff
DSPAssembler: Replace malloced output buffer with std::vector
...
Same thing, less manual memory management.
2017-01-23 22:03:40 -05:00
Florent Castelli
0baf1c78c0
vs: Move defines out of Common.h to the build system
2017-01-24 03:55:46 +01:00
Florent Castelli
a7bf9271b5
Fix missing includes
2017-01-24 03:31:51 +01:00
Florent Castelli
c649bf104b
cmake: Prevent HAVE_OPENAL and HAVE_PORTAUDIO to be redefined
2017-01-24 03:22:03 +01:00
Florent Castelli
cac53603c5
DolphinWX: Put wx related headers before including anything else
...
Including Windows.h before them creates compilation errors.
2017-01-24 03:22:03 +01:00
Florent Castelli
fa04c1479e
cmake: Remove PCH support
...
Compilers are very picky and don't use PCH when they have been compiled
with different flags. I even got some ICE in MSVC, so removing them for now.
Modules are the solution.
2017-01-24 03:22:03 +01:00
Matthew Parlane
f70a1a27fa
Merge pull request #4726 from ligfx/addingwindowsheaders
...
Fix building without PCH on Windows
2017-01-24 13:47:36 +13:00
Michael Maltese
0bc40cacda
No longer need to //clang-format off for Windows headers
2017-01-23 16:23:37 -08:00
Matthew Parlane
00c993143f
Merge pull request #4738 from EmptyChaos/pe-stackcheck-fix
...
PatchEngine: Fix potential crashing during stack probe
2017-01-24 11:27:44 +13:00
Matthew Parlane
98c4ceb3d1
Merge pull request #4737 from lioncash/bpmem
...
BPMemory: Minor changes
2017-01-24 11:00:25 +13:00
Lioncash
7a58a82a37
BPMemory: Add const specifier to member functions where applicable
2017-01-23 16:07:03 -05:00
Lioncash
1f596a23af
BPMemory: Eliminate union type punning
...
This is undefined behavior in C++.
2017-01-23 16:05:32 -05:00
EmptyChaos
49873b1287
MMU/PatchEngine: Fix potential crash during stack probe
...
TryReadInstruction doesn't validate the address it resolves, that
can result in Memory::GetPointer failing and returning nullptr
which then leads to a nullptr dereference and a crash.
Created PowerPC::HostIsInstructionRAMAddress which works the same
way as PowerPC::HostIsRAMAddress for the IBAT.
2017-01-24 08:05:11 +11:00
Léo Lam
3d21280ab4
DiscIO: Fix out-of-bounds access in NANDContentDataBuffer
...
Accessing buffer[start + size] triggers an error (and a crash) in debug
builds. Using std::copy_n fixes this.
2017-01-23 21:49:26 +01:00
Matthew Parlane
86b758d7ca
Merge pull request #4733 from leoetlino/expose-wad-tmd
...
VolumeWad: Implement GetTMD()
2017-01-24 09:20:14 +13:00
Léo Lam
b892d78872
VolumeWad: Implement GetTMD()
...
This allows getting useful info like the required IOS version for WADs
(for showing it in the UI, for example).
2017-01-23 20:59:02 +01:00
Léo Lam
ceb1797977
DolphinWX: Show the required IOS version in info panel
...
This is useful to know which IOS version is required by a title without
having to look at the TMD manually.
The IOS version row will only appear if there is a TMD, of course.
2017-01-23 20:42:36 +01:00
Léo Lam
1cb87a9e43
DolphinWX: Simplify item creation in InfoPanel
2017-01-23 20:42:36 +01:00
degasus
7f6b8e3555
JitCache: Extract ErasePhysicalRange as function.
2017-01-23 20:33:44 +01:00
degasus
70caf447b9
JitCache: Get physical addresses from PPCAnalyst.
...
So we support all kind of degenerated blocks now, not just range+length based ones.
2017-01-23 20:33:44 +01:00
degasus
3529af61c4
JitAnalyzer: Remove jit block cache workaround.
2017-01-23 20:33:44 +01:00
degasus
f3ed993747
JitCache: Use a map with macro blocks for the occupied memory regions.
...
This also allow fast invalidation, without any restritions on the blocks itself.
So we can now implement inlining.
2017-01-23 20:33:44 +01:00
degasus
dc0fbc15f0
JitCache: Drop block_map.
...
It is only used for invalidation, and in a bad way. Just scan over all elements,
as it is still in O(n), this shouldn't matter much.
2017-01-23 20:33:44 +01:00
Matthew Parlane
98311cd9f4
Merge pull request #4728 from lioncash/virtual-dtor
...
ControllerEmu: Add missing virtual destructor to BooleanSetting
2017-01-24 08:19:23 +13:00
Matthew Parlane
ee065181d7
Merge pull request #4730 from leoetlino/tmdreader
...
TMDReader: Add a way to get the required IOS version
2017-01-24 08:19:07 +13:00
Matthew Parlane
d97a2aba8d
Merge pull request #4731 from leoetlino/volumewad
...
Minor cleanup to VolumeWad
2017-01-24 08:18:02 +13:00
Lioncash
70cf774a5c
RenderBase: Forward declare EFBAccessType
2017-01-23 12:41:26 -05:00
Léo Lam
f89aaee91a
VolumeWad: Remove useless else after return
2017-01-23 18:17:34 +01:00
Léo Lam
2cd287baf7
VolumeWad: Add missing forward declaration
2017-01-23 18:17:34 +01:00
Léo Lam
6128679396
VolumeWad: Clean up variable naming
2017-01-23 18:07:23 +01:00
Léo Lam
6d909b3e30
VolumeWad: In-class initialise member variables
2017-01-23 18:07:21 +01:00
Léo Lam
0d8ddfb7d9
TMDReader: Add a way to get the required IOS version
2017-01-23 17:44:24 +01:00
Markus Wick
1c854f2daa
Merge pull request #4727 from lioncash/enum-class
...
VideoBackendBase: Convert EFBAccessType and FieldType into enum classes
2017-01-23 17:14:06 +01:00
JosJuice
6d879f7f3a
Merge pull request #4729 from lioncash/table
...
ES: Move the key table into the cpp file
2017-01-23 15:51:42 +01:00
Mat M
93faf26217
Merge pull request #4721 from RisingFog/remove_dead_audiodump_code
...
Remove dead audio dumping code
2017-01-23 09:17:11 -05:00
Chris Burgener
dd9709509c
Remove dead audio dumping code
2017-01-23 09:11:48 -05:00
Lioncash
fd772f6726
ES: Move the key table into the cpp file
...
This is a static implementation detail, so there's no need to bind it to the class directly.
This also makes the tables read-only.
2017-01-23 08:16:28 -05:00
Markus Wick
c0e8280240
Merge pull request #4706 from lioncash/dspasm
...
DSPAssembler: Minor cleanup
2017-01-23 12:12:01 +01:00
Lioncash
a9da2d9e20
ControllerEmu: Add missing virtual destructor to BooleanSetting
2017-01-23 05:08:19 -05:00
Markus Wick
4436011c50
Merge pull request #4725 from lioncash/attachments
...
Attachments: Minor cleanup
2017-01-23 10:55:04 +01:00
Lioncash
34768617d2
Attachment: Make constructors explicit where applicable
2017-01-23 04:42:27 -05:00
Lioncash
34262ee3d8
Attachment: Move implementation details into the cpp file
2017-01-23 04:42:26 -05:00
Lioncash
c87ee2a00e
Attachment: Use std::array over C arrays
2017-01-23 04:42:21 -05:00
Michael Maltese
713ec5ffd5
Add includes for building on Windows without PCH
2017-01-23 01:37:41 -08:00
Lioncash
940aa6f32d
VideoBackendBase: Convert FieldType into an enum class
2017-01-23 03:54:01 -05:00
Lioncash
5b461f50af
VideoBackendBase: Convert EFBAccessType into an enum class
2017-01-23 03:53:38 -05:00
Michael Maltese
c3a1547d9a
AVIDump: rename CreateFile -> CreateVideoFile (conflict with windows.h)
2017-01-23 00:35:18 -08:00
Michael Maltese
f024fd48f9
clang-format: Sort windows.h before other headers
2017-01-23 00:35:09 -08:00
Matthew Parlane
836f43038a
Merge pull request #4722 from lioncash/si-device
...
SI_Device: Minor cleanup
2017-01-23 21:28:58 +13:00
degasus
819ebfb213
JitCache: Freeing hotfix.
...
Sorry, I'm too stupid to test my code.
2017-01-23 06:58:02 +01:00
Markus Wick
9cd34c7985
Merge pull request #4717 from degasus/arm
...
JitArm64: Fix dcbz.
2017-01-23 06:32:11 +01:00
Lioncash
4b2f40a634
Attachment: Make class members non-public
2017-01-22 23:53:13 -05:00
Mat M
a2caa0d733
Merge pull request #4719 from ligfx/removeandroidtoolchainfile
...
Android: remove unused android.toolchain.cmake
2017-01-22 22:46:31 -05:00
Lioncash
fbcf86870d
SI_Device: Remove const specifiers from SIDevice_Create declaration's parameters
...
These are only relevant on the definition of the function.
2017-01-22 22:34:23 -05:00
Lioncash
0adb0dfeef
SI_Device: Move implementation details into the cpp file
...
Any changes to the base class' default behavior now won't require
all SI device source files to be recompiled.
2017-01-22 22:33:27 -05:00
Lioncash
fb8f19f553
SI_Device: Amend variable naming
2017-01-22 22:20:16 -05:00
Lioncash
f41e5eac2e
SI_Device: Move protected interface below public interface
2017-01-22 22:10:43 -05:00
Lioncash
7f4ef74542
SI_Device: Move the null device implementation to its own source files
2017-01-22 21:18:51 -05:00
Michael Maltese
21ae6afa73
Android: remove unused android.toolchain.cmake
...
Gradle automatically sets up the CMake build and this file isn't referenced
anywhere.
2017-01-22 16:54:08 -08:00
degasus
a19993c2a0
JitArm64: Fix dcbz.
...
This fixes the hidden wall in xenoblade.
2017-01-23 00:26:38 +01:00
Matthew Parlane
ba5c3f4c46
Merge pull request #4582 from iwubcode/per_game_wii_lang
...
Add support for specifying the GC/Wii system language per-game
2017-01-23 11:51:37 +13:00
Matthew Parlane
ef7a809fad
Merge pull request #4678 from degasus/jitcache
...
JitCache: Store the JIT blocks in the std::map.
2017-01-23 11:49:46 +13:00
Matthew Parlane
5cee3f99ce
Merge pull request #4710 from leoetlino/save-stm-hook
...
IOS: STM: Save event hook to savestates
2017-01-23 11:11:08 +13:00
iwubcode
a7a8e35823
Add support for specifying the GC/Wii system language per-game
2017-01-22 12:00:45 -06:00
Markus Wick
90ee85f4e8
Merge pull request #4714 from JosJuice/wbfs-file-entry
...
Fix -Wshadow warning for file_entry
2017-01-22 17:56:51 +01:00
Léo Lam
6291cd0bce
IOS: STM: Save event hook to savestates
...
This allows a STM event hook to be saved and restored correctly and
fixes the power/reset button after loading a state in some cases.
2017-01-22 17:29:39 +01:00
JosJuice
79f3b5c5ff
Fix -Wshadow warning for file_entry
...
This struct didn't follow our naming convention,
so let's rename the struct itself instead of
the variable that triggered the warning.
2017-01-22 17:27:37 +01:00
degasus
8e00c411a3
JitCache::Rename iCache to fast_block_map.
...
iCache sounds too much like emulation.
2017-01-22 17:10:28 +01:00
degasus
830ae6a2c1
JitCache: Store the JitBlock in the std::map.
2017-01-22 16:50:46 +01:00
degasus
43cdbab515
Jit64: Add a switch for easier fallback to the C++ dispatcher.
2017-01-22 16:50:46 +01:00
degasus
9b77a39767
JitCache: Only call DestroyBlock on valid blocks.
2017-01-22 16:50:46 +01:00
degasus
113d6b3b84
JitCache: Use a multimap for block_map and start_block_map.
...
We may have duplicated entries here because of MSR mismatch. Just
store both and validate the matching one on cache access.
2017-01-22 16:50:46 +01:00
degasus
9d58127dec
JitCache: Move JitBlock config variable.
2017-01-22 16:50:46 +01:00
degasus
352909fc4c
JitCache: Track the ICache entry of jit blocks.
...
This guarantees that no invalidated jit block is still in the icache.
2017-01-22 16:50:14 +01:00
Lioncash
a97aef2e94
Jit: Eliminate JIT global usages
2017-01-22 06:01:30 -05:00
Lioncash
a18ab5e154
JitArm64_LoadStore: Eliminate JIT global usages
2017-01-22 05:59:38 -05:00
Lioncash
4601499179
JitArm64_LoadStoreFloating: Eliminate JIT global usages
2017-01-22 05:57:44 -05:00
Lioncash
b4e00115c5
JitArm64_Tables: Eliminate usages of the JIT global
2017-01-22 05:54:33 -05:00
Lioncash
b0605c24d3
JitIL_Tables: Eliminate usages of the JIT global
2017-01-22 05:43:40 -05:00
Lioncash
3ee31890d3
Jit64_Tables: Eliminate usages of the JIT global
2017-01-22 05:43:34 -05:00
degasus
c9c5437cb8
JitCache: Fix links_to updates on destroying blocks.
2017-01-22 11:37:22 +01:00
Lioncash
6cddc1be95
EXI_Device: Get rid of an unnecesary cast
2017-01-22 04:28:49 -05:00
Lioncash
2e85ddef60
EXI_Device: Remove unnecessary const on EXIDevice_Create declaration parameters
...
These are only relevant on its definition.
2017-01-22 04:28:48 -05:00
Lioncash
07a61b0d15
EXI_Device: Move implementation details into the cpp file
...
Any change to the default behavior of any device methods now won't require
the recompilation of all EXI devices.
2017-01-22 04:28:44 -05:00
Lioncash
e41a6ac9a3
EXI_Device: Amend variable naming
2017-01-22 04:08:49 -05:00
Lioncash
4115d93c71
EXI_Device: Move destructor to beginning of public section
...
Constructors and destructors should be the first thing shown in a public
interface.
2017-01-22 02:35:20 -05:00
Lioncash
a5c0409050
EXI_Device: Move private details below the public interface
2017-01-22 02:30:10 -05:00
Lioncash
7c0b96f638
EXI_Device: Move the dummy implementation to its own source files
2017-01-22 02:15:36 -05:00
Lioncash
d6bdbfe90e
DSPAssembler: Use std::string instead of malloced char buffers in AssembleFile
2017-01-22 01:15:36 -05:00
Lioncash
cbe1ec51df
DSPAssembler: Make AssembleFile take a std::string
...
File paths passed to it would have been implicitly converted to std::strings
prior to this function being reached, so it gets rid of some string churn.
It also makes it safer since nullptr can't be passed in.
2017-01-22 01:15:31 -05:00
Matthew Parlane
d9c873bc8b
Merge pull request #4704 from lioncash/exi-channel
...
EXI_Channel: Minor cleanup
2017-01-22 16:53:09 +13:00
Lioncash
d2ff34e510
EXI_Channel: Remove const qualifiers from member function declaration parameters
...
Const used on value types only really has a use when used within the
definition.
2017-01-21 22:36:09 -05:00
Lioncash
387769b4e2
EXI_Channel: Move SetEXIINT implementation into the cpp file
2017-01-21 22:36:09 -05:00
Lioncash
edf8a79005
EXI_Channel: Make constructor explicit
2017-01-21 22:36:09 -05:00
Lioncash
5a85001d30
EXI_Channel: Amend variable casing
2017-01-21 22:36:04 -05:00
Matthew Parlane
2252b7a355
Merge pull request #4705 from lioncash/mmu
...
MMU: Change '0' literals to 'false' in IsOptimizableGatherPipeWrite
2017-01-22 16:24:49 +13:00
Lioncash
0dee9bc4f0
MMU: Change '0' literals to 'false' in IsOptimizableGatherPipeWrite
2017-01-21 21:16:41 -05:00
Matthew Parlane
507715f316
Merge pull request #4700 from degasus/videoconfig
...
VideoConfig: Fix boolean default values.
2017-01-22 14:52:37 +13:00
Lioncash
688225616e
EXI_Channel: In-class initialize variables
2017-01-21 18:44:54 -05:00
Lioncash
489e4c49bc
EXI_Channel: Move private interface below public interface
2017-01-21 18:42:18 -05:00
BhaaL
07d1f18f53
CompressFileToBlob: add an explicit seek to make sure we're at the start
2017-01-21 21:42:58 +01:00
BhaaL
30e0f3d9ca
DecompressFileToBlob: don't assume success if decompression failed
2017-01-21 21:42:58 +01:00
BhaaL
24be8c0814
IsGCZBlob: try to leave the file position where it was before
...
callers that don't seek afterwards might be missing a few bytes that way.
2017-01-21 21:42:57 +01:00
Léo Lam
3eb81ad219
Netplay: Fix wrong mapping info being used in dialog
...
Obvious fix for a small mistake.
2017-01-21 20:42:30 +01:00
degasus
65e3aa796e
VideoConfig: Fix boolean default values.
2017-01-21 11:31:44 +01:00
Matthew Parlane
7ebfd357b5
Merge pull request #4699 from Orphis/cmake_cleanup
...
CMake cleanup (but wait, there's more!)
2017-01-21 16:38:09 +13:00
Florent Castelli
59fb8042d1
cmake: Add XInput file to the InputCommon target
2017-01-21 02:44:18 +01:00
Florent Castelli
6c197a8f6a
cmake: Rename variable for libxi to X11_INPUT
2017-01-21 02:44:18 +01:00
Lioncash
794d0a9d7c
Core: Move SI source files to their own directory
2017-01-20 19:33:24 -05:00
Matthew Parlane
71ea457874
Merge pull request #4696 from Orphis/cmake_cleanup
...
CMake cleanup for Windows (moar!)
2017-01-21 13:09:52 +13:00
Matthew Parlane
a945b4ea9b
Merge pull request #4691 from lioncash/dsptables
...
DSPTables: Hide/Eliminate some extern variables
2017-01-21 12:39:47 +13:00
Florent Castelli
b6a7216b07
cmake: Mark DolphinWX target as a Windows application (instead of console)
2017-01-21 00:35:55 +01:00
Florent Castelli
2ff10ad021
cmake: Add missing Windows file to common
2017-01-21 00:35:55 +01:00
Florent Castelli
5540cda820
cmake: Don't build traversal_server on Windows, it requires posix platform
2017-01-21 00:35:55 +01:00
Florent Castelli
e55ec1ed35
cmake: Build D3D and D3D12 video backends
2017-01-21 00:35:55 +01:00
Florent Castelli
1516361d1d
cmake: Add missing dependencies on libs on Windows
2017-01-21 00:35:55 +01:00
Florent Castelli
b5b9c0cfc3
cmake: Build XAudio 2.7 backend on Windows
2017-01-21 00:34:02 +01:00
Matthew Parlane
83dc03416e
Merge pull request #4690 from leoetlino/common-usb
...
IOS: Move out common USB structures
2017-01-21 12:33:06 +13:00
Matthew Parlane
2f9bf297f1
Merge pull request #4693 from lioncash/interp-naming
...
Interpreter: Amend parameter naming
2017-01-21 12:31:51 +13:00
Lioncash
8078c18a80
Core: Move EXI source files to their own directory
...
Keeps related source files together and cleans up the root directory of HW
a little bit.
2017-01-20 16:06:35 -05:00
Lioncash
4d92ffb949
Interpreter: Amend parameter naming
...
Drops prefixed underscores from parameters
The C++14 standard states in section 2.10 subsection 3.2:
"Each identifier that begins with an underscore is reserved to the
implementation for use as a name in the global namespace."
It's highly unlikely an implementation will ever use '_inst' as a global
identifier, however it's better to just amend the names and alleviate
the concern altogether.
2017-01-20 14:51:00 -05:00
Léo Lam
954c41d6e9
IOS: Move out common USB structures
...
Some structures will be reused and shared between several IOS USB
device implementations. This prepares for the upcoming USB PR.
I've also removed GetPointer calls in the trivial case (BT passthrough)
2017-01-20 18:29:21 +01:00
Florent Castelli
4785802b9e
cmake: Move C++ standard requirement out of global scope to Source/
2017-01-20 17:46:40 +01:00
Matthew Parlane
25c779943b
Merge pull request #4687 from lioncash/ppc-state
...
PowerPC: Explicitly savestate PowerPCState members
2017-01-20 17:51:42 +13:00
Lioncash
c73f4bd226
DSPTables: Hide main opcode tables
...
Hides the opcode tables that the interpreter and JIT interface with to
execute instructions.
This does not, however, hide the read-only tables that the assembler and
disassembler use.
2017-01-19 17:46:07 -05:00
Lioncash
2b5b21f2a4
DSPAssembler: Rename FindOpcode parameters
...
Having opcod and opcode as parameter names is kind of silly.
2017-01-19 17:46:01 -05:00
Lioncash
14f0e66809
DSPTables: Use std::array instead of C arrays
2017-01-19 17:07:31 -05:00
Matthew Parlane
2acb3ef3f5
Merge pull request #4688 from leoetlino/ios-prefix
...
IOS: Remove IOS prefix on a few structs/enums
2017-01-20 11:04:10 +13:00
Léo Lam
a000a3c23f
Only allow reset/power when core is running
...
If we don't check for Core::IsRunning(), event types such as
iosNotifyResetButton may actually be nullptr, or some random invalid
pointer (after an emulation start then shutdown) and be used when the
user triggers a reset, which causes random crashes.
2017-01-19 22:08:13 +01:00
Léo Lam
e33d943459
IOS: Remove IOS prefix on a few structs/enums
...
Now that IOS code is namespaced, we don't need the prefix anymore.
2017-01-19 19:10:31 +01:00
Matthew Parlane
629fcb437a
Merge pull request #4683 from leoetlino/rename-ipc-hle
...
Reorganise the IOS HLE source files (and drop WII_IPC_HLE)
2017-01-19 20:54:35 +13:00
Lioncash
d266be5b56
PowerPC: Explicitly savestate PowerPCState members
...
Makes it more obvious which data is going into the savestate.
It also allows PowerPCState and InstructionCache to potentially
contain members that don't necessarily need to be saved to the save state.
It also gets rid of any potential padding data being put into the save
state.
2017-01-18 23:44:46 -05:00
Lioncash
c761f98ede
PowerPC: Simplify TLB resetting
...
Member initializers and std::array make this trivial for fixed value initialization.
2017-01-18 19:31:04 -05:00
Lioncash
b2351ddb29
PowerPC: Move CPU core initialization to its own function
2017-01-18 19:13:52 -05:00
Lioncash
e86def732a
PowerPC: Move zeroing of segment registers into ResetRegisters
2017-01-18 16:03:31 -05:00
Léo Lam
ef5a855b8e
Update log types names from IPC_HLE to IOS
...
For consistency with the other changes.
WII_IPC_DVD was changed to IOS_DI, as this describes what the log type
is used for in a more specific way.
2017-01-18 21:43:37 +01:00
Léo Lam
49b9c723e2
Put IOS devices in a namespace and drop WII_IPC_HLE prefix
2017-01-18 21:42:33 +01:00
Matthew Parlane
f94bd7d865
Merge pull request #4684 from lioncash/dsp-emu
...
DSPEmulator: Amend variable casing
2017-01-19 09:10:58 +13:00
Léo Lam
24199293d3
IOS: Reorganise the source files and IPC_HLE→IOS
...
IPC_HLE is actually IOS HLE. The actual IPC emulation is not in
IPC_HLE, but in HW/WII_IPC.cpp. So calling IPC_HLE IOS is more
accurate. (If IOS LLE gets ever implemented, it'll likely be at
a lower level -- Starlet LLE.)
This also totally gets rid of the IPC_HLE prefix in file names, and
moves some source files to their own subdirectories to make the file
hierarchy cleaner.
We're going to get ~14 additional source files with the USB PR,
and this is really needed to keep things from becoming a total pain.
2017-01-18 20:43:10 +01:00
Lioncash
cf1c194b88
DSPLLE: Amend variable casing
2017-01-18 12:50:58 -05:00
Lioncash
0f70650e93
DSPHLE: Amend variable casing
2017-01-18 12:44:27 -05:00
Lioncash
a57b378116
DSPEmulator: Amend variable casing
2017-01-18 12:20:13 -05:00
Lioncash
bba6a31eb6
Interpreter_Tables: Amend leftover comment
2017-01-18 03:03:44 -05:00
Lioncash
06488477a9
Interpreter_Tables: Ensure all instructions fit within m_allInstruction at compile-time
2017-01-18 03:03:42 -05:00
Lioncash
6c61021eb1
PPCTables: Use std::array instead of raw C arrays
2017-01-18 03:03:00 -05:00
Lioncash
1a1ce42889
Interpreter_Tables: Use std::array for instruction tables
2017-01-18 03:02:55 -05:00
Matthew Parlane
01b322d45f
Merge pull request #4679 from lioncash/ipc
...
IPC_HLE: Namespace IPC HLE
2017-01-18 17:33:08 +13:00
Matthew Parlane
41f7995916
Merge pull request #4680 from lioncash/ir
...
IR: Minor changes
2017-01-18 17:31:40 +13:00
Lioncash
e4ea9f7ace
Interpreter: Use std::array for instruction tables
2017-01-17 22:06:52 -05:00
Lioncash
f0abdbdeb5
Interpreter: Correct member variable casing
2017-01-17 21:50:01 -05:00
Lioncash
e9b506638f
Interpreter: Make m_EndBlock private
2017-01-17 21:16:14 -05:00
Lioncash
722162b54a
IPC_HLE: Namespace IOS HLE
...
Gets all of the IOS HLE code out of the global scope.
2017-01-17 20:46:58 -05:00
Lioncash
f1542c8e5a
Common: Namespace Network.h/.cpp
...
Necessary to avoid namespace clashes with IOS HLE's namespace name.
2017-01-17 20:46:48 -05:00
Lioncash
bb49012445
IR: Deduplicate code in Reset and FoldFallbackToInterpreter
2017-01-17 20:35:02 -05:00
Lioncash
89473d5996
IR: Clean up getNumberOfOperands
...
- Use std::array
- Make arrays constexpr where their contents aren't modified.
2017-01-17 20:22:38 -05:00
Lioncash
d3aed03563
IR: Make trivial helper functions constexpr
2017-01-17 19:42:36 -05:00
Lioncash
d1f39185dd
IR: Convert typedefs to using aliases
2017-01-17 19:40:56 -05:00
Matthew Parlane
f785d7f869
Merge pull request #4675 from lioncash/jitil
...
JitILBase: Make the IRBuilder protected
2017-01-18 13:10:31 +13:00
Florent Castelli
875563787f
cmake: include(Find…)->find_package(…)
2017-01-17 21:50:44 +01:00
Lioncash
1516c22a22
JitILBase: Make the IRBuilder instance protected
...
There's no need to make it public.
2017-01-17 14:55:45 -05:00
Lioncash
e924814d62
JitILBase: Move protected members below public
2017-01-17 14:45:40 -05:00
Matthew Parlane
63011f1402
Merge pull request #4661 from leoetlino/ios-request
...
IOS HLE: Deduplicate the request parsing code
2017-01-18 08:38:37 +13:00
Sarkie
8c5c7f8d2a
Updated gradle to latest version
2017-01-17 10:19:39 +00:00
Matthew Parlane
753455b379
Merge pull request #4671 from endrift/fix-libusb
...
InputCommon: Fix FreeBSD 11 libusb incompatibilities
2017-01-17 21:43:08 +13:00
Jeffrey Pfau
c5b3b52d55
InputCommon: Fix FreeBSD 11 libusb incompatibilities
2017-01-17 00:30:08 -08:00
Lioncash
8346f86ee4
IR: Remove unnecessary semicolon on namespace brace
2017-01-16 19:54:42 -05:00
Lioncash
67fc73e82c
IR: Make getNumInsts return type size_t
...
There's no need to cast here.
2017-01-16 19:38:30 -05:00
Lioncash
459a6e73c3
IR: Remove unused function
2017-01-16 19:32:13 -05:00
Lioncash
cd12b2c55f
IR: Make IRBuilder uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the
language, contains a const qualifier on its parameter, so this wouldn't
have prevented copies from being performed.
2017-01-16 18:59:17 -05:00
Lioncash
a8b2dd7fc3
IR: Use std::array instead of raw C arrays
2017-01-16 18:54:30 -05:00
Lioncash
ef3e6de875
IR: Move implementation of the constructor and Reset into the cpp file
...
Neither of these are intended to be called extremely frequently to warrant
this.
2017-01-16 18:36:11 -05:00
Léo Lam
25f89ccae8
IOS HLE: Specify the return code when replying
...
This makes more sense than setting the return code on the request
struct first before replying.
Ref: https://github.com/dolphin-emu/dolphin/pull/4661#discussion_r96273253
2017-01-17 00:28:22 +01:00
Lioncash
47fc72f0a8
IR: Get rid of an unimplemented member function prototype
2017-01-16 18:11:54 -05:00
Lioncash
4f75590fdb
IR: Move private details below public details
2017-01-16 18:08:11 -05:00
Léo Lam
c6b1cfb222
IOS HLE: Remove old structs and methods
...
Now that everything has been changed to use the new structs, the old
methods and structs can be removed.
And while I was changing the base device class, I also moved the
"unsupported command" code to a separate function. It was pretty silly
to copy the same 3 lines for ~5 commands.
2017-01-16 23:55:57 +01:00
Léo Lam
8629a1f11c
IOS HLE: Deduplicate request code in WFS
2017-01-16 23:55:57 +01:00
Léo Lam
4af67abb55
IOS HLE: Deduplicate request code in ES
2017-01-16 23:55:56 +01:00
Léo Lam
6bf0b487d1
IOS HLE: Deduplicate request code in USB_HID
2017-01-16 23:55:56 +01:00
Léo Lam
0e979ec75f
IOS HLE: Deduplicate request code in FileIO and FS
2017-01-16 23:55:56 +01:00
Léo Lam
5a5985f674
IOS HLE: Deduplicate request code in DI
2017-01-16 23:55:55 +01:00
Léo Lam
469a31db32
IOS HLE: Deduplicate request code in sdio_slot0
2017-01-16 23:55:55 +01:00
Léo Lam
a04902086a
IOS HLE: Deduplicate request code in net/net_ssl
2017-01-16 23:55:55 +01:00
Léo Lam
84c8d0b66d
IOS HLE: Deduplicate request code in stub
2017-01-16 23:55:54 +01:00
Léo Lam
f9e806fd71
IOS HLE: Deduplicate request code in OH1
2017-01-16 23:55:54 +01:00
Léo Lam
d4de87a973
IOS HLE: Deduplicate request code in USB_KBD
2017-01-16 23:55:53 +01:00
Léo Lam
d536082e42
IOS HLE: Deduplicate request code in USB_VEN
2017-01-16 23:55:53 +01:00
Léo Lam
d7b4e6ead5
IOS HLE: Deduplicate request code in STM
2017-01-16 23:55:52 +01:00
Léo Lam
e2d072250f
IOS HLE: Deduplicate request code in WII_IPC_HLE
2017-01-16 23:55:52 +01:00
Léo Lam
d8b9b3825c
IOS HLE: Add resource request structs
...
This adds well-defined structs that are responsible for parsing
resource requests, instead of duplicating the logic and offsets all
over IOS HLE. Command handler functions are now passed parsed requests
instead of a command address.
This may not seem like a very important change, but it removes the
need to remember all of the struct offsets or copy/paste existing
struct request variables. It also prevents nasty bugs which have
occurred in the past, such as parsing an ioctl as if it were an ioctlv
(that's way too easy to do if you pass command addresses directly);
or writing something to 0x0, which can easily happen by mistake with
a close handler that can be called with invalid command addresses.
Bonus changes:
- The return code is not an obscure Memory::Write_U32 anymore, but an
explicit, more obvious SetReturnValue() call. (Which correctly takes
a s32 instead of a u32, since return codes are signed.)
- Open handlers are now only responsible for returning an IOS ret code,
and Close handlers don't return anything and don't have to worry
about checking whether the request is a real one anymore.
- DumpAsync was moved to the ioctlv request struct, because it did
not really make sense to make it part of the IOS device and it only
works for ioctlvs.
All current usages have been removed; they will be readded in a
later commit.
As of this commit, nothing uses the structs yet. Usages will be
migrated progressively.
2017-01-16 23:55:52 +01:00
Matthew Parlane
53bfab057c
Merge pull request #4666 from lioncash/jitil-ir
...
IR_X86: Minor changes to RegInfo
2017-01-17 11:52:44 +13:00
Matthew Parlane
8153772bfe
Merge pull request #4662 from lioncash/memview
...
MemoryView: Separate memory string composition from OnPaint
2017-01-17 11:31:16 +13:00
Lioncash
43910e474b
IR_X86: Use member initializers where applicable for RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
bc7374a5e1
IR_X86: Use std::array instead of raw C arrays in RegInfo
2017-01-16 17:29:09 -05:00
Lioncash
45f7883ed8
IR_X86: Make RegInfo uncopyable
...
Hiding and not implementing the copy constructor is a pre-C++11 thing.
It should also be noted that a copy constructor, as defined by the language,
contains a const qualifier on its parameter, so this wouldn't have
prevented copies from being performed.
It also follows that if the copy constructor is deleted, then copy
assignment should also be forbidden.
2017-01-16 17:27:03 -05:00
Matthew Parlane
3415a1ca18
Merge pull request #4614 from jackoalan/gba-hle-cleanup
...
DSP: Clean up GBA crypto HLE implementation
2017-01-17 11:10:50 +13:00
Matthew Parlane
ed7589cb0f
Merge pull request #4656 from hthh/cmpr-fixes
...
TextureDecoder: Fix off-by-one errors in CMPR
2017-01-17 11:05:42 +13:00
Lioncash
6788cb7266
HW/DSP: Correct prefixes of translation-unit-local variables
...
These aren't globals.
2017-01-16 14:53:37 -05:00
Lioncash
8cc4815fe2
HW/DSP: Hide the DSP state global
2017-01-16 14:14:03 -05:00
Markus Wick
1a01aee66e
Merge pull request #4663 from lioncash/dsp-init
...
HW/DSP: Use member initializers with structs/unions where applicable
2017-01-15 23:51:13 +01:00
Markus Wick
23104b6939
Merge pull request #4655 from Armada651/vertex-depth-no-uid
...
VertexShaderGen: Remove the need for an extra UID.
2017-01-15 23:02:13 +01:00
Lioncash
c6ec5de659
HW/DSP: Use member initializers with structs/unions where applicable
2017-01-15 16:03:12 -05:00
Lioncash
3848c2a018
MemoryView: Get rid of a type-punning cast from u32 to float
...
This is undefined behavior. The bits should be memcpyed.
2017-01-15 12:16:41 -05:00
Lioncash
2108bf1be6
MemoryView: Separate memory string composition from OnPaint
...
OnPaint should only care about drawing data, not directly creating
said data.
2017-01-15 12:13:08 -05:00
Pierre Bourdon
28f0d8e8a7
Merge pull request #4658 from lioncash/bits
...
Common: Add bit utility header
2017-01-15 17:23:30 +01:00
Markus Wick
5297309dfa
Merge pull request #4650 from degasus/jitcache
...
JitCache: Use pointers in the ICache and dispatchers.
2017-01-15 15:59:10 +01:00
hthh
88d52b4d69
TextureDecoder: Deduplicate some utility code
2017-01-15 20:23:26 +11:00
Matthew Parlane
e727e91be6
Merge pull request #4660 from JosJuice/gfx-debug-strings
...
Remove seemingly unused debug UI strings
2017-01-15 11:53:25 +13:00
JosJuice
2052bb8bea
Remove seemingly unused debug UI strings
...
wxChoice controls don't display any titles.
By the way, why is the file called DebuggerPanel.cpp
even though it implements the Video debug panel specifically?
2017-01-14 22:34:49 +01:00
Pierre Bourdon
dd9e6760c4
Merge pull request #4659 from leoetlino/chunkfile-set
...
Fix ChunkFile for std::set
2017-01-14 20:11:00 +01:00
Pierre Bourdon
45a1232920
IOS: Add partial wfsi/wfssrv implementations.
...
The current implementations do many things wrong but work well enough to
run the Dragon Quest X installer until the very end. The game itself
crashes when being launched from its System Menu channel unfortunately
so it is hard to verify whether the install properly worked or not.
There are plenty of "TODO(wfs)" sprinkled around this codebase with
things that are knowingly done wrong. The most important one right now
is that content extraction is done by buffering everything into memory
instead of properly streaming the data to disk (and processing
asynchronously), which causes freezes. It is likely to not cause any
practical issues since only the installer and the updater should use
this anyway.
2017-01-14 19:56:43 +01:00
Léo Lam
ea0335f7c1
Fix ChunkFile for std::set
...
Without this, attempts to savestate std::set will fail with an error
about dropping the const qualifier.
<Lioncash> leoetlino: I'll try to break it down: So, when you do a
ranged-for on a container, it's essentially syntactic sugar over begin
and end iterators. std::set is an associative container where the key
type is the same as the value type, and so it's required that all
iterator functions return constant iterators. If this wasn't a
requirement, it would allow changing the ordering of elements from
outside of the set's API (this is bad).
2017-01-14 19:00:19 +01:00
Lioncash
0a6f0dfb74
Common: Add bit utility header
...
This attempts to make some bit arithmetic more self-documenting and also
make it easier during review to identify potential off-by-one errors by
making it possible to just specify which bits are being extracted.
Functions both support the case where bits being extracted can vary and
fixed bit extraction. In the case the bits are fixed, compile-time asserts
are present to prevent accidental API usage at compile-time.
e.g. Instead of shifting and masking to get bits 10 to 15,
Common::ExtractBits<10, 15>(value) can just be done instead.
2017-01-14 11:16:02 -05:00
Pierre Bourdon
45d27f7fc7
CommonPaths: Add D_WFSROOT_IDX.
...
Defaults to $USERDIR/WFS. Used to store the contents normally stored on
WFS mass storage devices.
2017-01-14 17:06:40 +01:00
Pierre Bourdon
a8f7012cf7
IOS/ES: Implement basic title installation.
...
There are several things wrong with this implementation. The first being
that since we still don't have a proper ticket/tmd handling library, we
hardcode offsets once again to fetch TMD fields. The second being that
we don't stream data to the disk and we buffer everything in memory. The
third being that we don't properly fetch the content index for
decryption, which is prone to breaking.
But hey, it works well enough to install the DQX channel!
2017-01-14 17:06:40 +01:00
Pierre Bourdon
0a5cfd8946
IOS: Add ESFormats.{cpp,h}.
...
This library implements basic parsing support for some of the IOS ES
formats we need to extract data from. Currently only implements TMD
functions, but some ticket handling functions from DiscIO should likely
be moved here in the future.
2017-01-14 17:06:40 +01:00
Pierre Bourdon
334ddf754e
DiscIO: Export GetKeyFromTicket
...
This function has more uses than just in DiscIO (e.g. WFS).
2017-01-14 17:06:40 +01:00
Pierre Bourdon
650a1fdb1f
DiscIO: Implement functions to lookup tickets
...
These two functions load either a signed ticket or a raw ticket from the
emulated NAND.
The ticket signature skip is refactored out of the ticket writing in
order to be usable by the raw ticket reading function.
2017-01-14 17:06:40 +01:00
Pierre Bourdon
2ed352698f
IOS/ES: Implement ES_AddTicket.
...
Refactor the existing DiscIO::AddTicket to not require the caller to
pass the requested title ID. We do not have the title ID in the ES case,
and it needs to be extracted from the ticket. Since this is always a
safe operation to do (title ID is always in the ticket), the
implementation is made default.
2017-01-14 15:23:16 +01:00
Pierre Bourdon
c30635c70a
IOS/ES: Factor out the ES_Decrypt implementation.
...
WFSI calls into ES to perform this operation, so expose a way for us to
do the same thing.
2017-01-14 15:23:16 +01:00
hthh
5d4e4aa561
TextureDecoder: Fix off-by-one errors in CMPR
2017-01-14 10:52:35 +11:00
Lioncash
45415e1057
ColorUtil: Make decodeCI8image's pal parameter const
2017-01-13 17:07:26 -05:00
Matthew Parlane
30e57cecf7
Merge pull request #4653 from lioncash/dsp-define
...
DSPInterpreter: Get rid of a #define constant
2017-01-14 10:54:48 +13:00
Jules Blok
271a9fe7a9
VertexShaderManager: Break up the conditions to make it readable.
2017-01-13 14:01:17 +01:00
Jules Blok
f866748006
VertexShaderGen: Remove the need for an extra UID.
2017-01-13 14:01:17 +01:00
Matthew Parlane
ad84b904e4
Merge pull request #4496 from Mystro256/master
...
Fix GCC build issue with Fedora (linux)
2017-01-13 23:13:08 +13:00
Matthew Parlane
0d43b0e0e4
Merge pull request #4652 from lioncash/memcard
...
GCMemcard: Const-correctness changes
2017-01-13 23:09:08 +13:00
Lioncash
35cc4a4202
DSPInterpreter: Get rid of a #define constant
...
This constant isn't particularly helpful, mainly because it's not
applicable to all DSP instructions. Some instructions don't have encoding
space for registers, and not all instructions that do encode registers
have one at the first five bits.
This change also has the benefit of removing all includes to the
interpreter within the JIT code, which keeps them fully separate from one
another. Changes to the interpreter header won't require some of the JIT
code to be rebuilt.
2017-01-12 20:36:52 -05:00
Lioncash
0035a4ef3d
GCMemcard: Const-correctness changes
...
A few function reference and pointer parameters are only read from.
2017-01-12 20:01:19 -05:00
Léo Lam
5fd486014b
DolphinWX: Always keep panic alerts on top
...
This should prevent silly things like panic alerts opening *behind* the
render window and thus being impossible to see.
2017-01-12 23:40:58 +01:00
Matthew Parlane
5790f15be8
Merge pull request #4299 from sepalani/hle_symbols
...
SymbolDB: Multiple symbols detection allowed
2017-01-13 10:05:32 +13:00
Matthew Parlane
9838afea41
Merge pull request #4479 from GerbilSoft/feature/RVT-R.dev-key
...
Support for RVT-R disc images
2017-01-13 09:56:50 +13:00
Matthew Parlane
22546aef37
Merge pull request #4499 from ligfx/msgalertmainthread
...
DolphinWX: pass wxMsgAlert to main thread on non-GTK too
2017-01-13 09:52:09 +13:00
Matthew Parlane
24f7ebc890
Merge pull request #4420 from JosJuice/memcard-header-time
...
Don't use GetEmulatedTime in GCMemcard
2017-01-13 09:49:35 +13:00
degasus
fe41ed7fa1
JitCache: Use pointers in the ICache and dispatchers.
2017-01-12 21:43:28 +01:00
Léo Lam
64101137cd
Remove pre-generated SYSCONF
...
Dolphin is able to generate one with all correct default settings, so
we don't need to ship with a pre-generated SYSCONF and worry about
syncing default settings.
Additionally, this commit changes SysConf to work with session SYSCONFs
so that Dolphin is able to generate a default one even for Movie/TAS.
Which SYSCONF needs to be touched is explicitly specified to avoid
confusion about which file SysConf is managing.
(Another notable change is that the Wii root functions are moved into
Core to prevent Common from depending on Core.)
2017-01-12 21:30:11 +01:00
Matthew Parlane
d346d4ced1
Merge pull request #4544 from JosJuice/region-enum
...
DiscIO: Add GetRegion function and Region enum
2017-01-13 09:19:27 +13:00
Matthew Parlane
34c6672b97
Merge pull request #4446 from leoetlino/countries
...
ConfigManager: Don't overwrite the SYSCONF country
2017-01-13 09:09:56 +13:00
Matthew Parlane
356619642b
Merge pull request #4647 from degasus/jitcache
...
JitCache: Clean up block id handling.
2017-01-13 09:00:46 +13:00
degasus
d4a529614a
Jit64: Use PPCSTATE reg if possible.
2017-01-12 20:55:17 +01:00
degasus
a8b26937f3
JitCache: Clean up GetBlockFromStartAddress.
2017-01-12 20:24:43 +01:00
degasus
214f37ecef
JitCache: Rename variables.
2017-01-12 20:23:14 +01:00
degasus
3ee178abe7
JitCache: Drop unused functions.
2017-01-12 20:23:14 +01:00
degasus
7e850361fb
JitCache: Add a helper function to iterate over all blocks.
2017-01-12 20:23:14 +01:00
degasus
ca026b58ab
JitCache: Use a pointer in links_to.
2017-01-12 20:23:14 +01:00
degasus
928ccbef53
JitCache: Use a pointer in block_map.
2017-01-12 20:23:14 +01:00
degasus
74a27d9742
JitCache: Use a pointer in start_block_map.
2017-01-12 20:23:14 +01:00
degasus
2d5288dc10
JitCache: Return a pointer in AllocateBlock.
2017-01-12 20:23:14 +01:00
degasus
f14cebf079
JitCache: Use a pointer in FinalizeBlock.
2017-01-12 20:23:14 +01:00
degasus
d3aa8c8080
JitCache: Return a pointer in GetBlockFromStartAddress.
2017-01-12 20:23:14 +01:00
degasus
f6ec96efbd
JitCache: Use a pointer in DestroyBlock.
2017-01-12 20:23:14 +01:00
degasus
68c85d32f7
JitCache: Use a pointer in UnlinkBlock.
2017-01-12 20:23:14 +01:00
degasus
eb390f3020
JitCache: Use a pointer in LinkBlock.
2017-01-12 20:23:14 +01:00
degasus
ccb8c44a5a
JitCache: Use a pointer in LinkBlockExits.
2017-01-12 20:23:14 +01:00
Matthew Parlane
119dfbb436
Merge pull request #4648 from lioncash/iofile
...
IOFile: Get rid of IOFile's ReleaseHandle function
2017-01-13 08:15:23 +13:00
Lioncash
6f08ef9a25
IOFile: Get rid of IOFile's ReleaseHandle function
...
Transfer of handles should be done via std::move.
2017-01-12 12:34:06 -05:00
Matthew Parlane
0b6e5765dd
Merge pull request #4610 from ligfx/fixgamelist
...
DolphinWX: Fix position of GameListCtrl tooltips on macOS
2017-01-12 14:18:05 +13:00
Michael Maltese
fdcf5aeb75
DolphinWX: Fix position of GameListCtrl tooltips on macOS
2017-01-11 16:59:15 -08:00
Matthew Parlane
04a86e1cee
Merge pull request #4646 from leoetlino/minor-simplifications
...
IOS HLE: Minor simplifications
2017-01-12 12:32:05 +13:00
Matthew Parlane
ed6e346664
Merge pull request #4617 from lioncash/hotkey
...
HotkeyInputConfigDialog: Move UI creation into named functions
2017-01-12 11:02:10 +13:00
Matthew Parlane
c765087548
Merge pull request #4645 from lioncash/breakpoints
...
BreakPoints: Minor changes
2017-01-12 11:01:11 +13:00
Lioncash
b760479f77
BreakPoints: Use std::any_of where applicable
2017-01-11 16:37:31 -05:00
Léo Lam
13c374b118
IOS HLE: Replace some loops with range-based loops
2017-01-11 21:20:15 +01:00
Léo Lam
36c4dda4ed
IOS HLE: Simplify Reset() and SetDefaultContentFile()
...
Reset():
We only need to close IOS devices which were opened, and we can do that
simply by iterating over s_fdmap and closing any opened device.
With this change, s_device_map can be cleared at once.
SetDefaultContentFile():
We can just use s_es_handles which is guaranteed to contain three valid
ES devices. Gets rid of a downcast.
2017-01-11 17:52:28 +01:00
Lioncash
e97953130d
BreakPoints: Use character literals for finding single characters
...
The single character find overload is better suited over the one for
finding character sequences.
2017-01-11 10:08:14 -05:00
Lioncash
4e649c60c0
BreakPoints: Make getters const member functions
...
Just const-correctness stuff. The returned collection can't be modified,
so this makes sense.
2017-01-11 10:08:14 -05:00
Lioncash
0f8bcf412d
BreakPoints: Rename variables
...
Drops Hungarian notation where applicable.Drops Hungarian notation where
applicable.
2017-01-11 10:08:11 -05:00
Lioncash
274ab8a262
BreakPoints: Make the memchecks class member private
...
There's no need to make this public.
2017-01-11 10:07:34 -05:00
Markus Wick
f82d6c6fe1
Merge pull request #4644 from leoetlino/no-return-value
...
IOS HLE: Make Device::Update() return void
2017-01-11 15:09:41 +01:00
Mat M
55b82e323c
Merge pull request #4537 from JosJuice/blob-open-less-files
...
Open less files when detecting/opening blobs
2017-01-11 08:30:16 -05:00
Léo Lam
15567ef2bf
IOS HLE: Remove useless overrides in bt_stub
...
Since the Open command won't ever return with the stub, there's no way
we will get a Close/IOCtl/IOCtlV for it, so we don't have to
implement it at all.
2017-01-11 14:06:01 +01:00
Léo Lam
f66aab6381
IOS HLE: Make Device::Update() return void
...
The return value is not used at all, so it's useless to keep it.
And the semantics of the return value were not even well defined.
2017-01-11 14:06:01 +01:00
Lioncash
93c5c0213f
BreakPoints: Convert typedefs into using aliases
2017-01-11 07:59:43 -05:00
Lioncash
50ee01754e
BreakPoints: Add initializers for TBreakPoint and TWatch
...
Ensures all members are consistently initialized.
2017-01-11 07:55:43 -05:00
Lioncash
588374349f
BreakPoints: In-class initialize TMemCheck members
...
Same thing, less code.
2017-01-11 07:53:49 -05:00
JosJuice
b1873264d7
WbfsBlob: Don't wrap file_entry in std::unique_ptr
...
There doesn't seem to be any reason for doing it.
2017-01-11 13:39:46 +01:00
JosJuice
0363be4320
WbfsBlob: Remove m_total_files
...
std::vector already keeps track of this for us.
2017-01-11 13:39:38 +01:00
JosJuice
5c02795af0
WbfsBlob: Only open each file once
...
The first file used to be opened once by
CreateBlobReader and once inside WbfsFileReader.
2017-01-11 13:33:27 +01:00
JosJuice
8d54bbc528
Don't create new IOFiles when creating a blob
...
...except for WBFS, which is special because
it has the ability to open multiple files.
2017-01-11 13:23:23 +01:00
JosJuice
d1ea00ed88
Only open file once when detecting blob type
2017-01-11 13:23:19 +01:00
Matthew Parlane
a3bef102b7
Merge pull request #4643 from SeannyM/settings-saving
...
Android: Change Exit Without Saving to Save and Exit
2017-01-11 22:59:42 +13:00
Sean Maas
cc29691875
Android: Change Exit Without Saving to Save and Exit
2017-01-10 17:12:42 -05:00
Markus Wick
d9a37d38b4
Merge pull request #4571 from degasus/DSPHLE
...
Attempt re-adding the missing AXWii DSP_SYNC
2017-01-10 22:23:35 +01:00
Jack Andersen
3869eec53a
DSP: Clean up GBA crypto HLE implementation
2017-01-10 10:34:34 -10:00
Markus Wick
52ec186f0a
Merge pull request #4642 from stenzek/split-x64-texture-decoders
...
TextureDecoder: Seperate each format into its own function
2017-01-10 12:06:47 +01:00
Stenzek
2f223e24dc
TextureDecoder: Seperate each format into its own function
2017-01-10 20:41:00 +10:00
Lioncash
ea8fc594a5
Common: Move BreakPoints into Core
...
BreakPoints utilizes the jit global variable, so this was making Core and
Common cyclical dependencies on one another.
2017-01-10 05:24:44 -05:00
Markus Wick
45a875e2f2
Merge pull request #4639 from Tilka/android
...
Android: fix software renderer 2nd edition
2017-01-10 10:30:16 +01:00
Matthew Parlane
ab2542ea41
Merge pull request #4630 from PEmu1/refresh-game-list
...
Change "Refresh List" to "Refresh Game List" in Menu
2017-01-10 14:06:23 +13:00
Markus Wick
440a2f832c
Merge pull request #4637 from lioncash/jitcache
...
JitCache: Get rid of reliance on the JIT global variable
2017-01-10 00:07:17 +01:00
Tillmann Karras
7284c7a954
Android: fix software renderer 2nd edition
2017-01-09 11:58:19 +00:00
Léo Lam
a68aea1ace
IOS HLE: Replace is_hardware with a proper device type
...
is_hardware is an obscure name (what does hardware mean?) and it forces
us to assume that anything that !is_hardware is a FileIO device. This
assumption prevents properly restoring OH0 child devices (which will be
implemented in the USB PR), so this commit replaces the is_hardware
bool with a device type.
2017-01-09 12:27:45 +01:00
Lioncash
37d10064b8
JitCache: Get rid of reliance on the JIT global variable
2017-01-09 04:43:06 -05:00
Lioncash
f75aab1a85
CachedInterpreter: Separate the block cache from CachedInterpreter
...
An interpreter is not a block cache. It may utilize a block cache, it may
contain a block cache but it *is not* A block cache.
2017-01-09 04:43:05 -05:00
Lioncash
eddccb3891
CachedInterpreter: Move to its own directory
2017-01-09 04:43:05 -05:00
Lioncash
2b8ede8dc6
JitCache: Move implementation details into the cpp file
2017-01-09 04:43:04 -05:00
Lioncash
cf18aeb1eb
JitCache: Move private class details below public details
...
Also organizes cpp file organization to match the function layout.
2017-01-09 04:42:59 -05:00
Lioncash
1dab2c8816
IOFile: Correct explicit operator bool semantics
...
The operator void* variant was m_good ? m_file : nullptr;
so this was leaving out the file handle check.
2017-01-08 22:52:44 -05:00
Matthew Parlane
0869c63048
Merge pull request #4634 from leoetlino/probably-pointless-ios-fixes
...
IOS HLE: Minor changes to match IOS behaviour
2017-01-09 13:49:32 +13:00
Lioncash
00baf193ac
CodeBlock: Const correctness for IsInSpace
2017-01-08 18:40:09 -05:00
Léo Lam
c761ac4f08
IOS HLE: Set return value to EINVAL for unknown commands
...
This matches IOS behaviour and allows getting rid of command handlers
which merely set the return value to EINVAL.
2017-01-08 21:18:08 +01:00
Léo Lam
45b59f01b8
IOS HLE: Allow up to 3 ES handles
...
Confirmed by a hardware test and a quick diassembly of /dev/es.
I'm not aware of anything that opens several ES handles, but
technically, this fixes a small inaccuracy in IOS HLE.
2017-01-08 21:16:10 +01:00
Léo Lam
23162ac722
IOS HLE: STM: Check if there is already an event hook
...
For IOCTL_STM_EVENTHOOK, IOS checks if there is already an event hook
to prevent overriding an existing event hook message with a new one,
without first releasing it.
2017-01-08 21:16:10 +01:00
Matthew Parlane
5135445298
Merge pull request #4627 from leoetlino/naming-cleanup
...
IOS HLE: Naming cleanup
2017-01-09 09:08:50 +13:00
Chris Burgener
47b3a9c68e
Add Silent Audio Dumping INI Option
2017-01-08 13:53:44 -05:00
Tillmann Karras
7e21732b53
Android: fix software renderer settings string
2017-01-08 17:28:14 +00:00
PEmu1
b25ed121d1
Change "Refresh List" to "Refresh Game List" in Menu
...
Make refresh list option more clear as to what it does and more consistent with other usage in the UI.
2017-01-08 09:24:17 -08:00
flacs
c30216003e
Merge pull request #4622 from degasus/videosw
...
VideoSW: Fix GL ES shader.
2017-01-08 17:03:57 +00:00
Lioncash
27350dbf1c
Jit64Base: Use size_t to represent size in LogGeneratedX86
2017-01-07 21:57:19 -05:00
Lioncash
77756b44d5
Jit64Base: Const correctness for LogGeneratedX86
2017-01-07 21:53:06 -05:00
Matthew Parlane
7a4464c3e0
Merge pull request #4599 from stenzek/point-uvs
...
GeometryShaderGen: Use lower-left origin for point texture coordinates
2017-01-08 13:40:55 +13:00
Léo Lam
1f9269d0ea
ConfigManager: Don't overwrite the SYSCONF country
...
Currently, the country is always overridden depending on the Wii
language setting. This makes it impossible to change the country
independently from the language, unlike on a Wii, since a language
will always be associated to an unique country (which is hardcoded
in Dolphin's codebase).
This behaviour was added in c881262
and changed in PR 4319 to happen
every time emulation is started. It doesn't seem to be needed anymore,
as a quick testing shows that a Japanese system menu is able to load
in Japanese even with the region set to France, or anything other than
Japan in fact. So what this commit changes is drop this code.
Fixes issue 9884.
2017-01-08 01:28:43 +01:00
Léo Lam
c28b148783
IOS HLE: Clean up naming and remove unused defines
...
Removes #defines which have been unused for years and cleans up
naming.
This also changes IPC_REP_ASYNC to simply IPC_REPLY because it turns
out it's actually not specific to async replies, but used for all
command replies.
2017-01-08 01:20:40 +01:00
Léo Lam
7dcb3c5d55
IOS HLE: Clean up return codes
...
- Use an enum instead of defines.
- Only use the FS_ prefix for return codes which are actually related
to FS stuff, not for everything.
- Remove duplicated error codes and clean up the names.
2017-01-08 01:20:35 +01:00
Matthew Parlane
7a5fe4b7ed
Merge pull request #4624 from leoetlino/jit-warning-fixes
...
Add the g_ prefix to the jit global
2017-01-08 13:19:16 +13:00
Matthew Parlane
c89aa79380
Merge pull request #4626 from lioncash/size
...
CodeBlock: Get rid of implicit sign-conversion in AllocCodeSpace
2017-01-08 13:14:02 +13:00
Lioncash
9d8e8652fb
CodeBlock: Get rid of implicit sign-conversion in AllocCodeSpace
...
Size is internally stored as a size_t, so having an int parameter
would cause implicit sign-conversion from a signed value to an
unsigned value to occur.
2017-01-07 19:05:06 -05:00
Léo Lam
22fcb735ed
IOS HLE: HID: Remove left-over align function
...
Also remove unneeded AlignUp usages.
2017-01-08 00:36:04 +01:00
Léo Lam
3c50c61606
IOS HLE: Remove copy and pasted Open()/Close()
...
This removes Open() and Close() functions from devices whenever they
did nothing more than the base class (setting m_Active, returning a
default reply).
Also, since IOS close commands practically always return FS_SUCCESS,
writing the return code is moved to HandleCommand() in WII_IPC_HLE,
which has two benefits: it's not duplicated all over the place
(so people will not forget it) and it gets rid of having to check
the force parameter, since HandleCommand() is always called for
real IOS commands, so command_address is guaranteed to be valid.
2017-01-07 23:31:04 +01:00
Léo Lam
27e6363214
IOS HLE: Remove unneeded GetDeviceID() writes
...
It looks like at some point Dolphin device IDs coincided with IOS file
descriptors, but this is not the case anymore, so keeping those
WriteReturnCode(GetDeviceID()) in every single IOS HLE device,
as if the device ID was used as IOS fd, is both unnecessary
and confusing.
2017-01-07 23:30:59 +01:00
Matthew Parlane
7847ca41e2
Merge pull request #4607 from leoetlino/execute
...
IOS HLE: Refactor ExecuteCommand
2017-01-08 11:20:49 +13:00
Léo Lam
8bef7259e3
Add the g_ prefix to the jit global
...
Jan 04 22:55:01 <leoetlino> fwiw, it looks like there are new warnings in the RegCache code
Jan 04 22:55:04 <leoetlino> Source/Core/Core/PowerPC/Jit64/FPURegCache.cpp:13:33: warning: declaration shadows a variable in the global namespace [-Wshadow]
Jan 04 22:56:19 <@Lioncash> yeah, the jit global should have a g_ prefix.
This fixes shadowing warnings and adds the g_ prefix to a global.
2017-01-07 23:19:49 +01:00
degasus
f12460d1f4
VideoSW: Fix GL ES shader.
2017-01-07 12:32:15 +01:00
Matthew Parlane
82e003ebb6
Merge pull request #4620 from JosJuice/android-byteswap
...
Don't use generic byteswapping on Android
2017-01-07 14:01:33 +13:00
degasus
f6c7a258ed
BlendState: Use masking as a fastpath for the logic op NO_OP.
2017-01-06 14:01:39 +01:00
degasus
23b0faeba5
OGL: Use VideoCommon blend state for framebuffer configuration.
2017-01-06 14:01:39 +01:00
degasus
3df828463d
VideoCommon: Assembly blending state in a shared state object.
2017-01-06 14:01:36 +01:00
JosJuice
5e2b2f059f
Don't use generic byteswapping on Android
...
This seems to work fine nowadays.
2017-01-06 13:56:53 +01:00
Markus Wick
c33c9532a7
Merge pull request #4594 from lioncash/regcache
...
DSPJitRegCache: Make single argument constructor explicit
2017-01-06 13:01:40 +01:00
Markus Wick
878058ce68
Merge pull request #4613 from lioncash/scrubber
...
DiscScrubber: Minor changes
2017-01-06 13:00:51 +01:00
Markus Wick
82d45435fd
Merge pull request #4616 from lioncash/hle
...
HLE: Align table formatting
2017-01-06 12:57:16 +01:00
Markus Wick
c633eeb383
Merge pull request #4619 from PEmu1/configuration
...
Change "Configure" to "Configuration" in Menu
2017-01-06 12:54:17 +01:00
PEmu1
398d544ebf
Change "Configure" to "Configuration" in Menu
...
Other settings options are nouns rather than verbs so this change makes the configuration option consistent with others. Also makes the menu option label the same as the windows title.
2017-01-05 14:33:24 -08:00
Lioncash
89da37b1c6
HotkeyInputConfigDialog: Move UI creation into named functions
...
The constructor shouldn't be used as a dumping ground for all UI-related
initialization. Doing so makes it somewhat more difficult to reason about
how certain UI elements get created. It also puts unrelated identifiers in
the same scope.
This separates the UI creation out so code relevant to each component
is self-contained.
2017-01-05 16:26:42 -05:00
Mat M
e7359f247b
Merge pull request #4595 from aldelaro5/add-debugger-hotkeys
...
Add debugger hotkeys
2017-01-05 14:33:10 -05:00
Mat M
6fe621f203
Merge pull request #4589 from ligfx/cleaninputconfigdiag
...
InputConfigDiag: move function bodies out of header
2017-01-05 14:29:35 -05:00
Mat M
0de4ad334f
Merge pull request #4605 from PEmu1/tas-gamecube-contro
...
Clarify GameCube Controller in TAS Input
2017-01-05 14:28:54 -05:00
Mat M
495580637f
Merge pull request #4606 from BhaaLseN/clang-format-union
...
specify custom brace style to fix unions
2017-01-05 14:27:27 -05:00
Mat M
9da6982ac3
Merge pull request #4608 from RisingFog/input_display_newlines
...
Add missing new lines for OSD
2017-01-05 14:25:24 -05:00
Mat M
189e5f87fb
Merge pull request #4612 from PEmu1/memcard-menu
...
Don't Use Abbreviation for "Memory Card"
2017-01-05 14:22:54 -05:00
Lioncash
a10bb15f17
HLE: Add explicit initializers for OSBreakPoints' stub entry
...
No behavior change, this just makes implicit values explicit.
2017-01-05 14:15:45 -05:00
Lioncash
2941468857
HLE: Align table formatting
2017-01-05 14:13:30 -05:00
PEmu1
6d195f3d65
Don't Use Abbreviation for "Memory Card"
2017-01-05 10:06:46 -08:00
BhaaL
23d99f2f2c
specify custom brace style to fix unions
...
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
JosJuice
41101be545
Merge pull request #4611 from lioncash/fileutil
...
IOFile: Minor changes
2017-01-05 09:17:03 +01:00
Lioncash
a93861ab49
DiscScrubber: Don't take SFileInfo instances by value
...
Avoids unnecessary copies.
2017-01-04 20:12:49 -05:00
Lioncash
c52d1e735a
DiscScrubber: Use an unsigned loop index in ParseDisc
...
Prevents an implicit signed to unsigned conversion when assigning a
partition's group number.
2017-01-04 20:03:12 -05:00
Lioncash
6ff21c48cb
DiscScrubber: Correct printf specifiers
2017-01-04 19:56:39 -05:00
Lioncash
b1a2dec78a
DiscScrubber: Convert a #define into a typed constant
2017-01-04 19:53:31 -05:00
Léo Lam
a15be890e1
WII_IPC_HLE: Update the "IOS basics" comment
...
The codebase has changed since it was written, so it needed
a small update.
2017-01-05 01:11:52 +01:00
Léo Lam
00268443ca
WII_IPC_HLE: Replace #defines with constexpr
2017-01-05 01:04:20 +01:00
Léo Lam
9abfa54c9d
IOS HLE: Remove s_es_inuse
...
We don't really have to keep track of device opens/closes manually,
since we can already check that by calling IsOpened() on the device.
This also replaces some loops with for range loops.
2017-01-05 01:04:19 +01:00
Lioncash
045a8400e6
IOFile: Make the move constructor and move assignment operator noexcept
...
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.
This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.
As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
2017-01-04 18:37:48 -05:00
Lioncash
9b8f5bce22
IOFile: Change 'operator void*' into 'explicit operator bool'
...
'operator void*' is basically a pre-C++11-ism that was used, as C++03
only had the notion of implicit type-conversion operators, but not explicit type
conversion operators (allowing implicit conversion of a file handle to
bool can go downhill pretty quickly).
2017-01-04 18:10:21 -05:00
Lioncash
c541e1099e
IOFile: Make class variables private
...
Internals shouldn't be directly exposed.
2017-01-04 17:48:46 -05:00
Lioncash
c21dad9e83
IOFile: Get rid of unnecessary unimplemented copy constructor/assignment operator.
...
IOFile already inherits NonCopyable.
2017-01-04 17:47:40 -05:00
Michael Maltese
443815df16
DolphinWX: pass wxMsgAlert to main thread on non-GTK too
...
Fixes an issue on macOS where wxMessageBox always returns wxCANCEL when
not called from main thread.
2017-01-04 14:06:31 -08:00
Lioncash
5b1aae0cbf
DiscScrubber: Make struct and variable names conformant to the coding style
2017-01-04 17:04:41 -05:00
Lioncash
4a9bc2340b
DiscScrubber: Convert into a class
...
Allows potential multiple scrubbers to run at once. Also gets rid of the
need to explicitly clean up resources.
2017-01-04 16:06:21 -05:00
degasus
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
degasus
b7d8bd13a6
OGL/Vulkan: Drop dual pass alpha.
2017-01-04 19:59:41 +01:00
Léo Lam
b65ad538ba
IOS HLE: Refactor ExecuteCommand
...
ExecuteCommand was becoming pretty confusing with unused variables
for some commands, confusing names (device ID != IOS file descriptor),
duplicated checks, not keeping the indentation level low, and having
tons of things into a single function.
This commit gives more correct names to variables, deduplicates the
device checking code, and splits ExecuteCommand so that it's
easier to read.
It's worth noting that some device checks have been forgotten in the
past, which has caused a bug (which was recently fixed in 288e75f6
).
2017-01-04 19:33:50 +01:00
JosJuice
c5e731644c
Don't use GetEmulatedTime in GCMemcard
...
GCMemcard is only used outside of the core and has
no real reason to use the core's RTC. GetEmulatedTime
isn't designed to be called when the core isn't running.
Should fix https://bugs.dolphin-emu.org/issues/9871
2017-01-04 19:17:51 +01:00
Lioncash
2cfc0dc8b6
DSPDisassembler: directly initialize AssemblerSettings struct members
...
Same thing, less code.
2017-01-04 12:53:22 -05:00
Chris Burgener
afdcddc0c5
Add missing new lines for OSD
2017-01-04 10:49:52 -05:00
Markus Wick
9f164d7c33
Merge pull request #4593 from lioncash/enum
...
JitRegCache: Move FlushMode enum into RegCache
2017-01-04 16:21:21 +01:00
Stenzek
176177af49
GeometryShaderGen: Use lower-left origin for point texture coordinates
...
From what I can tell, the emulated GPU places (0,0) at the lower left of
the image, and we were generating texture coordinates so that (0,0) was
at the upper-left in the expansion geometry shader, causing textures
used by point sprites to be flipped vertically.
Fixes the upside-down A button in Mario Golf.
2017-01-04 20:23:07 +10:00
PEmu1
2dae72f817
Clarify GameCube Controller in TAS Input
2017-01-03 18:03:17 -08:00
Lioncash
5518c6625b
PatchEngine: Get rid of a global variable
2017-01-03 18:59:33 -05:00
Stenzek
18792b2328
FifoPlayer: Don't set BPMEM_PRELOAD_MODE on load
...
Since in this case we're setting it based on the state at record start
time, not when a register is loaded, UseMemory would not be called, so
this could potentially wipe out texture memory that was valid.
2017-01-03 21:16:05 +10:00
Stenzek
5f3c878ba2
FifoPlayer: Save/restore texture memory state for fifo logs
2017-01-03 21:16:05 +10:00
Stenzek
438989668e
FifoDataFile: Add support for storing texture memory state
...
This bumps the file version to 4.
2017-01-03 21:16:04 +10:00
Stenzek
5b315b7bb4
FifoPlayer: Reload initial state when looping back to first frame
...
This should ensure that when playing with loop enabled, the first frame is
in the same state each time. There is potentially still issues when the
start frame is set to something other than zero, but I'm not sure how we
could work around this without capturing the entire state on each frame.
2017-01-03 17:32:45 +10:00
aldelaro5
cc7c410cf1
Add debugging hotkeys
...
They are separated into 3 groups and will only be shown in the input config dialog if the emulator was in debug mode.
2017-01-02 18:16:52 -05:00
aldelaro5
00e03f1436
Update the breakpoint list after an add from the parent
...
Doing it from the add dialogs instead would prevent the call to these dialogs outside of a breakpointWindow which would be necessary for hotkeys binding.
2017-01-02 15:39:21 -05:00
JosJuice
ec969da6bd
EXI_DeviceIPL: Remove m_bNTSC
...
It's only used in the constructor.
2017-01-02 21:08:24 +01:00
Lioncash
342b76a594
DSPJitRegCache: Make single argument constructor explicit
...
Prevents implicit conversions.
2017-01-02 15:03:31 -05:00
JosJuice
f85266df20
SConfig: Replace bNTSC with m_region
...
This lets us get rid of VideoInterface::SetRegionReg,
a huge hack in CEXIMemoryCard, and some minor things.
2017-01-02 20:57:48 +01:00
JosJuice
66ea9f5cc1
DiscIO: Add GetRegion function and Region enum
...
Instead of needing different switch cases for
converting countries to regions in multiple places,
we now only need a single country-to-region switch case
(in DiscIO/Enums.cpp), and we get a nice Region type.
2017-01-02 20:57:11 +01:00
Lioncash
f8c6b3b5f1
JitRegCache: Move FlushMode enum into RegCache
...
This also makes it a strongly-typed enum.
Considering that the flushing mode is a trait/behavior for the register
cache, it doesn't really make sense to have the enum separate from it.
This also has the benefit of removing constants from global scope.
2017-01-02 13:43:37 -05:00
Lioncash
3b4290b5b7
DSPJitRegCache: Make class variables conform to the coding style
2017-01-02 12:16:29 -05:00
Markus Wick
6aef0630f7
Merge pull request #4588 from JosJuice/isoproperties-title-encoding
...
ISOProperties: Fix encoding errors in window title
2017-01-02 12:33:58 +01:00
Markus Wick
96314a0ec1
Merge pull request #4574 from stenzek/vulkan-alpha-clear
...
Vulkan: Clear alpha channel to 0 when pixel format has no alpha channel
2017-01-02 12:29:36 +01:00
Anthony
b46dcc7768
Merge pull request #4495 from slashiee/dump-textures-hotkey
...
Add a hotkey for toggling texture dumps
2017-01-01 17:28:56 -08:00
Mat M
3f5f7fc564
Merge pull request #4590 from hthh/macos-no-pch-fix
...
macOS: Add missing includes to fix no-PCH build
2017-01-01 20:27:30 -05:00
Anthony
a7f7ccc9d2
Merge pull request #4523 from RisingFog/overwrite_audio_warning
...
Display warning when dumping audio if file exists
2017-01-01 17:20:39 -08:00
hthh
387164a999
macOS: Add missing includes to fix no-PCH build
2017-01-02 11:45:24 +11:00
Mat M
b10a0de769
Merge pull request #4535 from lioncash/regcache
...
Jit64: Make register caches not rely on the global jit variable
2017-01-01 18:01:29 -05:00
Mat M
6c5063c76b
Merge pull request #4585 from lioncash/dspnamespace
...
DSP: Namespace remaining un-namespaced DSP code
2017-01-01 17:54:39 -05:00
Anthony
4c90ad7514
Merge pull request #4490 from leoetlino/wii-dsy
...
Add common Wii SDK function signatures to the signature DB
2016-12-31 16:31:50 -08:00
Anthony
e8052fbf78
Merge pull request #4587 from aldelaro5/fix-hidpi-mic
...
Add an empty spacer in the Mic Input config dialog
2016-12-31 16:24:46 -08:00
Michael Maltese
35fe8f762a
InputConfigDiag: move function bodies out of header
2016-12-31 15:47:56 -08:00
JosJuice
65d88776db
ISOProperties: Fix encoding errors in window title
...
It seems to be a regression, but I haven't bisected it.
2017-01-01 00:34:29 +01:00
aldelaro5
d6674223db
Fix some margin discrepancies
2016-12-31 17:58:39 -05:00
Lioncash
3eb25cea6f
DSP: Namespace remaining un-namespaced DSP code
2016-12-31 17:20:14 -05:00
aldelaro5
42e4dde960
Add an empty spacer in the Mic Input config dialog
...
This is done to not have the device combo box be too small in width when making the main sizer fit into the window. Not fitting the sizer would alternatively break Hidpi so it was best to just add an empty sizer to workaround this problem.
2016-12-31 16:17:47 -05:00
JosJuice
15de7d507f
Merge pull request #4519 from sepalani/fix_import_save
...
Fixes WiiSave import
2016-12-31 12:33:45 +01:00
aldelaro5
a447213420
Remove the menu hotkeys of the debug menu bar
...
I think it's best to remove these if we are going to be adding new hotkeys since these would work no matter what so I can simply make these the default one instead.
2016-12-30 14:18:10 -05:00
Jules Blok
a2e191649d
Merge pull request #4471 from Armada651/hybrid-depth
...
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-29 18:49:27 +01:00
Lioncash
efbf261e97
DSPAnalyzer: Fix two clang warnings about sign mismatched types
2016-12-29 10:10:38 -05:00
Lioncash
2aefa29941
DSP: Add the interpreter to the DSP namespace
2016-12-29 07:05:17 -05:00
Lioncash
c79cc3f470
DSP: Namespace the JIT
2016-12-28 20:38:41 -05:00
Lioncash
407f3af8c3
JitRegCache: Get rid of reliance on the jit global variable
2016-12-28 17:52:58 -05:00
Lioncash
8ece485a2f
JitRegCache: Make member variables conform to our coding style
2016-12-28 17:47:26 -05:00
Lioncash
e291e8f1a7
JitRegCache: Convert #define macro into a typed constant
2016-12-28 17:47:26 -05:00
Lioncash
4ae23fc45c
JitRegCache: Remove unused typedefs
2016-12-28 17:47:26 -05:00
Lioncash
b629eb300a
JitRegCache: Remove unused Flush function
...
This was kind of a pointless function, considering the parameter wasn't
used at all, so the other Flush() function could have been just directly
used instead.
2016-12-28 17:47:26 -05:00
Lioncash
41d47dda93
JitRegCache: Move implementation details into the cpp file where applicable
...
Any future changes to these register cache functions won't require everything that includes the register cache header to also be recompiled.
2016-12-28 17:47:26 -05:00
Lioncash
d1fc694c02
JitRegCache: Move protected interface below public interface
2016-12-28 17:47:26 -05:00
Lioncash
1a34376f3a
JitRegCache: Separate FPURegCache and GPRRegCache into their own files
...
Keeps them separated from one another and makes it less annoying to find
member functions (which were previously spread out all over the place).
2016-12-28 17:47:25 -05:00
Markus Wick
10b4f6a250
Merge pull request #4568 from degasus/texcache
...
TextureCache: Add a dirty bit for partial updates on overlapping EFB copies.
2016-12-28 16:38:16 +01:00
Michael Maltese
905750553f
ControllerEmu: Fix LoadDefaults to use ciface argument
2016-12-27 17:46:40 -08:00
Lioncash
5c938ed41f
DSPTables: Move function type aliases into DSPOPCTemplate
...
Gets two typedefs out of global scope
2016-12-27 18:31:42 -05:00
Jules Blok
ee7a2edf35
Update comments
2016-12-27 21:32:52 +01:00
Jules Blok
65b5765858
VideoBackends: Clamp the range to the maximum depth value supported in the z buffer.
2016-12-27 20:25:40 +01:00
degasus
d0a73c1d90
TextureCache: Add a dirty bit for partial updates on overlapping EFB copies.
2016-12-27 17:26:04 +01:00
Jules Blok
2ab6711f43
VideoBackends: Use the full depth range when inverted depth range is unsupported.
2016-12-27 14:31:17 +01:00
Jules Blok
ef82aebb97
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-27 14:31:17 +01:00
Markus Wick
8e506cb974
Merge pull request #4572 from lioncash/flags
...
DSPAnalyzer: Hide implementation details
2016-12-27 10:36:12 +01:00
Stenzek
e6249619a0
Vulkan/GL: Set the alpha channel to 0 when creating the EFB framebuffer
2016-12-27 13:06:08 +10:00
Techjar
dd00f9ea34
Should fix being unable to change memory card slot A
2016-12-26 22:03:14 -05:00
Stenzek
d1dd910f17
Vulkan: Clear alpha channel to 0 when pixel format has no alpha channel
2016-12-27 12:59:52 +10:00
Lioncash
12e335025d
DSPEmitter: Make FlagsNeeded() a const member function
...
This doesn't modify any class data.
2016-12-26 21:18:24 -05:00
Lioncash
a8459fc189
DSPAnalyzer: Hide implementation details
...
Makes accessing flags a part of the function interface instead of exposing
an internal variable.
2016-12-26 21:18:18 -05:00
Markus Wick
cd29d565c4
Merge pull request #4570 from lioncash/dspemit
...
DSPEmitter: Minor cleanup
2016-12-27 02:05:10 +01:00
Pierre Bourdon
6b65344ccf
axwii: re-add the missing sync -- might work better with the new MailHandler implementation
2016-12-27 02:03:58 +01:00
Pierre Bourdon
7c4bbcf22f
ax: switch to new style interrupt triggering
2016-12-27 02:03:55 +01:00
Markus Wick
fd54d4f767
Merge pull request #4569 from degasus/texcache2
...
TextureCache: Extract BP enum check to VideoCommon.
2016-12-27 01:43:57 +01:00
Lioncash
50b1fcb1ed
DSPEmitter: Initialize compileSR in the initializer list
2016-12-26 19:42:09 -05:00
Lioncash
f3d353a85d
DSPEmitter: Move typedefs into DSPEmitter
...
Keeps them associated with the emitter itself, rather than just letting
them sit in global scope.
2016-12-26 19:19:39 -05:00
Lioncash
646d96a216
DSPEmitter: Convert defines into typed constants
...
Also moves them into more qualified scopes where possible.
2016-12-26 19:16:01 -05:00
Lioncash
c37889efcb
DSPEmitter: Use std::vector instead of raw allocation
2016-12-26 19:03:35 -05:00
Lioncash
400d5f6940
DSPEmitter: In-class initialize variables
2016-12-26 18:07:15 -05:00
degasus
abf9bb170b
TextureCache: Drop unused parameter in backend API.
2016-12-26 22:10:32 +01:00
degasus
04f319066d
TextureCache: Extract BP enum check to VideoCommon.
...
We have TOO many video backends.
2016-12-26 22:10:21 +01:00
Mat M
1af9f68240
Merge pull request #4566 from JosJuice/charset-terminology
...
Remove incorrect usage of "ASCII" and "ANSI"
2016-12-26 15:40:45 -05:00
JosJuice
0f1ce0e1f4
Remove incorrect usage of "ASCII" and "ANSI"
...
Windows-1252 was sometimes being referred to as ASCII or ANSI
in Dolphin, which is incorrect. ASCII is only a subset of
Windows-1252, and ANSI is (rather improperly) used in Windows
to refer to the current code page (which often is 1252 on
Western systems, but can also be something entirely different).
The commit also replaces "SJIS" with "Shift JIS". "SJIS"
isn't misleading, but "Shift JIS" is more commonly used.
2016-12-26 15:49:39 +01:00
degasus
8f9f2b1f76
DSPHLE: Seperate HLE construction and initialization.
...
We must be able to construct the HLE without emulating the initialization
on loading a savestate.
2016-12-26 12:25:57 +01:00
Markus Wick
4ebd369218
Merge pull request #4564 from JosJuice/volumedirectory-references
...
VolumeDirectory: Don't use references inappropriately
2016-12-26 11:48:38 +01:00
JosJuice
8e4a781974
VolumeDirectory: Modernize variable names
2016-12-26 11:45:22 +01:00
JosJuice
00aa2d37e9
VolumeDirectory: Don't use references inappropriately
...
Integers should be passed as pointers when a function
modifies them (to make it clear that they get modified).
2016-12-26 09:52:18 +01:00
flacs
2d1bdae1f0
Merge pull request #4563 from lioncash/dspemit
...
DSPEmitter: Get rid of an unused member variable
2016-12-26 04:07:07 +01:00
Lioncash
042045012b
DSPEmitter: Get rid of an unused member variable
2016-12-25 21:31:17 -05:00
Tillmann Karras
57a005ff3e
evdev: reduce startup time
...
GetName() creates a new evdev device which calls tons of ioctls. But the
main culprit is close() which for input devices appears to be a slow
path in the kernel.
This commit reduces PopulateDevices() by 50% on my laptop, but ~730 ms
is still ridiculously slow for something that isn't needed right away.
2016-12-26 01:24:35 +01:00
Mat M
9c8e27e3bb
Merge pull request #4558 from JosJuice/volumedirectory-fst-sort
...
VolumeDirectory: Sort the FST
2016-12-25 17:38:58 -05:00
Mat M
81d452ecda
Merge pull request #4551 from JosJuice/movie-controller-comment
...
Movie: Replace incorrect name and comment for numControllers
2016-12-25 17:36:27 -05:00
Mat M
40e36ebd1e
Merge pull request #4550 from linkmauve/no-readdir_r
...
Common: Replace deprecated readdir_r with readdir
2016-12-25 17:34:50 -05:00
Mat M
8ad6c3e911
Merge pull request #4555 from JosJuice/right-click-host-name
...
Fix player name not being loaded when using "Host with Netplay..."
2016-12-25 17:32:26 -05:00
Mat M
8da0396fc4
Merge pull request #4559 from JosJuice/volumedirectory-totalnamesize-local
...
VolumeDirectory: Make m_totalNameSize a local variable
2016-12-25 17:30:21 -05:00
Mat M
29ec069ac6
Merge pull request #4552 from JosJuice/pr-4461-translations
...
Mark strings added by PR #4461 for translation
2016-12-25 17:06:32 -05:00
JosJuice
3196f697bb
VolumeDirectory: Use a range-based for loop in ComputeNameSize
2016-12-25 23:01:42 +01:00
JosJuice
f3987d13ea
VolumeDirectory: Make m_totalNameSize a local variable
...
After BuildFST finishes executing, it's never needed again.
2016-12-25 22:57:14 +01:00
Mat M
d1defd71df
Merge pull request #4557 from JosJuice/scandirectorytree-comments
...
Fix outdated comments in ScanDirectoryTree
2016-12-25 16:48:17 -05:00
JosJuice
a502f069e8
VolumeDirectory: Sort the FST
...
We can't rely on the OS returning files and directories
in a deterministic order, so we should sort them on our own
if we want VolumeDirectory to work for movies and netplay.
2016-12-25 22:35:38 +01:00
JosJuice
e56bec9c87
Fix outdated comments in ScanDirectoryTree
2016-12-25 21:57:33 +01:00
Markus Wick
190c6218ab
Merge pull request #4493 from Tilka/evdev
...
Fix evdev threading
2016-12-25 20:55:50 +01:00
Tillmann Karras
44acd9fdb9
VideoCommon: use u32 for texture addresses
2016-12-25 18:48:19 +01:00
JosJuice
70d9440d10
Fix player name not being loaded when using "Host with Netplay..."
2016-12-25 16:36:19 +01:00
JosJuice
c0710d3593
Mark strings added by PR #4461 for translation
...
Also fix the HKGP_FRANE_ADVANCE typo.
2016-12-24 19:26:21 +01:00
JosJuice
55fe77e986
Movie: Replace incorrect name and comment for numControllers
...
Also add similar comments to the variables memcards and bongos.
2016-12-24 18:27:56 +01:00
Mystro256
1963996dd0
Change RasterFont static const names
...
Fixes build issue with GCC/CPP 6.2.1 build issues on Fedora 26
2016-12-24 11:58:07 -05:00
Emmanuel Gil Peyrot
495dfdb16c
Common: Replace deprecated readdir_r with readdir
...
Fixes a warning under recent glibc.
2016-12-24 16:18:47 +01:00
Mat M
abfa297166
Merge pull request #4545 from leoetlino/stop-recording
...
Stop Movie/Netplay before triggering STM shutdown
2016-12-24 06:14:51 -05:00
Lioncash
c5243d6d12
CommandProcessor: Remove unimplemented prototypes
2016-12-24 01:15:50 -05:00
Léo Lam
ec729e2ee3
Stop Movie/Netplay before triggering STM shutdown
...
This fixes a bug which caused Movie (input recording or playback) or
netplay not to be stopped. DolphinWX previously triggered a STM power
event, and then the STM directly stopped the emulation; the code
which stops Movie/Netplay was completely skipped.
This is fixed by moving it /before/ sending the shutdown event.
2016-12-24 00:44:30 +01:00
Markus Wick
01c2c50f6a
Merge pull request #4540 from lioncash/dspemit
...
DSP: Move DSPEmitter into the Jit subdirectory
2016-12-23 12:13:47 +01:00
Mat M
9160be50db
Merge pull request #4224 from lioncash/tcache
...
TextureCacheBase: Eliminate static state
2016-12-23 04:33:42 -05:00
Dan Beste
a309449a7f
Silences an error during compilation due to an unused (but set) variable
2016-12-22 19:44:47 -06:00
Lioncash
5852e3961d
DSPMemoryMap: Move function implementations into the cpp file
...
This allows removing DSPCore and DSPTables includes from the header file.
Doing allows resolving quite a bit of indirect includes that were present
throughout the DSP source files.
Another plus with this is that changes to the DSPEmitter don't require an
almost total rebuild of all DSP source files. The underlying reason for
most of the files being rebuilt it because DSPMemoryMap is used quite
extensively, however its header includes DSPTables.h. DSPTables.h includes
DSPEmitter.h as it uses the DSPEmitter type in a typedef. So any change to
the emitter would propagate through the DSPMemoryMap header. This will no
longer happen.
2016-12-22 20:09:52 -05:00
Lioncash
af28ce7ecb
DSP: Move DSPEmitter into the Jit directory
...
This is actually used as the DSP JIT, so this should be with the other JIT
source files.
This commit also makes it so changes to the JIT emitter don't require
recompiling all of the DSP core (i.e. changing the JIT won't require the
interpreter to be rebuilt).
2016-12-22 19:50:03 -05:00
Lioncash
a4cd11ec87
DSP: Move interpreter source files to their own directory
...
Keeps code organized similar to the DSP JIT.
2016-12-22 18:18:48 -05:00
Lioncash
9131b994bb
DSPTables: Move interpreter specifics to DSPInterpreter
2016-12-21 15:40:45 -05:00
Lioncash
a5e555e609
DSPInterpreter: Alphabetically sort opcode function definitions
...
Makes browsing slightly nicer.
2016-12-21 14:43:38 -05:00
Lioncash
7ecf3d6955
DSPTables: Amend table formatting
...
Restores them to what they were before the codebase-wide reformatting and
adds annotations to specifically not format them.
2016-12-21 03:51:53 -05:00
Mat M
8192af9b3d
Merge pull request #4533 from lioncash/jits
...
Jit64/JitIL: Get rid of trivial global jit variable usages
2016-12-20 21:09:50 -05:00
Anthony
ca91b6df52
Merge pull request #4521 from JosJuice/tgc
...
Add TGC disc image compatibility
2016-12-20 17:45:39 -06:00
Lioncash
a98fd57da7
JitArm64: Add missing override specifiers
2016-12-20 17:30:13 -05:00
Mat M
cd4449f881
Merge pull request #4501 from flibitijibibo/disabletooltips
...
DolphinWX: Add 'DisableTooltips' config option (R2)
2016-12-20 17:20:24 -05:00
Lioncash
513ace1c0c
JitIL: Get rid of trivial global jit variable usages
2016-12-20 12:56:06 -05:00
Lioncash
66034de20b
Jit64: Get rid of trivial global jit variable usages
...
Jit64 inherits from Jitx86Base which inherits from JitBase. JitBase
contains jo and js, which are instances of the JitOptions and JitState
structs. Because of the inheritance, there's no actual need to access the
jit global in order to get to these instances. They're already accessible
via the class hierarchy.
2016-12-20 12:55:58 -05:00
Markus Wick
b5fe0b5b83
Merge pull request #4528 from stenzek/vulkan-descriptor-crash
...
Vulkan: Fix crash where a potentially deleted buffer is referenced
2016-12-20 11:11:54 +01:00
Lioncash
05af5b292f
EmuCodeBlock: Amend member variable names to conform to coding style
2016-12-19 17:55:44 -05:00
Lioncash
e373a48a51
EmuCodeBlock: Make farcode and nearcode protected
...
This is the only context they're used in.
2016-12-19 17:36:29 -05:00
Mat M
2c8cc0f648
Merge pull request #4527 from leoetlino/fix-dvd-backup
...
DolphinWX: Fix booting from DVD
2016-12-19 16:22:29 -05:00
Sepalani
8d812db9ad
SymbolDB: Use set to map hash with symbols
2016-12-19 21:03:29 +00:00
Sepalani
7e974f1064
SymbolDB: GetSymbolsFromHash added
2016-12-19 21:03:28 +00:00
Sepalani
d778b8a820
SymbolDB: GetSymbolsFromName added
2016-12-19 21:02:23 +00:00
Lioncash
0b12c6986a
SignatureDB: Add missing license headers
2016-12-19 15:57:21 -05:00
Mat M
10862cd0e8
Merge pull request #4522 from lioncash/jitutil
...
Jit64Common: Split Jit64Util contents into separate files
2016-12-19 15:49:49 -05:00
Mat M
4e405010a3
Merge pull request #4497 from sepalani/totaldb.csv
...
Import/Export signature files as CSV
2016-12-19 15:45:21 -05:00
Mat M
b9dc73d9cd
Merge pull request #4529 from RisingFog/remove_dead_code
...
Remove leftover SkipIdle function
2016-12-19 15:32:43 -05:00
Chris Burgener
2e2ba37bc1
Remove leftover SkipIdle function
2016-12-19 15:20:56 -05:00
Stenzek
01047319f8
Merge pull request #4517 from stenzek/mp3-blotches
...
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-19 22:11:38 +10:00
Stenzek
9290bf5844
Vulkan: Fix crash where a potentially deleted buffer is referenced
...
This happened when the geometry shader was disabled, and the uniform
buffer was grown to a larger size. The update would be skipped, leaving
the old buffer to be included in the descriptor set.
2016-12-19 22:00:42 +10:00
Stenzek
344f2e57f6
VideoCommon: Use avg(color1, color2) for color3 in CMPR textures
2016-12-19 20:17:44 +10:00
Léo Lam
adcfefecde
DolphinWX: Fix booting from DVD
...
OnBootDrive used the "drives" member std::vector for drive paths, but
since PR #4363 , this vector is not populated anymore, so we were
accessing it out of bounds.
Actually, drives was not needed in the first place, since we can
get the wxMenu from the event, and from there, get the label directly.
2016-12-19 10:45:33 +01:00
Markus Wick
989cdc0929
Merge pull request #4505 from hthh/macos-likes-pbos
...
OpenGL: Always use a PBO in EncodeToRamUsingShader
2016-12-19 09:47:40 +01:00
Sepalani
b4bc1c9339
WiiSave: Fixes vector assertions
2016-12-18 19:44:00 +00:00
Sepalani
9774b3f640
WiiSave: Fixes directory issues
2016-12-18 19:43:55 +00:00
JosJuice
9bd514ed1c
Add TGC disc image compatibility
2016-12-18 18:57:36 +01:00
Lioncash
94237b694b
Jit64Common: Split Jit64Util contents into separate files
...
Much of Jit64Util consists of essentials, not utilities. Breaking these
out into their own files also prevents unrelated includes from being
present near other classes.
This also makes it easier to find and change certain components of the
x86-64 JIT, should it be necessary.
2016-12-18 02:27:58 -05:00
Chris Burgener
debc40e85b
Display warning when dumping audio if file exists
2016-12-17 22:45:01 -05:00
Sepalani
a6114bad34
Import/Export signature files as CSV
2016-12-18 00:27:10 +00:00
Anthony
f431b18675
Merge pull request #4491 from leoetlino/debugger-symbol-filter
...
DolphinWX: Add ability to filter symbols (by name)
2016-12-17 11:13:28 -06:00
Stenzek
accce4294a
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-15 02:20:46 +10:00
Stenzek
d6cdf49769
VideoSoftware: Don't drop least significant bit of 5-bit blue channels
2016-12-14 23:56:06 +10:00
Lioncash
8b6f8892d6
TrampolineCache: Make constant constexpr
2016-12-14 04:43:32 -05:00
Lioncash
d0c54fe15e
Jit64Util: Make constants constexpr
2016-12-14 04:43:31 -05:00
Lioncash
9c1ad3dde6
Jit64Base: Replace #defines with concrete constants
2016-12-14 04:43:31 -05:00
Lioncash
d010246af2
Jit64Base: Clean up casting
...
Mostly intended to clean up HandleFault than anything else.
2016-12-14 04:43:31 -05:00
Lioncash
1aff8c4eb1
BlockCache: Use const_cast
2016-12-14 04:43:30 -05:00
Lioncash
36c99df9f5
Jit: Move most x86-64-specific code out of JitCommon
2016-12-14 04:43:25 -05:00
Stenzek
5aaa5141ed
PixelShaderGen: Fix incorrect indexing of tevLerpBias
...
Fixes the white box in the fortune street fifolog.
2016-12-13 00:03:25 +10:00
Markus Wick
d64c9dd5c9
Merge pull request #4419 from degasus/master
...
Jit64: Fix a few trivial PIE issues.
2016-12-12 10:58:16 +01:00
hthh
801d1d1876
OpenGL: Always use a PBO in EncodeToRamUsingShader
...
This improves performance significantly on macOS, particularly
noticeably in the Super Mario Sunshine transition, which goes
from ~5FPS to ~17FPS.
2016-12-12 20:33:41 +11:00
Stenzek
607ce40f0b
OGL: Fix black screen when MSAA is enabled
2016-12-12 17:51:19 +10:00
Markus Wick
863aeb383a
Merge pull request #4509 from lioncash/assign
...
ShaderManagers: Use aggregate initialization for some variables.
2016-12-11 13:53:28 +01:00
Markus Wick
6ed462a059
Merge pull request #4511 from lioncash/ac
...
AudioCommon: Remove unnecessary headers
2016-12-11 13:52:59 +01:00
Lioncash
87f2a74c08
AudioCommon: Remove unnecessary headers
...
Now AudioCommon code won't need to be recompiled if the TAS movie header
is ever modified.
2016-12-11 06:11:37 -05:00
Lioncash
8dcb05802b
ShaderManagers: Use aggregate initialization for some variables.
...
These provide the same semantics, however aggregate initialization
doesn't force the structs to be trivially copyable. memset, on the other
hand, does.
2016-12-10 17:33:51 -05:00
Stenzek
993e029f75
Merge pull request #4506 from stenzek/vulkan-no-depth-clamp
...
Vulkan: Fix viewport depth when depth clamp is unsupported
2016-12-11 01:57:25 +10:00
Mat M
a0920afd5b
Merge pull request #4500 from leoetlino/fileio-fix
...
IPC_HLE: Fix incorrect file path for IOCTL_SET_ATTR
2016-12-09 17:48:21 -05:00
Léo Lam
09fdab7fb4
HLE: Add a hook for JUTWarningConsole_f
...
JUTWarningConsole_f calls vprintf, but in a way we currently don't
handle (which messes up the printed message). However, it is a standard
debug print function, so we can directly hook it instead of waiting for
the vprintf call.
This is necessary to fix debug output in a few games now that vprintf
is properly detected in more games.
2016-12-09 23:40:06 +01:00
Lioncash
58a5395173
TextureCacheBase: Eliminate static state
2016-12-09 16:50:37 -05:00
Anthony
7a5bb46016
Merge pull request #4030 from clinchergt/fix-setfocus-rendertowindow
...
Fix focus bug when using the "render to main window" feature
2016-12-09 15:39:31 -06:00
Anthony
1fa61af413
Merge pull request #4492 from aldelaro5/gc-mic-ui-reimplement
...
Move the GameCube mic button configuration to the GameCube config dialog
2016-12-09 14:53:47 -06:00
Mat M
b042377393
Merge pull request #4494 from lioncash/isoproperties
...
ISOProperties: Separate the filesystem tab out into its own class
2016-12-09 07:55:36 -05:00
Stenzek
af706efaef
Vulkan: Fix viewport depth when depth clamp is unsupported
2016-12-09 22:45:10 +10:00
Ethan Lee
7cfead6429
DolphinWX: Add 'DisableTooltips' config option
...
(Revision 2: Remove checkbox from WX GUI)
2016-12-07 13:20:37 -05:00
Léo Lam
10c7e56689
IPC_HLE: Fix incorrect file path for IOCTL_SET_ATTR
...
We were reading the string from the wrong location…
2016-12-07 13:52:44 +01:00
Léo Lam
31ccfffd38
Common: Add alignment header
...
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
aldelaro5
9ff95c58fa
Add a special input configuration dialog for the GameCube Mic
...
This is more logical as the mic is plugged into an EXI slot so it should be configured via the GameCube config dialog. This also allows to pass the right port number for the new dialog.
2016-12-05 18:09:31 -05:00
aldelaro5
431929fa1d
Moved the Mic button of the GCPad to its own group.
...
This is needed to separate it from the GCPad input configuration dialog as it would be moved to its own dialog.
2016-12-05 18:09:23 -05:00
Michael
e31aa70ff8
Add a hotkey for dumping textures
2016-12-05 08:20:45 -08:00
Markus Wick
7192789c11
Merge pull request #4486 from stenzek/gl-minimize-assert
...
OGL: Fix assertion when minimizing window
2016-12-05 12:46:29 +01:00
Lioncash
ddeccf2622
ISOProperties: Separate the filesystem tab out into its own class
2016-12-04 22:35:01 -05:00
Stenzek
bff394ec8a
Merge pull request #4489 from stenzek/vulkan-minor-fixes
...
Vulkan: Minor fixes
2016-12-05 12:19:49 +10:00
Tillmann Karras
f575902cf3
evdev: set flag in a thread-safe way
2016-12-05 00:47:26 +00:00
Tillmann Karras
3c090a37d4
evdev: fix shutdown hang
...
Note: This probably means our approach of populating from udev isn't
safe to be called multiple times.
2016-12-05 00:47:26 +00:00
Tillmann Karras
0043bd3547
Remove two unused variables
2016-12-05 00:47:26 +00:00
Léo Lam
59abfee11d
DolphinWX: Add ability to filter symbols (by name)
...
This allows the user to filter symbols by name, instead of having to
scroll through a very, very long listbox…
2016-12-04 18:18:07 +01:00
degasus
5082a664c8
VertexLoaderX64: Avoid unchecked pointer cast.
2016-12-04 13:09:16 +01:00
degasus
21f3e97435
Jit64: Avoid pointer casts if possible.
2016-12-04 13:09:16 +01:00
degasus
f325d41def
DSPJit: Use tmp register for pointer immediate.
...
PIE.
2016-12-04 13:09:16 +01:00
degasus
d26709f713
Jit64: Use ImmPtr for mtcrf.
...
Only a small overhead, but PIE compatible.
2016-12-04 13:09:16 +01:00
degasus
8189ef432b
Jit64: Use ImmPtr for mcrxr.
...
Only a small overhead, but PIE compatible.
2016-12-04 13:09:16 +01:00
degasus
23c284c081
Jit64: Use ImmPtr for inst.OE handling.
...
A bit slower, but PIE compatible and *very* rarely.
2016-12-04 13:09:15 +01:00
Stenzek
8f97a24904
Vulkan: Enable GS instancing
2016-12-04 20:53:49 +10:00
Stenzek
9736198c3b
Vulkan: Use explicit barriers instead of dependancies
...
At least on NV, some of these don't seem to have the intended effect. One
known instance of this is in texture conversion.
2016-12-04 20:10:13 +10:00
Stenzek
a475792163
Vulkan: Fix incorrect logic in readback preemption
...
This could have been causing a large number of command buffer
submissions per frame, depending on when the readbacks occured.
2016-12-04 20:10:13 +10:00
Stenzek
58978c1440
Vulkan: Faster path for decoding XFB data
...
Using a texel buffer as the copy destination removes the need to copy to
an intermediate texture first.
2016-12-04 20:10:13 +10:00
Stenzek
804cd0ff03
Vulkan: Move XFB encoding/decoding to TextureConverter
2016-12-04 20:10:13 +10:00
Stenzek
d67463e0a7
Vulkan: Simplify palette texture conversion
2016-12-04 20:10:13 +10:00
Stenzek
add638538b
Vulkan: Combine PaletteTextureConverter and TextureEncoder classes
2016-12-04 20:10:13 +10:00
Stenzek
804af42ccc
Vulkan: Support binding texel buffers in UtilityShaderDraw
2016-12-04 20:10:13 +10:00
Stenzek
e241ec6666
Vulkan: Implement StagingTexture2D on top of StagingBuffer
...
Greatly simplifies things, and we weren't using the linear texture
implementation anyway.
2016-12-04 20:10:13 +10:00
Stenzek
4bc0e14995
Vulkan: Use an enumeration to index pipeline layouts
2016-12-04 20:10:13 +10:00
Stenzek
cd3481fbc7
Vulkan: Differentiate between descriptor set layouts and bind points
...
This also moves the pipeline and descriptor set layouts used for texture
conversion (texel buffers) to ObjectCache, and shares a binding location
with the SSBO set.
2016-12-04 20:10:13 +10:00
Stenzek
4e9018049d
Vulkan: Support logging debug reports without enabling validation layers
...
There is a caveat, Host GPU must be checked prior to starting the game, as
we can't enable the extension at runtime without recreating the instance.
2016-12-04 19:55:12 +10:00
Stenzek
1cfb0a1185
Vulkan: Fix deadlock in some resize scenarios
...
Only have experienced this on a few occasions when using the anv driver.
2016-12-04 19:12:33 +10:00
Mat M
d1c89db8c8
Merge pull request #4448 from lioncash/isoproperties
...
DolphinWX: Separate the information panel from ISOProperties
2016-12-03 19:15:25 -05:00
Stenzek
2ef884893a
Vulkan: Fix map error when texture dumping is enabled
2016-12-04 00:23:34 +10:00
Stenzek
4c860ddb70
Vulkan: Fix typo in PopulateBackendInfoMultisampleModes
2016-12-04 00:23:30 +10:00
Stenzek
730ec3809a
Vulkan: Remove unused variable
2016-12-04 00:23:25 +10:00
Stenzek
107e8c8ee7
OGL: Fix assertion when minimizing window
...
Also fixes a potential divide by zero in Renderer::RenderText.
2016-12-03 20:35:14 +10:00
Michael Maltese
f798bcd5c0
DolphinQt2: InfoWidget: explicit type for std::min
...
Avoids errors on macOS:
```
Source/Core/DolphinQt2/Config/InfoWidget.cpp:190:21: error: no matching function for call to 'min'
u64 read_size = std::min(file_data.size(), game_size - read_offset);
^~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:2589:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('unsigned long' vs. 'unsigned long long')
min(const _Tp& __a, const _Tp& __b)
```
2016-12-02 21:26:18 -08:00
Stenzek
7b1966a680
Vulkan: Fix assertion triggering when geometry shaders are unsupported
...
Happened when loading the pipeline UID cache.
2016-12-02 17:37:10 +10:00
Lioncash
20fcfd0ed8
DolphinWX: Separate the information panel from ISOProperties
...
Makes the information panel self-contained.
This was done first, as opposed to isolating the GameConfig panel--the
first panel in the group--as this panel had code all over the place in
ISOProperties, so I figured it'd be best to fix this one up first.
2016-12-01 21:21:46 -05:00
Mat M
2e7c90eeb5
Merge pull request #4450 from PEmu1/fifo-player-capitalization
...
Update FIFO Player Window Capitalization
2016-12-01 21:09:44 -05:00
Anthony
0705c53681
Merge pull request #4340 from sepalani/step_timeout
...
CodeWindow: Fix step out issues
2016-12-01 13:32:44 -06:00
David Korth
25fe999a79
Added support for Wii RVT-R disc images.
...
These disc images are encrypted and signed using a different set of keys.
We only care about the master key, so we check the signature issuer. If
it matches the debug issuer, then we'll use the RVT-R key. Otherwise,
the previous set of common and Korean keys are used.
2016-12-01 07:51:29 -05:00
Anthony
ffe20705dd
Merge pull request #4362 from ligfx/osxhotplug
...
ControllerInterface: enable hotplugging on macOS
2016-12-01 00:29:56 -06:00
Michael Maltese
7ed8fb95c5
ControllerInterface: enable hotplugging on macOS
2016-11-30 22:27:46 -08:00
Anthony
a95e3c875e
Merge pull request #4343 from ligfx/fixsdlcrash
...
ControllerInterface: Fix crashes when using SDL controllers
2016-11-30 20:47:38 -06:00
Stenzek
e2018f2208
Merge pull request #4480 from stenzek/vulkan-streambuffer-reuse
...
Vulkan: Fix stream buffer re-use problems
2016-12-01 12:38:31 +10:00
Michael Maltese
3e69d066f5
ControllerInterface: replace Reinitialize with RefreshDevices
...
The SDL backend crashes when you close a joystick after SDL_Quit has
been called. Some backends don't need to be shutdown and
re-initialized everytime, we can just ask to enumerate devices again.
2016-11-30 16:07:55 -08:00
Michael Maltese
cebb4d84f2
ControllerInterface: clear devices before shutting down backends
...
The SDL backend faults if it tries to close a joystick after SDL_Quit
has been called.
2016-11-30 16:07:54 -08:00
Hector Martin
90c2dec02d
Wii IPC HLE: do not clobber memory when launching a new title
...
It's questionable whether ES_LAUNCH should write *anything* to the
command structure at all, ever, given that it never actually returns
it back through the mailbox. But it *definitely* shouldn't write
anything to it if it has just launched a DOL, because otherwise it might
clobber code/data from the just-loaded application.
2016-12-01 06:55:15 +09:00
Hector Martin
288e75f672
Wii IPC HLE: Fix IPC missing reply fail
2016-12-01 06:38:51 +09:00
Hector Martin
2b906e3fc4
DOL/ELF loaders: enable HID4.SBE in Wii mode
...
When booting "cooked" executables, BATs should already be set up and
enabled. They should only really be disabled when booting NAND contents
in real mode.
2016-12-01 06:36:53 +09:00
Hector Martin
a6742d9cf7
ELF boot: scan segments for Wii mode detection, not sections
2016-12-01 06:36:53 +09:00
Hector Martin
3f11879640
ES HLE / WAD boot: hardcode the entrypoint
...
NAND titles are always started at address 0x3400 with translation off.
The entrypoint in the DOL is ignored.
2016-12-01 06:36:53 +09:00
Stenzek
ca691a9d95
Vulkan: Allow re-use of uniform buffers when doing per-stage uploads
...
This is safe now because we invalidate the pointers after submitting a
command buffer.
2016-11-30 23:34:46 +10:00
Stenzek
6a4eba1153
Vulkan: Replace explicit command buffer submits with wrapper function
...
Should we ever introduce anything else that has to be done when a command
buffer is executed (e.g. invalidating constants from previous commit), we
don't have to update all the callers.
2016-11-30 23:14:36 +10:00
Stenzek
3adeacb78d
Vulkan: Fix case where uniforms could be overwritten
...
If a draw caused a command buffer submission, the current uniform storage
should not be used for the new command buffer.
2016-11-30 23:14:35 +10:00
Stenzek
4c11735bd5
Vulkan: Fix case where a draw's vertices could be overwritten
...
This could happen because the vertex memory was already committed, if a
uniform buffer allocation failed and caused a command buffer to be
executed, it would be associated with the previous command buffer rather
than the buffer containing the draw that consumed these vertices.
2016-11-30 22:45:00 +10:00
Stenzek
37550501cc
Vulkan: Fix incorrect handling of buffer wrap-around in StreamBuffer
...
This was happening when a fence wait happened mid-frame. The data written
between the fence being queued and the allocation occuring was incorrectly
assumed to be consumed by the GPU.
2016-11-30 22:44:52 +10:00
Sean Maas
8647639746
Android: Fix Wii bindings resetting everything
2016-11-29 22:27:40 -05:00
JosJuice
3cfc49a613
Merge pull request #4472 from JosJuice/revert-absolute-path
...
IOS HLE: Replace broken path traversal prevention
2016-11-29 18:34:22 +01:00
aldelaro5
f705d8378e
Fix the order of the name of the hotkeys
2016-11-29 11:51:55 -05:00
Stenzek
aadc77c493
Merge pull request #3649 from stenzek/wgl-core-shared
...
GLInterface: Implement core and shared context creation for WGL
2016-11-29 22:59:31 +10:00
Mat M
eebe4ef1fd
Merge pull request #4461 from aldelaro5/hotkey-config-redo
...
Redo every input configuration dialog
2016-11-29 07:39:28 -05:00
Stenzek
7353cae707
GLInterface: Implement core and shared context creation for WGL
2016-11-29 20:04:32 +10:00
aldelaro5
32a0dae257
Completely redo All configuration dialog
...
Hotkeys
Make a new class that inherits from InputConfigDialog with a specialised constructor. The changes are mainly the top portion and it now uses tabs to categorise the hotkeys.
Redo the GCPad configuration dialog
The layout is similar, but it now allows flexibility to change it more easily.
Redo the GC Keyboard configuration dialog
Same layout.
Redo completely the Wiimote configuration dialog
Separated the controls into 2 tabs to make them less imposing overall.
Redo the Nunchuk configuration dialog
Similar layout, except for 2 control group sizers.
Redo the Classic controller configuration dialog
Same layout.
Redo the Guitar input configuration dialog
Stacked 2 sets of group together.
Redo the Turntable configuration dialog
More stacked groups and the window is much less wide.
2016-11-28 08:26:34 -05:00
aldelaro5
03e0cae9b7
Prepare for having different extensions dialogs
...
Just setting up a switch on the type so that different dialogs can be instantiated. This also makes the extension type an enum because I don't see why not here and finally, it removes ControlGroupSizer. This removal allows to not dynamically generate the UI, but instead, let the specialised constructors do the layout.
2016-11-28 08:26:34 -05:00
aldelaro5
00f680b830
Add flexibility to InputConfigDialog
...
Removed the unecessary forced tabbed layout, removed the layout part of the constructor and remade some method in preparation for tabbed styled input dialog such as the new hotkey configuration one. It breaks every inputconfigDialog, but this will get fixed in the next commits.
Also moved to a folder since there will be many more files created in the next commits so it gives better separation.
2016-11-28 08:26:27 -05:00
Stenzek
0212741574
Merge pull request #4436 from stenzek/vulkan-full-ir-framedump
...
VideoBackends: Internal resolution frame dumping
2016-11-28 22:05:16 +10:00
Stenzek
49e807b71f
Merge pull request #4459 from stenzek/nogui-resize-notify
...
DolphinNoGUI: Receive resize events and notify backend when this occurs
2016-11-28 22:04:21 +10:00
Stenzek
b81dee8b9a
OGL: Support full-resolution frame dumping
2016-11-28 21:54:56 +10:00
Stenzek
93221e7f48
OGL: Move frame rendering procedures to seperate methods
2016-11-28 21:54:56 +10:00
Stenzek
1c1a686f63
Vulkan: Support full resolution frame dumping
2016-11-28 21:54:55 +10:00
Stenzek
adc22a5e20
VideoCommon: Add method for calculating full-scale framedump rectangles
2016-11-28 21:54:54 +10:00
Stenzek
8d48319414
Vulkan: Validate the pipeline cache before using it
...
This ensures that if a user changes adapters or vendors we're not passing
invalid data to the driver.
2016-11-28 21:21:55 +10:00
Stenzek
9604b336c8
Vulkan: Don't destroy the device's pipeline cache on MSAA mode change
...
The user could switch back again, and this would mean this data would be
lost. Disk space is cheap, and it's not going to be much.
2016-11-28 21:21:54 +10:00
Stenzek
aac66a1b61
Vulkan: Implement a pipeline UID cache
...
This stores enough information to recreate the pipeline, including the
shader UIDs, blend/depth/rasterization state, primitive and vertex format.
2016-11-28 21:21:53 +10:00
Stenzek
6db0ee9561
VideoCommon: Remove backbuffer size parameters from methods
...
We have the s_backbuffer_{width,height} fields to represent this, so
there's no point in passing them as parameters every time.
2016-11-28 20:14:59 +10:00
Stenzek
a83ca587c6
VideoCommon: Make FramebufferManagerBase::GetTargetSize public
2016-11-28 20:14:59 +10:00
Stenzek
a0a62c0f46
VideoConfig: Add option for full-resolution frame dumping
2016-11-28 20:14:59 +10:00
Stenzek
681294586b
Merge pull request #4455 from stenzek/png-frame-dumping
...
VideoCommon: Support dumping frames to images
2016-11-28 20:03:50 +10:00
Stenzek
e66373b7ff
Merge pull request #4456 from stenzek/vulkan-framedump-fix-2
...
Vulkan: Fix black borders in frame dumps
2016-11-28 20:03:08 +10:00
Markus Wick
8dddc00ab0
Merge pull request #4474 from leoetlino/fewer-config-includes
...
Remove unnecessary ConfigManager includes
2016-11-28 10:01:13 +01:00
Léo Lam
72e3f1ecec
Remove unnecessary ConfigManager includes
...
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.
However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).
(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
JosJuice
0c6fd47460
Add unit test for StringUtil's newly added JoinStrings
2016-11-27 22:11:14 +01:00
JosJuice
841e5893f4
IOS HLE: Add unit test for path/filename escaping
2016-11-27 22:11:05 +01:00
JosJuice
7a4f19ed98
IOS HLE: Correct handling of paths that don't start with /
2016-11-27 22:10:41 +01:00
Anthony
6c275d472e
Merge pull request #4410 from SeannyM/android-inputbind
...
Android: Reimplement input binding
2016-11-26 18:00:57 -06:00
Sean Maas
a90731e2ae
Android: Add input binding menus
2016-11-26 18:29:33 -05:00
Sean Maas
d10b336b0a
Android: Add InputBindingSetting class
...
Also update MotionAlertDialog to work with the new setting, and remove the
old InputBindingPreference.
2016-11-26 18:29:25 -05:00
JosJuice
c74c317ab5
IOS HLE: More robust escaping of NAND paths
...
Prevents path traversal without needing an absolute path
function, and also improves accuracy (character sequences
like ../ appear to have no special meaning in IOS).
This removes the creation and usage of /sys/replace,
because the new escapes are too complicated to all
be representable in its format and because no other
NAND handling software seems to use /sys/replace.
2016-11-26 22:49:46 +01:00
JosJuice
de355a8521
Revert "IOS HLE: Prevent accessing host file system"
...
This reverts commit 141f3bfb3a
.
The implementation of getting absolute paths wasn't working
on non-Windows systems, which is a huge problem for IOS HLE.
2016-11-26 15:50:28 +01:00
Anthony
c84ab13e81
Merge pull request #4375 from leoetlino/ipc-hle-small-cleanup
...
IPC_HLE: Small cleanup
2016-11-25 17:50:14 -06:00
Anthony
6473a485d0
Merge pull request #4460 from linkmauve/no-miniupnpc
...
NetPlay: Fix build when miniupnpc is disabled
2016-11-25 16:28:27 -06:00
aldelaro5
7e99d03b7f
Add the ability to get partial input group
...
For hotkeys, changed HotkeyManager to allow to get and make partial groups of hotkeys.
Also preserved the old configuration naming scheme for the ini, this is done to preserve compatibility with the older groups structure.
Add the ability to get GCPad control groups
Used like the HotkeyManager methods, this is used for the new GCPad configuration dialog.
Add the ability to get groups of Keyboard input
Same reasons as the previous ones.
Add ability to get groups of Wiimote input
Add the ability to get extensions group
This needed to pass to 3 classes. Will be used for their respective dialogs.
2016-11-25 02:37:22 -05:00
Anthony
11243ac358
Merge pull request #4470 from aldelaro5/fix-slowdown-logs
...
Change the patch engine log to be debug level log
2016-11-24 16:25:53 -06:00
Léo Lam
5b44b37902
IPC_HLE: USB_KBD: Use the correct log type
...
Fixes logging to use the correct log type; it was originally STM
(likely an oversight).
2016-11-24 20:23:52 +01:00
Léo Lam
20f2955ad9
IPC_HLE: Remove dead code (Wiimote and emulated BT)
...
Neither needed or used in the emulated Bluetooth code.
2016-11-24 20:23:52 +01:00
Léo Lam
f82051a365
IPC_HLE: In-class initialise member variables
2016-11-24 20:23:52 +01:00
Léo Lam
3263831928
IPC_HLE: Clean up includes (IWYU)
...
Apply automated fixes by include-what-you-use (IWYU) (with some minor
changes).
IPC_HLE should now be essentially free of indirect includes.
2016-11-24 20:23:51 +01:00
Léo Lam
1e94fdba3c
IPC_HLE: Device: Separate implementation from declaration
...
I know there is already #3521 , but it currently needs a rebase and I
needed to add something to IPC_HLE_Device properly, that is, without
putting everything in the header, so this commit cleans up
IPC_HLE_Device first. (And only IPC_HLE_Device: the rest will still
be handled by #3521.)
Also fixes a few indirect includes (removing unused header includes
from IPC_HLE_Device.h broke building)
2016-11-24 20:19:19 +01:00
Léo Lam
741a638f3e
IPC_HLE: USB_VEN: Clean up (includes and naming)
2016-11-24 20:19:18 +01:00
Léo Lam
b0377f02f0
IPC_HLE: Deduplicate syscall reply enqueue function
...
This is something that was copy-pasted across the IPC_HLE code
(because it's often used). Since all of the duplicated pieces of code
do the same thing as the previous EnqueueReply, except that they also
write to command_address + 0 and + 8 (to write the correct reply type),
this commit changes EnqueueReply to do that instead of having it
duplicated all over IPC HLE.
2016-11-24 20:19:18 +01:00
JosJuice
9bfea4a0f2
Merge pull request #4447 from JosJuice/hthh-hle-issues
...
Fix exploitable HLE problems reported by hthh
2016-11-24 15:53:23 +01:00
aldelaro5
c6b3c67ea1
Change the patch engine log to be debug level log
...
It was apparently causing heavy slowdowns on game even though it wouldn't spam much, probably caused by the amount of additional check caused by the logs levels changes.
2016-11-23 00:58:07 -05:00
Stenzek
6d0b9b816f
VideoCommon: Support dumping frames to images
...
This is mainly for potential Android fifoci usage, and thus is not
exposed anywhere in the UI. To enable, set DumpFramesAsImages under
Settings in GFX.ini.
2016-11-23 12:07:49 +10:00
Ryan Meredith
6d55aebcf7
Typo_Fix
2016-11-21 23:23:48 -05:00
Emmanuel Gil Peyrot
c4cd0d444a
NetPlay: Fix build when miniupnpc is disabled.
2016-11-19 15:36:26 +00:00
Stenzek
1aecf90765
DolphinNoGUI: Receive resize events and notify backend when this occurs
...
Solves the viewport sizing issue for backends that cannot tell when the
window is resized (Vulkan on NV at least).
2016-11-19 23:03:20 +10:00
Stenzek
d6d3341183
D3D: Fix strided XFB copies
2016-11-19 20:29:51 +10:00
Stenzek
6b88a854a7
Vulkan: Handle strided XFB copies
...
Where src_rect.width * 2 != dst_stride.
2016-11-19 20:29:47 +10:00
Léo Lam
165e3a9936
IPC_HLE: Fix emulated BT crash (uninitialised memory)
...
When the emulated BT device is created, m_HCIEndpoint (which is a
CtrlBuffer)'s m_cmd_address is not initialised to 0. So it ends up
being a random value. This is normally not an issue… but the
emulated Bluetooth code relies on m_cmd_address to know whether the
HCI endpoint is still valid.
This is a problem with ES_Launch, because the bt_emu class is
destructed and re-constructed, and while m_cmd_address is still
uninitialised, the ES_Launch code disconnects all Wii remotes,
which triggers a HCI event and hence the bug.
2016-11-19 00:11:41 +01:00
Stenzek
725ef4c5dc
Vulkan: Pass target_rect to framebuffer draw methods
...
Fixes the black borders in frame dumps when the window was not sized to
the framebuffer aspect ratio.
2016-11-18 22:55:22 +10:00
hthh
4d2f058fe8
DolphinWX: Fix toolbar creation on macOS
2016-11-18 21:32:12 +11:00
Markus Wick
6c16f1be8a
Merge pull request #4416 from stenzek/vulkan-cmdpool
...
Vulkan: Use multiple command pools, one per frame
2016-11-16 10:25:10 +01:00
Markus Wick
71be84e074
Merge pull request #4452 from stenzek/jmp-self-idle-loop
...
Jit64: Treat branch-to-self instruction as an idle loop
2016-11-16 10:24:29 +01:00
Sean Maas
128c1f04ad
Android: Specify ini file for every setting
...
Load all the inis at once, choose which one to write to, and save them all
at the same time. This allows us to modify settings from different files
on the same settings page.
2016-11-14 18:34:06 -05:00
Stenzek
3c92b35422
Vulkan: Use multiple command pools, one per frame
...
Instead of resetting two command buffers, now we only have to call
vkResetCommandPool once at the start of a frame.
NV's recommends using one pool per frame/thread. May offer a very small
boost in performance on some systems.
2016-11-15 00:40:15 +10:00
Stenzek
e83bf5705a
JitArm64: Don't emit normal block exit for branch-to-self instructions
...
The normal block exit is redundant as the exception exit will jump out of
the block first, meaning this code is never executed.
2016-11-15 00:28:14 +10:00
Stenzek
c657134c86
Jit64: Treat branch-to-self instruction as an idle loop
2016-11-15 00:26:59 +10:00
Stenzek
bd67adb362
Vulkan: Use correct sample count for EFB pokes with MSAA enabled
2016-11-14 20:24:16 +10:00
Stenzek
89176fe2ab
Vulkan: Fix crash on EFB poke
2016-11-14 20:19:59 +10:00
Markus Wick
6a2e1e9986
Merge pull request #4429 from SeannyM/android-invert-settings
...
Android: Fix inverted EFB settings
2016-11-14 10:07:10 +01:00
Pringo
f848418efa
Update FIFO Player Window Capitalization
2016-11-13 20:44:18 -08:00
Jules Blok
99de9fbe33
Merge pull request #4443 from Armada651/exclusive-ui
...
D3D: Move exclusive mode switching to UI thread.
2016-11-14 01:45:07 +01:00
Jules Blok
7e35a47b51
Cosmetics.
2016-11-13 22:17:40 +01:00
Markus Wick
bc98ec77be
Merge pull request #4441 from stenzek/vulkan-max-image-count
...
Vulkan: Handle maxImageCount of zero when creating swap chain
2016-11-13 14:12:32 +01:00
Markus Wick
c723532f0d
Merge pull request #4430 from stenzek/vulkan-no-relaxed-vsync
...
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-13 14:10:58 +01:00
JosJuice
141f3bfb3a
IOS HLE: Prevent accessing host file system
2016-11-13 10:03:23 +01:00
JosJuice
a79c449493
Avoid buffer over-reads in /dev/net/ip/top
...
Also fixes the less serious problem of buffer overflows
in emulated memory when BufferOutSize is less than 2.
2016-11-13 08:44:05 +01:00