Léo Lam
10d230a512
Merge pull request #6784 from leoetlino/file-creation
...
IOS: Make file creation + open more concise
2018-05-08 23:27:35 +02:00
spycrab
2852959811
Qt: Restore render widget size and position
2018-05-08 16:03:13 +02:00
Léo Lam
a9987588eb
Merge pull request #6768 from spycrab/qt_stylesheet
...
Qt: Allow custom stylesheets
2018-05-08 15:20:19 +02:00
Stenzek
fd5aaa096c
RenderBase: Ensure the draw size does not exceed the window size
...
This was happening when crop was enabled, causing blank outputs for some
Vulkan drivers (namely radv), as the draw rectangle is used as the
viewport.
2018-05-08 23:19:38 +10:00
spycrab
0170052f5d
Qt: Allow custom stylesheets
2018-05-08 15:07:50 +02:00
Léo Lam
f0e6fcfb07
Merge pull request #6785 from JosJuice/stringutil-order
...
StringUtil.h: Move ThousandSeparate down
2018-05-08 14:31:57 +02:00
JosJuice
965c423f1c
StringUtil.h: Move ThousandSeparate down
...
It calls UTF16ToUTF8 on Windows, so it should come after UTF16ToUTF8.
2018-05-08 13:55:07 +02:00
Léo Lam
71afe6b4a6
IOS: Make file creation + open more concise
...
Creating a file then opening it in read write mode is a pretty common
operation. This commit adds a helper function that makes it easier
to read and clearer.
2018-05-08 13:07:30 +02:00
Léo Lam
90f869e940
Merge pull request #6772 from leoetlino/fs-es
...
IOS/ES: Migrate to new filesystem interface
2018-05-08 11:55:52 +02:00
Léo Lam
f97711ac02
Merge pull request #6777 from lioncash/header
...
Common: Move floating-point utility functions to FloatUtils.h/.cpp
2018-05-08 11:55:25 +02:00
booto
823fdda30c
intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reserved
2018-05-08 17:25:33 +08:00
Anthony
1ec3a4db6c
Merge pull request #6763 from spycrab/qt_fix_prog
...
Qt/AdvancedWidget: Fix "Enable Progressive Scan"
2018-05-07 09:59:32 -07:00
Anthony
46236920ef
Merge pull request #6767 from spycrab/qt_whatsthis2
...
Qt: Make dialogues more consistent
2018-05-07 09:58:15 -07:00
Anthony
8212b6e9cf
Merge pull request #6769 from spycrab/qt_fix_netplay
...
Qt/NetPlay: Fix crashes on start
2018-05-07 09:57:02 -07:00
Anthony
ecd9b94415
Merge pull request #6779 from spycrab/qt_trans_fix
...
Qt/WrapInScrollArea: Only use transparency on Windows
2018-05-07 09:56:47 -07:00
Anthony
e62c26c34b
Merge pull request #6781 from spycrab/qt_rtm_addendum
...
Qt/GeneralWidget: Various fixes
2018-05-07 09:53:20 -07:00
spycrab
8f9bc2f3e4
Qt: Implement custom fullscreen resolution support
2018-05-07 18:38:59 +02:00
spycrab
a2448c5b66
Qt/GeneralWidget: Various fixes
2018-05-07 17:50:03 +02:00
Markus Wick
6f0ad84a5e
Merge pull request #6764 from spycrab/qt_fix_rtm
...
Qt: Fix "Render To Main"
2018-05-07 17:33:56 +02:00
spycrab
fc069f709e
Qt/WrapInScrollArea: Only use transparency on Windows
2018-05-07 17:23:03 +02:00
Stenzek
501b35bbf2
OGL: Fix broken format changes in i965 driver
2018-05-08 00:11:27 +10:00
Markus Wick
e31c571f51
Merge pull request #6646 from spycrab/fbm_strings
...
OGL/FramebufferManager: Clean up inline GLSL code
2018-05-07 08:58:56 +02:00
Lioncash
86018b503b
Common: Move floating-point utility functions to FloatUtils.h/.cpp
...
Keeps all of the floating-point utility functions in their own file to
keep them all together. This also provides a place for other
general-purpose floating-point functions to be added in the future,
which will be necessary when improving the flag-setting within the
interpreter.
2018-05-07 02:56:32 -04:00
Markus Wick
756ef54ab6
Merge pull request #6770 from lioncash/ile
...
PowerPC: Fix copying of the MSR.ILE bit to MSR.LE
2018-05-07 08:52:05 +02:00
Markus Wick
b007210761
Merge pull request #6774 from lioncash/enum
...
Interpreter_FPUtils: Make FPCC enum an enum class
2018-05-07 08:48:22 +02:00
Markus Wick
6ec1e742ae
Merge pull request #6773 from lioncash/fpscr
...
PowerPC: Make the PowerPCState's fpscr member variable a UReg_FPSCR instance
2018-05-07 08:47:14 +02:00
Anthony
fcc5095d8c
Merge pull request #6776 from lioncash/type
...
x64Emitter: Use an enum class to represent FixupBranch branch types
2018-05-06 19:09:54 -07:00
Anthony
d131e4d2bc
Merge pull request #6775 from lioncash/flags
...
Interpreter_FPUtils: Properly update the FPSCR's FEX bit in UpdateFPSCR()
2018-05-06 19:07:13 -07:00
Lioncash
82b1518342
x64Emitter: Use an enum class to represent FixupBranch branch types
...
Gets rid of the use of magic values and replaces them with strongly
typed symbolic names.
2018-05-06 22:05:03 -04:00
Lioncash
64d1865448
Interpreter_FPUtils: Properly update the FPSCR's FEX bit in UpdateFPSCR()
...
FPSCR.FEX is supposed to be a logical OR of all floating-point exception
bits masked by their respective enable bits.
Currently UpdateFPSCR() isn't called by anything in the interpreter
except for mcrfs and mffs, so this doesn't alter existing behavior that much.
However, this will be necessary in future PRs when making the interpreter more
accurate in how it sets flags.
2018-05-06 21:40:00 -04:00
Lioncash
d5de49f9aa
Interpreter_FPUtils: Make FPCC enum an enum class
...
Avoids dumping two letter identifiers into global scope
2018-05-06 19:32:09 -04:00
Lioncash
69a0aaebd4
Gekko: Make UReg_FPSCR's single argument constructor explicit
...
Prevent implicit conversions to UReg_FPSCR. Given the semantics of a
random magic value and the FPSCR are different, make explicit
conversions a requirement to signify intent.
2018-05-06 18:46:57 -04:00
Lioncash
cb5926c1ca
PowerPC: Make the PowerPCState's fpscr member variable a UReg_FPSCR instance
...
Gets rid of the need to cast the actual member to access information without bit shifts and masking.
2018-05-06 18:46:52 -04:00
Léo Lam
606d25213b
ES: Create system directories with correct metadata
2018-05-06 23:19:34 +02:00
Léo Lam
f47f916afb
ES: Use new filesystem interface in main code
2018-05-06 23:19:34 +02:00
Léo Lam
923b450268
ES: Use new filesystem interface in TitleManagement
2018-05-06 23:19:34 +02:00
Léo Lam
9ee2654be6
ES: Use new filesystem interface in NandUtils
2018-05-06 23:16:35 +02:00
Léo Lam
359a5dcb54
ES: Use new filesystem interface for content handling
2018-05-06 23:16:35 +02:00
Léo Lam
3dafc66c36
ESFormats: Migrate to new filesystem interface
2018-05-06 23:16:35 +02:00
Léo Lam
5dbf6cd0c9
IOS/FS: Make ConvertResult usable from ES
...
ES makes extensive use of FS and most of the time returns its error
codes directly.
2018-05-06 22:08:31 +02:00
Léo Lam
7dcab20bfa
Qt: Disable 'uninstall' action if title is not installed
2018-05-06 21:01:44 +02:00
Lioncash
707615ef82
PowerPC: Fix copying of the MSR.ILE bit to MSR.LE
...
The MSR.LE bit is supposed to be set to the value of MSR.ILE upon
entering an exception vector to control whether the environment in said
vector operates as little endian or big endian. If this bit is ORed into
the LE bit, then the scenario of operating in little endian but wanting
to take exceptions in big endian will be incorrectly handled.
2018-05-06 14:24:58 -04:00
spycrab
e184dc55b2
Qt/NetPlay: Fix crashes on start
2018-05-06 19:00:17 +02:00
spycrab
7cd30810a3
Qt: Make dialogues more consistent
2018-05-06 18:05:56 +02:00
Léo Lam
c3d88a622d
Merge pull request #6766 from leoetlino/ncd
...
IOS/NCD: Migrate to new filesystem interface
2018-05-06 17:10:19 +02:00
Léo Lam
26be225c92
Merge pull request #6761 from spycrab/qt_win_font
...
Qt/Win32: Use better method to obtain the default font
2018-05-06 16:15:11 +02:00
Léo Lam
fb1d075330
IOS/NCD: Migrate to new filesystem interface
...
A followup for the migration work started in 8317a66
2018-05-06 14:26:51 +02:00
Léo Lam
89713c5889
IOS/FS: Add CreateFullPath helper
...
Analogous to File::CreateFullPath, but for the Wii filesystem so this
ensures that directories and files receive proper attributes.
(This function is technically not part of the FS sysmodule but it's in
an internal FS library that is reused in several IOS sysmodules.)
2018-05-06 14:22:44 +02:00
Léo Lam
8e3cad948c
Merge pull request #6758 from leoetlino/fs-wiiutils
...
WiiUtils: Migrate to new filesystem interface
2018-05-06 14:04:30 +02:00
Léo Lam
76b031184c
Merge pull request #6341 from sepalani/debug-watches
...
DebugInterface: Watches methods added
2018-05-06 13:25:26 +02:00
Léo Lam
7a9e1a240e
Merge pull request #6757 from JosJuice/qt-filesystem-extraction
...
DolphinQt2: Fix disc extraction inconsistencies with DolphinWX
2018-05-06 13:24:06 +02:00
Léo Lam
32235f974d
Merge pull request #6612 from leoetlino/movie-array
...
Movie: Replace some C style arrays with std::array
2018-05-06 13:23:45 +02:00
Léo Lam
34899e8e71
Merge pull request #6759 from spycrab/updater_warn_launch
...
Updater: Show error when trying to launch directly
2018-05-06 13:11:50 +02:00
Léo Lam
3f087e2ed5
Merge pull request #6760 from lioncash/msr
...
PowerPC: Make the PowerPCState's msr member variable a UReg_MSR instance
2018-05-06 12:02:39 +02:00
Léo Lam
27f6274fc5
Merge pull request #6762 from lioncash/condition
...
DolphinQt/MemoryWidget: Fix dead condition in FindValue()
2018-05-06 12:01:24 +02:00
Stenzek
f81d9c3813
Merge pull request #6755 from stenzek/opengl-clamp
...
OGL: Fix incorrect clamping in EFB copies
2018-05-06 18:54:00 +10:00
spycrab
6f65238efc
Qt: Fix "Render To Main"
2018-05-06 04:51:13 +02:00
Anthony
2588b5e40e
Merge pull request #6750 from spycrab/qt_render_widget
...
Qt: Fix multiple RenderWidget issues
2018-05-05 18:39:40 -07:00
spycrab
6442b32aeb
Qt/AdvancedWidget: Fix "Enable Progressive Scan"
2018-05-06 03:16:43 +02:00
Lioncash
31389bab0a
DolphinQt/MemoryWidget: Fix dead condition in FindValue()
...
This condition is already checked earlier in the function and exits out
if it's satisfied, meaning it'll never reach this check further down.
2018-05-05 20:44:38 -04:00
spycrab
49a1b2e5df
Qt/Win32: Use better method to obtain the default font
2018-05-06 02:37:52 +02:00
Lioncash
0043b77ccd
Gekko: Make UReg_MSR's single-argument constructor explicit
...
Prevents implicit construction of MSR instances from integral values.
This is beneficial, considering MSR values have an intended
representation while a regular magic value doesn't. So make these
conversions required to be explicit.
2018-05-05 17:59:45 -04:00
Lioncash
ffcf107dd2
PowerPC: Make the PowerPCState's msr member variable a UReg_MSR instance
...
Gets rid of the need to construct UReg_MSR values around the the actual
member in order to query information from it (without using shifts and
masks). This makes it more concise in some areas, while helping with
readability in some other places (such as copying the ILE bit to the LE
bit in the exception checking functions).
2018-05-05 17:59:30 -04:00
Léo Lam
75d056bc48
Movie: Replace some C style arrays with std::array
...
This replaces some C style arrays with std::array to make copying
and comparing arrays slightly nicer.
2018-05-05 23:40:23 +02:00
spycrab
45995ead03
Updater: Show error when trying to launch directly
2018-05-05 23:32:08 +02:00
Léo Lam
72a6674b73
WiiUtils: Migrate to new filesystem interface
...
A followup for the migration work started in 8317a66e
2018-05-05 19:21:56 +02:00
Léo Lam
9aeb95bc0a
WX: Only call IsTitleInstalled when core is stopped
2018-05-05 19:21:56 +02:00
JosJuice
33211d8690
DolphinQt2: Don't show pop-ups in the middle of extracting a whole disc
2018-05-05 18:31:46 +02:00
JosJuice
f48fac5b55
DolphinQt2: Allow picking "Extract Files..." on disc/partition
...
DolphinWX already does this.
2018-05-05 18:31:44 +02:00
Léo Lam
58b96eeb9d
Merge pull request #6756 from spycrab/qt_segoe_ui
...
Qt/Win32: Force Segoe UI
2018-05-05 18:09:00 +02:00
spycrab
7d762fd632
Qt/RenderWidget: Restore size when exiting fullscreen
2018-05-05 17:05:32 +02:00
JosJuice
1a74de6462
DolphinQt2: Fix the file structure of extracted discs
...
Now all the partitions won't be all jumbled up in one folder,
and the filesystem contents won't be mixed with system data.
2018-05-05 17:00:27 +02:00
Léo Lam
975689e1f7
Merge pull request #6754 from spycrab/qt_no_whatsthis
...
Qt: Remove "What's this" button
2018-05-05 16:04:52 +02:00
Tillmann Karras
41a553e33e
Jit64: warn about code cache flushing
...
The game Go Vacation (SGVEAF) currently stutters a lot because it keeps
overflowing the far code cache and all code needs to be re-jitted.
Logging this warning gives a useful hint as to what is causing the
stuttering.
2018-05-05 14:21:57 +01:00
spycrab
ad21282379
Qt/Win32: Force Segoe UI
2018-05-05 12:41:56 +02:00
Léo Lam
31efec623a
Merge pull request #6695 from Ebola16/UbershadersDecrip
...
Update Ubershader descriptions
2018-05-05 11:16:30 +02:00
Léo Lam
d8549d172c
Merge pull request #6651 from leoetlino/nand-paths
...
NandPaths: Return paths that are relative to Wii NAND
2018-05-05 11:01:35 +02:00
Léo Lam
983d500d14
Merge pull request #6614 from leoetlino/auto-close
...
IOS: Do not manually close devices in destructor
2018-05-05 10:53:06 +02:00
Léo Lam
d848c7e027
Merge pull request #6716 from container1234/qt-cheats-manager
...
Qt/CheatsManager: Fix updating search result takes a long time
2018-05-05 10:42:09 +02:00
Léo Lam
bf8b9f4a34
Merge pull request #6739 from spycrab/qt_aesthetics
...
Qt: Fix visual inconsistencies.
2018-05-05 10:37:44 +02:00
Léo Lam
86f56b8047
Merge pull request #6747 from aldelaro5/qt-debugger-setting-ini
...
INI: Create a new INI setting for toggling the debugger UI
2018-05-05 10:33:04 +02:00
Léo Lam
6e6bf689e7
Merge pull request #6751 from spycrab/qt_show_disc
...
Qt: Show disc number
2018-05-05 10:28:40 +02:00
Stenzek
286d594f32
OGL: Fix incorrect clamping in EFB copies
2018-05-05 17:45:54 +10:00
Pierre Bourdon
798639291f
Merge pull request #6749 from spycrab/qt_gcontrols_crash
...
Qt/GraphicsControls: Fix more random crashes
2018-05-05 03:02:43 +02:00
spycrab
69d6c0dccb
Qt: Remove "What's this" button
2018-05-05 02:29:16 +02:00
aldelaro5
fee92cd4fc
INI: Create a new INI setting for toggling the debugger UI
...
Qt introduced a checkbox to toggle the debugger UI, this makes it work into a setting stored in the INI, it also makes the -d argument only in effect when enabled, in such case, it will override the INI by overriding it.
2018-05-04 19:23:03 -04:00
spycrab
db0e5108dc
Win32/FileUtil: Fix IsDirectory() not working for certain directories
2018-05-04 23:53:41 +02:00
spycrab
67f874250a
Qt: Show disc number
2018-05-04 22:38:27 +02:00
spycrab
e809eef11a
Qt/AdvancedWidget: Fix progressive scan checkbox
2018-05-04 21:33:24 +02:00
Léo Lam
8317a66ea5
NandPaths: Return paths that are relative to Wii NAND
...
Since all FS access will go through the new FS interface (PR #6421 )
in order to keep track of metadata properly, there is no need to return
absolute paths anymore.
In fact, returning host paths is a roadblock to using the FS interface.
This starts the migration work by adding a way to get paths that are
relative to the Wii NAND instead of always getting absolute paths
on the host FS.
To prepare for future changes, this commit also makes returned paths
canonical by removing the trailing slash when it's unneeded.
Eventually, once everything has been migrated to the new interface,
we can remove the "from" parameter.
2018-05-04 19:52:17 +02:00
spycrab
452cc6b69f
Qt/RenderWidget: Show proper icon and title
2018-05-04 14:04:46 +02:00
spycrab
300c3970f3
Qt/GraphicsControls: Fix more random crashes
2018-05-04 13:51:55 +02:00
spycrab
11f83c1e36
HttpRequest/Curl: Use a more intelligent timeout method
2018-05-04 13:30:49 +02:00
Stenzek
a5e410b7c9
Merge pull request #6744 from stenzek/ui-disable-vram-copies
...
UI: Add Disable EFB Copies to VRAM to Advanced Options
2018-05-04 12:01:29 +10:00
spycrab
96e488a181
Qt/PathPane: Add dots to buttons
2018-05-04 00:12:08 +02:00
spycrab
d97d916758
Qt/Settings: Restore padding
2018-05-04 00:12:08 +02:00
spycrab
b741ef81bd
Qt/WrapInScrollArea: Make background color more consistent
2018-05-04 00:12:08 +02:00
Ryan Meredith
c2355d4f63
Android Interface submenu: Add Show OSD Messages
2018-05-03 16:05:22 -04:00
Ryan Meredith
25179258b7
Android: Initial implementation of Interface submenu
2018-05-03 16:05:22 -04:00
Mat M
54a6b0f50a
Merge pull request #6726 from spycrab/qt_sort_alpha
...
Qt/GameList: Always sort games alphabetically
2018-05-03 13:13:09 -04:00
Mat M
348125eda4
Merge pull request #6738 from spycrab/qt_fix_empty_adapter
...
Qt/GeneralWidget: Fix empty adapter option
2018-05-03 13:11:00 -04:00
Mat M
689a70a7f1
Merge pull request #6736 from spycrab/qt_bad_range_clear
...
Qt/MappingButton: Fix bad range default
2018-05-03 13:09:26 -04:00
Mat M
cf40ebf16a
Merge pull request #6737 from JosJuice/qt-invalid-si-device
...
DolphinQt2: Don't crash on invalid SI devices
2018-05-03 13:07:23 -04:00
Stenzek
3270fadb0d
Merge pull request #6587 from stenzek/macos-content-scale
...
DolphinWX: Scale window geometry before passing to backend
2018-05-03 23:35:21 +10:00
Stenzek
be32602769
Merge pull request #6745 from spycrab/qt_fullscreen
...
Qt: Call Render::SetFullscreen
2018-05-03 23:28:21 +10:00
spycrab
a61445919d
Qt/GraphicsSlider: Fix random crashes
2018-05-03 15:22:40 +02:00
spycrab
68e2b46ba1
Qt: Call Render::SetFullscreen
2018-05-03 15:15:35 +02:00
Stenzek
210a6a37b4
DolphinWX: Scale window geometry before passing to backend
...
In macOS, the window size is device-independent points, which may not
match the content/backing framebuffer size.
2018-05-03 22:01:07 +10:00
JosJuice
1a2b6e2645
Merge pull request #6742 from stenzek/qt-borderless-fullscreen
...
Qt/AdvancedWidget: Fix borderless fullscreen option not showing
2018-05-03 08:07:29 +02:00
Stenzek
d4f6c86eec
UI: Add Disable EFB Copies to VRAM to Advanced Options
2018-05-03 14:31:04 +10:00
Stenzek
0152f63655
TextureCacheBase: Make "disable vram copies" part of the active config
2018-05-03 14:24:44 +10:00
Stenzek
8a061d6fb4
Qt/AdvancedWidget: Fix borderless fullscreen option not showing
2018-05-03 14:13:35 +10:00
Stenzek
4faac3a627
TextureConversionShader: Don't sample from adjacent rows when not needed
2018-05-03 14:09:32 +10:00
Stenzek
a93830056f
TextureConversionShader: Fix more implicit conversion errors
2018-05-03 11:32:06 +10:00
spycrab
6b5b51831a
Qt/GameList: Always sort games alphabetically
2018-05-02 21:57:46 +02:00
spycrab
0595fd498f
Qt/MappingButton: Fix bad range default
2018-05-02 21:50:50 +02:00
Markus Wick
ef98a21735
Merge pull request #6729 from stenzek/gles-gamma
...
TextureConversionShader: Fix compile errors in OpenGL ES
2018-05-02 21:50:30 +02:00
JosJuice
16b805410f
DolphinQt2: Don't crash on invalid SI devices
...
This is important if we ever add or delete SI devices.
2018-05-02 21:50:28 +02:00
Mat M
ed6709ac8f
Merge pull request #6731 from spycrab/qt_cache_slider
...
Qt/HacksWidget: Fix "Accuracy" slider
2018-05-02 15:48:33 -04:00
Mat M
a2c12f1503
Merge pull request #6735 from JosJuice/ui-ini
...
Remove code related to UI.ini
2018-05-02 15:47:28 -04:00
spycrab
b99610f1a3
Qt/GeneralWidget: Fix empty adapter option
2018-05-02 19:20:45 +02:00
JosJuice
6e96f62b41
Remove code related to UI.ini
...
We don't use it for anything, we just create it and leave it empty.
2018-05-02 18:18:27 +02:00
spycrab
3221ca2200
Updater: Fix UI not showing up
2018-05-02 18:17:16 +02:00
Pierre Bourdon
40cf07d8e7
Merge pull request #6733 from spycrab/rename_update_cfg_again
...
Core/ConfigManager: Rename Track to UpdateTrack
2018-05-02 17:55:37 +02:00
spycrab
a984d18a14
Core/ConfigManager: Rename Track to UpdateTrack
2018-05-02 17:23:41 +02:00
spycrab
e3cebebe51
Qt/MappingButton: Fix Clear not resetting ranges
2018-05-02 17:02:14 +02:00
spycrab
3d7b613be5
Qt/Mapping: Fix "Default" not working properly.
2018-05-02 16:55:42 +02:00
spycrab
ef3f660983
Qt/HacksWidget: Fix "Accuracy" slider
2018-05-02 16:36:15 +02:00
Stenzek
7a745e5b0d
D3D: Drop gamma parameter from util draw helper
...
No longer needed as we perform gamma correction during the XFB copy.
2018-05-02 21:58:56 +10:00
Stenzek
2c6b20bb03
TextureConversionShader: Fix compile errors in OpenGL ES
2018-05-02 21:54:13 +10:00
spycrab
0d5b34be34
Qt/MappingWindow: Fix saving to incomplete Profile directory
2018-05-02 06:45:11 +02:00
Ryan Meredith
05205ce3d7
Update Ubershader descriptions
2018-05-01 18:57:34 -04:00
spycrab
b4dc658b2e
OGL/FramebufferManager: Clean up inline GLSL code
2018-05-01 15:03:59 +02:00
Stenzek
6e62d1ab9f
Merge pull request #6722 from spycrab/qt_adapter
...
Qt/GraphicsSettings: Save Adapter index
2018-05-01 21:57:50 +10:00
spycrab
87d6bffcec
Qt/GraphicsSettings: Fix various adapter issues
2018-05-01 13:54:01 +02:00
container1234
850afd8457
Qt/CheatsManager: Fix updating search result takes a long time
2018-05-01 18:58:58 +09:00
Léo Lam
78c9bad44f
Merge pull request #6688 from spycrab/qt_dedup
...
Qt: Deduplicate settings
2018-05-01 11:53:39 +02:00
Léo Lam
23f958d766
Merge pull request #6715 from spycrab/qt_path_fixes
...
Qt/PathPane: Various fixes
2018-05-01 11:40:21 +02:00
Stenzek
c46882142b
Merge pull request #6369 from stenzek/xfb-copy-filter
...
Implement copy filter (deflickering/brightness) and XFB gamma
2018-05-01 19:31:54 +10:00
Stenzek
42d73deaed
Merge pull request #6723 from spycrab/qt_fix_profile_save
...
Qt/MappingWindow: Fix profile saving
2018-05-01 19:26:22 +10:00
Léo Lam
c2ddddc723
Merge pull request #6724 from JosJuice/qt-normal-speed
...
DolphinQt2: Translate the "(Normal Speed)" text
2018-04-30 21:30:45 +02:00
JosJuice
1b830df250
DolphinQt2: Correct the condition for enabling Cheat Manager
...
Only the other condition, the one that runs when the cheat setting
changes, was taking into account whether emulation was running.
2018-04-30 14:19:56 +02:00
JosJuice
e74f5c4f42
DolphinQt2: Translate the "(Normal Speed)" text
2018-04-30 13:42:48 +02:00
spycrab
c6a0a4318d
Qt/MappingWindow: Fix saving
2018-04-30 09:09:27 +02:00
spycrab
fcb80646ed
Qt/PathPane: Various fixes
2018-04-30 06:44:13 +02:00
Mat M
ad836b9071
Merge pull request #6717 from spycrab/issue_11039
...
Qt/GraphicsControls: Reload values when settings are changed
2018-04-29 20:20:36 -04:00
spycrab
a2dbf97205
Qt/Win32: Fix console output
2018-04-29 23:26:20 +02:00
Mat M
d8b56af342
Merge pull request #6714 from spycrab/qt_fix_toolbar
...
Qt/ToolBar: Fix inconsistencies
2018-04-29 15:20:01 -04:00
spycrab
dd6ac93ad0
Qt/ToolBar: Fix checkbox and actual visibility not being in sync
2018-04-29 20:28:11 +02:00
Mat M
cad7d2c71f
Merge pull request #6720 from spycrab/qt_ext
...
Qt/GameTracker: Match uppercase file extensions
2018-04-29 14:24:24 -04:00
spycrab
f5cfd1ab14
Qt/GameTracker: Match uppercase file extensions
2018-04-29 19:59:50 +02:00
spycrab
2a837a82d4
Qt: Implement Batch flag (-b)
2018-04-29 19:13:40 +02:00
spycrab
bc51c34a96
Qt: Implement "Free look"
2018-04-29 13:52:27 +02:00
spycrab
417d191c9e
Qt/GraphicsControls: Reload values when settings are changed
2018-04-29 12:17:39 +02:00
Stenzek
ea4090d92c
Dolphin: Add disable copy filter to graphics options
2018-04-29 19:05:20 +10:00
Stenzek
9e798eec94
Implement EFB copy filter and gamma in hardware backends
...
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't
make sense to keep it as part of the uid, otherwise we're generating
redundant shaders.
2018-04-29 19:05:20 +10:00
Scott Mansell
a192a3bb30
While I'm here, fix some chroma sub-sampling bugs.
...
RE4's brightness screen is actually very good for spotting these.
Bug 1: Colors at the end of the scanlines are clamped, instead of a black
border
Bug 2: U and V color channels share coordinates, instead of being offset
by a pixel.
2018-04-29 17:56:53 +10:00
Scott Mansell
fc96479f12
VideoSoftware: Implement xfb copy filter (Deflickering/Brightness)
2018-04-29 17:56:51 +10:00
Lioncash
167b92ff2c
Jit_Integer: Make arrays const in MultiplyImmediate() and twX()
...
These are only ever read from, so make the data immutable to be explicit about that
2018-04-28 14:13:02 -04:00
Mat M
0cd46f4d21
Merge pull request #6690 from lioncash/nand
...
Common/NandPaths: Minor cleanup
2018-04-28 13:43:33 -04:00
Mat M
6b8da197e8
Merge pull request #6689 from container1234/qt-minor-fixes
...
Qt: Minor changes
2018-04-28 13:41:59 -04:00
Tilka
6bb880457f
Merge pull request #6711 from lioncash/handler
...
Common/MemTools: Make handler function internally linked on Windows
2018-04-28 18:41:10 +01:00
Mat M
c057eb3c82
Merge pull request #6705 from leoetlino/variable
...
IOS/SO: Clean up variable declarations
2018-04-28 13:40:38 -04:00
Mat M
fa44e28ce0
Merge pull request #6708 from spycrab/qt_dynfilter
...
Qt/GameList: Ensure resort when new entries are added
2018-04-28 13:39:56 -04:00
Lioncash
8183360832
Common/MemTools: Make handler function internally linked on Windows
...
This doesn't need to be an externally linked function.
2018-04-28 12:55:38 -04:00
Sepalani
74d4a4478f
DebugInterface: Watches methods added
...
Move Watches to Common
2018-04-28 17:46:51 +04:00
JosJuice
8870ffeac4
DolphinQt2: Fix clearing numeric values in controller config
2018-04-28 13:02:26 +02:00
spycrab
7db86c20d0
Qt/GameList: Ensure resort when new entries are added
2018-04-28 12:53:10 +02:00
JosJuice
28138cfde9
Merge pull request #6707 from spycrab/qt_fix_numeric
...
Qt/MappingNumeric: Calculate values properly
2018-04-28 12:42:27 +02:00
spycrab
1fb188a7d9
Qt/MappingNumeric: Calculate values properly
2018-04-28 12:32:23 +02:00
spycrab
b88a5875ec
Qt/WiimoteEmuExtension: Add "Slider Bar" to Guitar
2018-04-28 11:41:22 +02:00
Léo Lam
4f427de924
IOS/SO: Clean up variable declarations
...
Move them closer to their usage and fix the naming.
2018-04-28 11:13:03 +02:00
container1234
b46bf9b736
Qt/Debugger: Change CodeView background colors to bright ones
2018-04-28 16:53:04 +09:00
Léo Lam
cf1adfbe20
Merge pull request #6673 from leoetlino/network
...
IOS: Network fixes
2018-04-28 00:47:18 +02:00
Léo Lam
9c63bae19a
Merge pull request #6687 from spycrab/qt_graphics_caps
...
Qt/GraphicsWindow: Disable unsupported options
2018-04-28 00:35:47 +02:00
spycrab
4caca2bd7a
Qt/GraphicsWindow: Disable unsupported options
2018-04-28 00:01:26 +02:00
Léo Lam
3b70da2da4
Merge pull request #6693 from spycrab/qt_missing_paths
...
Qt/PathPane: Add missing options
2018-04-27 23:49:13 +02:00
Léo Lam
393663a0a3
IOS/SO: Use an enum for result codes
2018-04-27 23:35:40 +02:00
Léo Lam
32d51f1699
IOS/SO: Re-implement GetInterfaceOpt(0x4003)
...
Use the newly added GetSystemDefaultInterfaceOrFallback() to return
actual information for the default interface, not just dummy
interface details.
This also fixes GetInterfaceOpt(0x4003) and gethostid() returning
inconsistent information. Prior to this change, GetInterfaceOpt(0x4003)
would return 10.0.1.30 and gethostid would give a totally unrelated IP.
2018-04-27 23:35:40 +02:00
Léo Lam
3ce271991b
IOS/SO: Implement GetSystemDefaultInterface for non-Windows
...
This fixes gethostid on non-Windows platforms.
Except on Android, where this is left unimplemented because Android
does not support getifaddrs.
2018-04-27 23:35:40 +02:00
Léo Lam
25b198cac8
IOS/SO: Move default interface code into a separate function
...
...so that the function can be more easily reused.
2018-04-27 23:35:40 +02:00
Léo Lam
e4276f2983
IOS/SO: Handle invalid GetInterfaceOpt requests
2018-04-27 23:35:40 +02:00
spycrab
9057a7d50a
Qt/GeckoCode: Fix multiple bugs
2018-04-27 22:58:57 +02:00
Anthony
2b9df8eedd
Merge pull request #6697 from spycrab/qt_sort
...
Qt/GameList: Sort by title by default
2018-04-27 19:30:48 +01:00
spycrab
eefa6db57c
Qt: Fix "Render To Main" not booting into fullscreen
2018-04-27 15:04:26 +02:00
Sepalani
e73906ee38
DolphinWx: Prevent a crash on Copy hex
2018-04-27 09:53:11 +04:00
spycrab
7749e18ecc
ConfigManager: Enable Auto-Updater by default
2018-04-26 15:12:15 +02:00
spycrab
ddcc3451b1
Qt/GameList: Sort by title by default
2018-04-26 11:50:18 +02:00
Pierre Bourdon
1b389398ad
Merge pull request #6696 from spycrab/updater_cpy
...
Updater: Use copy instead of move
2018-04-26 11:10:52 +02:00
spycrab
fb268bb04f
Updater: Use copy instead of move
2018-04-26 11:00:03 +02:00
spycrab
6e4c5d780d
Updater: Implement UAC support
2018-04-25 22:38:10 +02:00
spycrab
82390495ee
Qt/PathPane: Add missing options
2018-04-25 21:43:12 +02:00
Lioncash
4637579375
Common: Amend CommonTypes include within BitSet.h
...
We do includes relative to the root, rather than direct pathing.
2018-04-23 00:14:00 -04:00
Lioncash
d68f437e67
Common: Move BitSet helper functions into the Common namespace
2018-04-23 00:13:55 -04:00
Lioncash
c1c360d9b1
NandPaths: Make function parameters consistent
...
Also drops trailing underscores from said parameter names.
2018-04-22 23:49:20 -04:00
Lioncash
62242331d8
NandPaths: Remove unused header inclusions
2018-04-22 23:49:16 -04:00
Lioncash
2ce0f42c14
Common: Move BitSet into the Common namespace
...
This should be under the common namespace, considering where it's living
2018-04-22 23:43:07 -04:00
spycrab
40a61e7bf5
Qt: Deduplicate settings
2018-04-22 22:26:28 +02:00
container1234
41844c1cc5
Qt/Debugger: Change the row height to same as code/memory widget
2018-04-23 00:52:31 +09:00
container1234
32f6d3f62b
Qt: Use HostRead for float and double
2018-04-23 00:46:42 +09:00
Pierre Bourdon
1b63810e85
Merge pull request #6684 from spycrab/qt_wrong_thread
...
Qt/Settings: Emit EmulationStateChanged from the UI thread
2018-04-22 15:36:32 +02:00
spycrab
854fa0f093
Qt/Settings: Emit EmulationStateChanged from the UI thread
2018-04-22 13:04:48 +02:00
spycrab
519fa7529f
Qt/RenderWidget: Fix the render widget showing up when it shouldn't
2018-04-22 13:01:18 +02:00
spycrab
caa18edc79
Qt: Implement "Keep Window on top"
2018-04-22 11:15:39 +02:00
spycrab
c1dccdc0e5
Qt/RenderWidget: Fix getting painted over
2018-04-22 10:15:09 +02:00
spycrab
b059b3a646
Qt: Pause on focus loss
2018-04-22 10:15:09 +02:00
Tilka
c131b7c3b4
Merge pull request #6682 from spycrab/qt_minor_fixes
...
Qt: Minor fixes
2018-04-22 08:12:42 +01:00
aldelaro5
2f6879f0d9
Qt/log change the notice log color to lime
...
It's slightly easier to read than green
2018-04-21 21:22:16 -04:00
spycrab
7b35c8577a
Qt: Fix crashes when closing render window
2018-04-21 23:27:54 +02:00
spycrab
b2e5f1d85f
Qt/GeneralPane: Disable certain options while emulation is running
2018-04-21 22:09:46 +02:00
Léo Lam
9dcc8131df
Merge pull request #6331 from spycrab/deprecate_wx
...
[RFC] Qt/Wx: Turn Qt into the default interface
2018-04-21 18:36:10 +02:00
spycrab
694df74b0b
Qt/Wx: Turn Qt into the default interface
2018-04-21 17:54:00 +02:00
Tilka
7dc16efc9d
Merge pull request #6675 from spycrab/qt_recursive
...
Qt: Add "Search subdirectories" checkbox
2018-04-21 16:07:02 +01:00
spycrab
a4526772b9
Qt: Add "Search subdirectories" checkbox
2018-04-21 00:14:55 +02:00
Léo Lam
dabfecfd74
Merge pull request #6672 from spycrab/qt_dynamic
...
Qt: Make toolbar more dynamic
2018-04-20 23:41:51 +02:00
spycrab
264c995b0d
Qt: Make toolbar more dynamic
2018-04-20 22:44:49 +02:00
Léo Lam
2fcc633c28
Merge pull request #6649 from leoetlino/fs-tests
...
UnitTests: Add tests for the Wii filesystem
2018-04-20 21:34:06 +02:00
Tilka
4c8de9638a
Merge pull request #6674 from Tilka/jit64
...
Jit64: avoid an unnecessary load
2018-04-20 19:23:28 +01:00
Léo Lam
f9340424c8
Merge pull request #6669 from lioncash/thread-local
...
Core: Use thread_local directly
2018-04-20 18:11:32 +02:00
Léo Lam
1176ae6512
IOS/FS: Fix ReadDirectory file list copying
...
Each entry can take up to 13 bytes (including the terminating null
character) but should not be aligned to 13 bytes.
2018-04-20 00:02:32 +02:00
Léo Lam
4c47417a0e
IOS/FS: Fix ReadDir returning wrong number of entries
...
ReadDir should always write the actual number of entries in the
directory list (`min(max_count, number_of_entries_on_nand)`).
2018-04-20 00:02:32 +02:00
Connor Roth
3e4725f390
THis fixes issue #08 and #16 , the rumble test and slider
2018-04-19 17:48:55 -04:00
Tilka
a500347345
Merge pull request #6676 from spycrab/qt_fix_open
...
Qt: Fix "Open File" dialog opening twice
2018-04-19 22:13:38 +01:00
spycrab
cd390714c9
Qt: Fix "Open File" dialog opening twice
2018-04-19 23:10:23 +02:00
Tillmann Karras
1737f1bee8
Jit64: avoid an unnecessary load
2018-04-19 21:49:12 +01:00
spycrab
c09075209f
Qt: Implement Cheats Manager
2018-04-19 10:42:24 +02:00
Léo Lam
396204248d
Merge pull request #6667 from lioncash/si
...
SI: Remove unnecessary declarations of internally linked functions
2018-04-18 18:49:44 +02:00
Lioncash
e6405f7b2b
Core: Use thread_local directly
...
Both Android and OSX now support it, allowing us to remove the fallback code.
2018-04-17 19:03:24 -04:00
Mat M
df44aa7335
Merge pull request #6668 from JosJuice/remove-hybrid-wiimote
...
Remove Hybrid Wii Remote
2018-04-17 18:09:58 -04:00
JosJuice
2953cf201d
Remove Hybrid Wii Remote
...
It simply doesn't seem to work for anything useful, and nobody seems
to care about maintaining it.
2018-04-17 22:40:21 +02:00
Lioncash
d1d8300a46
SI: Remove unnecessary declarations of internally linked functions
...
These aren't dependent on calling order so we can just organize all of the statics together
instead of splitting them up over the file. This also allows us to organize a common spot for
file static variables as well.
2018-04-17 16:33:11 -04:00
Mat M
d230194464
Merge pull request #6657 from leoetlino/dedup
...
Qt/Debugger: Deduplicate memory view update code
2018-04-17 10:21:53 -04:00
Mat M
b19d77a3ff
Merge pull request #6660 from leoetlino/pause
...
Qt/Debugger: Don't pause when already paused
2018-04-17 10:20:30 -04:00
Mat M
e04592e6c4
Merge pull request #6663 from spycrab/qt_fix_columns
...
Qt: Fix columns not properly showing / hiding
2018-04-17 10:19:35 -04:00
Mat M
8bb0e0ee96
Merge pull request #6662 from Tilka/fix_warnings
...
Fix some warnings
2018-04-17 10:17:01 -04:00
spycrab
9ffc600e8d
Qt: Fix columns not properly showing / hiding
2018-04-17 15:27:51 +02:00
Tillmann Karras
4cfd900c67
Fix some warnings
2018-04-17 14:10:05 +01:00
Sepalani
04cfddca33
HLE_VarArgs: PowerPC::HostRead_F64 used
2018-04-17 16:25:43 +04:00
Léo Lam
69ad94997c
Qt/Debugger: Don't pause when already paused
...
Fixes a severe performance issue which would cause the UI to use tons
of CPU time and fail to update when scrolling with a breakpoint on PC.
2018-04-17 14:21:18 +02:00
Mat M
c78b3f6ab6
Merge pull request #4507 from sepalani/host_f
...
PowerPC: HostR/W float/double added
2018-04-17 08:02:07 -04:00
Pierre Bourdon
94f3e27ccd
Merge pull request #6659 from spycrab/qt_tabbed_config
...
Qt/SettingsWindow: Use tabs
2018-04-17 13:52:23 +02:00
Sepalani
048513183e
PowerPC: HostR/W float/double added
2018-04-17 08:29:47 +04:00
spycrab
4d4a018ccf
Qt/SettingsWindow: Use tabs
2018-04-16 23:15:45 +02:00
Lioncash
c23a998f9d
TraversalClient: Use u32 instead of enet_uint32
...
Lessens the dependence on the enet library (and we really don't need to rely on a third-party library for a 32-bit integer type)
2018-04-16 16:46:48 -04:00
Lioncash
f1e92a1eae
TraversalClient: Make TestPacket() private
...
This is only used by the private InterceptCallback()
2018-04-16 16:46:48 -04:00
Lioncash
1b8ad49d1e
TraversalClient: In-class initialize members where applicable
2018-04-16 16:46:48 -04:00
Lioncash
ca6a2970ea
TraversalClient: Make data externally read-only members private
...
These are only ever queried for state, not written. Therefore, prevent writing to the members
and make them private.
2018-04-16 16:46:44 -04:00
Léo Lam
6c87817d9c
Qt/Debugger: Deduplicate memory view update code
...
The structure and address calculation were identical.
Only the string generation was different.
2018-04-16 22:36:32 +02:00
Léo Lam
dfd6a228a6
Merge pull request #6654 from lioncash/log
...
Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0)
2018-04-16 20:38:22 +02:00
Léo Lam
d13fc1d2e9
Merge pull request #6655 from lioncash/common-libs
...
Common/CMakeLists: Link curl and VTune libraries in privately
2018-04-16 20:35:31 +02:00
JosJuice
0efbaebe17
Minor fixes to translatable strings
...
The usual deduplication between DolphinWX and DolphinQt2, plus the removal
of a now unused ubershader string and a fix for the Euphoria i18n comment.
2018-04-16 19:08:58 +02:00
Lioncash
236aed9fd1
Common/CMakeLists: Link curl and VTune libraries in privately
...
These are only used internally.
2018-04-16 12:38:24 -04:00
Lioncash
b0dc823472
Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0)
...
Enforces the termination of GENERIC_LOGs with semicolons.
2018-04-16 12:11:32 -04:00
Mat M
6224b9bd37
Merge pull request #6642 from leoetlino/stm
...
IOS/STM: Reset the event hook at the correct time
2018-04-16 09:04:12 -04:00
Lioncash
939c5671a9
Common/Config: Remove unused header inclusions
2018-04-15 22:35:00 -04:00
Lioncash
4836739663
Common/Config: Remove unnecessary function declaration
...
This prototype declaration is already provided by the Config.h header
2018-04-15 22:33:53 -04:00
Léo Lam
3355ddcfb3
FileSystem: Fix member destruction order
2018-04-15 14:29:27 +02:00
Mat M
eecdb51709
Merge pull request #6645 from JosJuice/tie-constexpr
...
x64Emitter: Don't assume that std::tie is constexpr
2018-04-15 03:11:31 -04:00
JosJuice
8a146d5210
x64Emitter: Don't assume that std::tie is constexpr
...
Using constexpr tie broke building with older GCC versions according to
https://forums.dolphin-emu.org/Thread-build-error-on-linux-mint-18-3
2018-04-15 08:30:01 +02:00
JosJuice
45923696ed
Merge pull request #6648 from leoetlino/master
...
WiimoteEmu: Fix turntable_button_names size
2018-04-15 08:25:44 +02:00
Mat M
615c0decb7
Merge pull request #6644 from leoetlino/uicommon-header
...
UICommon: Fix header
2018-04-14 20:25:22 -04:00
Léo Lam
0a481c0663
WiimoteEmu: Fix turntable_button_names size
...
Three elements were removed, but because of an oversight the array
size was not changed to match.
2018-04-14 23:52:10 +02:00
Léo Lam
783e4ec2fa
Merge pull request #6633 from aldelaro5/wx-debugger-icons
...
Wx: debugger icons
2018-04-14 23:29:57 +02:00
Léo Lam
371f807e67
Merge pull request #6615 from leoetlino/sysconf
...
SysConf: Migrate to new filesystem interface
2018-04-14 23:29:25 +02:00
Léo Lam
c73b05e200
Merge pull request #6647 from aldelaro5/qt-fix-mbp
...
Qt/Debugger: correctly set the MBP attributes when adding an address one
2018-04-14 23:22:57 +02:00
aldelaro5
0f8c51dfe4
Wx: Implement the new debugger icons
2018-04-14 17:22:04 -04:00
Léo Lam
ee955e37a9
Merge pull request #6564 from JosJuice/translate-certain-button-names
...
Translate certain button names but not all
2018-04-14 23:20:39 +02:00
Léo Lam
aafa8a10e1
Merge pull request #6643 from lioncash/oprofile
...
CMakeLists: Define an OProfile target and use it
2018-04-14 23:12:17 +02:00
aldelaro5
1401fbc71a
Qt/Debugger: correctly set the MBP attributes when adding
...
Not setting the end address causes the GetMecheck function to never think a matching address MBP exists.
2018-04-14 17:05:23 -04:00
Léo Lam
2f22c76db1
UICommon: Avoid including Xrandr.h
...
Xlib has really terrible headers that declare non-namespaced
macros and typedefs for common words.
Just wasted 10 minutes trying to figure out why a unit test failed
to build before I remembered it was Xrandr.h conflicting with our
enum class members again.
To fix the issue, this removes the Display* parameter from the
EnableScreensaver function (which was unused) so we don't have
to include Xrandr.h anymore.
2018-04-14 17:14:38 +02:00
Léo Lam
62269572e4
UICommon: Fix indirect includes
2018-04-14 16:42:54 +02:00
Léo Lam
e253d3d919
Merge pull request #6640 from spycrab/qt_scale_render
...
Qt: Fix render size not matching window size
2018-04-14 14:56:33 +02:00
Lioncash
b31281527a
CMakeLists: Define an OProfile target and use it
...
Allows us to bring includes and relevant libraries into scope by explicitly declaring linkage against the target
as opposed to using a variable. Also removes the dumping of OProfile includes into the top-level directory.
2018-04-13 19:35:17 -04:00
Léo Lam
8bae4b7e51
IOS/STM: Reset the event hook at the correct time
...
Just re-disassembled STM and found out I have made a mistake when
I changed STM stuff back in 2016.
I accidentally made STM reset the event hook on close when it should
have been done in the destructor (i.e. when IOS gets reset on console).
Verified in IDA that STM just `IOS_ResourceReply(request, IOS_OK)`
without ever resetting the hook.
2018-04-13 23:34:35 +02:00
Léo Lam
b1bbd8a50e
Merge pull request #6625 from lioncash/evdev-udev
...
InputCommon/CMakeLists: Include evdev and udev includes on a by-target basis
2018-04-13 20:50:31 +02:00
Léo Lam
52905a5fae
Merge pull request #6627 from sepalani/map-strip
...
PPCSymbolDB: Do not truncate fixed size symbols
2018-04-13 20:48:28 +02:00
spycrab
a12d4996ed
Qt: Use new debugger icons
2018-04-13 20:40:41 +02:00
spycrab
8536e31136
Qt: Fix render size not matching window size
2018-04-13 20:12:13 +02:00
Lioncash
b256f873ca
CMakeLists: Link in zlib privately where applicable
...
Also, use the target name introduced via find_package(ZLIB) instead
of hardcoding the 'z' name in the link libraries.
2018-04-13 08:29:46 -04:00
JosJuice
7ed28297b2
ControllerEmu: Use enum instead of bool for translatability
2018-04-13 13:04:26 +02:00
JosJuice
3f13dbe087
Translate certain button names but not all
...
Some button names should be translated, for instance Up, Left and such.
At the same time, some other button names shouldn't be translated,
for reasons that might be less obvious. In 0146456af
, I removed the
_trans markers for button names that never need to be translated
(such as A and B), but that isn't actually enough to ensure that
DolphinWX won't try to translate them anyway. This commit adds a bool
that explicitly tells the GUI whether a button name should be translated.
Otherwise we'll have problems like the GUI treating the button name "B"
(which isn't supposed to be translated) as matching the translatable
string "B" (being an abbreviation of "bytes"), meaning that the button
"B" will be labeled "o" when running Dolphin in French (after
translations get pulled from Transifex the next time).
By the way, while it turned out that DolphinWX translated all button
names, it also turned out that DolphinQt2 translated *no* button names.
Go figure. This commit makes them consistent with each other.
2018-04-13 13:04:26 +02:00
JosJuice
e604641b12
Remove leftovers of projection hack support
2018-04-13 12:52:42 +02:00
Markus Wick
71dd2d9d4c
Merge pull request #6632 from lioncash/fp
...
Interpreter: Don't use a union to type-pun between integral and FP types
2018-04-13 11:12:01 +02:00
Lioncash
a36bf438cd
Interpreter_FloatingPoint: Handle QNaNs properly in frsp
...
Essentially the same behavior as the SNaN path, minus the conditional result and setting of the VXSNAN FPSCR bit.
2018-04-12 19:47:10 -04:00
Lioncash
965b963a6f
Interpreter_FloatingPoint: Handle SNaNs properly in frsp
...
If FPSCR[VE] is set, a result isn't supposed to be written to the destination,
just the FPSCR[VXSNAN] bit gets set, and FPSCR[FR] and FPSCR[FI] get set to zero.
If FPSCR[VE] isn't set, then we do write out a result, however, the FPSCR[FPRF]
field is updated to signify a QNaN (yes, a QNaN, the FPRF field doesn't have
a bit configuration for SNaNs).
2018-04-12 19:47:06 -04:00
Lioncash
e28d063539
x64Emitter: Make the Align* functions return a non-const data pointer
...
There's no real requirement to make this const, and this should also
be decided by the calling code, considering we had places that would
simply cast away the const and carry on.
2018-04-12 19:46:55 -04:00
Lioncash
ab25eb6449
Interpreter_LoadStorePaired: Don't use a union to type-pun between integral and FP types
2018-04-12 19:44:31 -04:00
Lioncash
7a3158a693
Interpreter_FPUtils: Don't use a union to type-pun between integral and FP types
...
The previous code invokes undefined behavior. memcpy will optimize away
to the relevant loads and stores while maintaining well-defined
behavior.
2018-04-12 19:44:31 -04:00
Tilka
bbd1bb8eaa
Merge pull request #6636 from phire/fix_autoformatting
...
Fix change in comment meaning by autoformat.
2018-04-12 22:52:06 +01:00
Scott Mansell
0e6d01220a
Fix change in comment meaning by autoformat.
2018-04-13 09:20:27 +12:00
Tilka
27515f4c9b
Merge pull request #6626 from lioncash/dcbz_l-disasm
...
GekkoDisassembler: Fix disassembly of dcbz_l
2018-04-12 22:18:56 +01:00
Léo Lam
a287bbc3bd
Move SysConf to Core
...
It's not common code that could be reused for, say, Citra;
it's absolutely specific to Wii emulation and only used by the Dolphin
core, so let's move it there.
Another reason for doing this is to avoid having Common depend on Core.
2018-04-12 22:16:37 +02:00
Léo Lam
0856d4a68a
SysConf: Migrate to new filesystem interface
...
It was discovered that some titles rely on filesystem metadata to work
properly. Currently, in master they either simply won't find their
save files (for example Bolt) or will complain about the Wii system
memory being corrupted (on first use or every time depending on
the title).
In order to even be able to keep track of file metadata, we first need
to eliminate all direct accesses to the NAND and make all kinds of
operations go through the filesystem code added in PR 6421.
This commit starts the migration process by making SysConf use
the new FS interface.
2018-04-12 22:16:37 +02:00
Léo Lam
3744a6d3f5
FileSystem: Add some more wrappers for convenience
2018-04-12 22:16:37 +02:00
Léo Lam
95aae11164
IOS: Do not manually close devices in destructor
...
This used to be necessary for properly cleaning up the FS state because
the old FS implementation used static state and only performed cleanup
in the close function, not in the destructor.
Now that the static state is gone, we do not need to close devices
manually anymore.
2018-04-12 22:16:10 +02:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Sepalani
7d36165489
PPCSymbolDB: Do not truncate fixed size symbols
...
Fix comparison warning
2018-04-10 21:50:33 +04:00
Sepalani
9b8866ba78
PPCSymbolDB: Replace alert with LOG message
2018-04-10 21:49:47 +04:00
Lioncash
1c17329e2f
GekkoDisassembler: Fix disassembly of dcbz_l
...
Previously this would fall through and disassemble as a generic "ps_[number]" junk instruction.
2018-04-10 11:22:01 -04:00
Lioncash
73ebc190fa
InputCommon/CMakeLists: Link evdev and udev in privately
...
These libraries aren't directly used outside of InputCommon
2018-04-10 09:59:55 -04:00
Lioncash
d63d0b5069
InputCommon/CMakeLists: Include evdev and udev includes on a by-target basis
...
Avoids including the evdev/udev includes in the top-level directory
2018-04-10 09:59:51 -04:00
Markus Wick
0bfeb37a1f
Merge pull request #6604 from lioncash/dcbz_l
...
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
2018-04-09 23:04:09 +02:00
JosJuice
a66d56aece
Use configured locale in UICommon::FormatSize
...
StringFromFormat always uses the C locale, so we can't use it if we want
the decimal separator to be locale aware, but we can use a stringstream.
2018-04-09 19:14:15 +02:00
JosJuice
0dca432836
Remove old code for using default locale
...
This isn't needed anymore now that the global C++ locale isn't
set to the classic locale.
2018-04-09 19:14:15 +02:00
JosJuice
13d060491c
DolphinQt2: Set locale
...
We want things like number formatting to be done the way the user expects.
2018-04-09 19:14:14 +02:00
JosJuice
72040600d7
Set locale to "en_GB" if "en" is configured
2018-04-09 19:14:14 +02:00
JosJuice
9417fc6a3a
DolphinWX: Set C++ locale
...
After 3a83ebc
, the Show System Clock feature started using the
unfortunate combination of MM/DD/YY dates (rare outside of the US)
and 24-hour time (rare in the US) regardless of the user's locale
settings. This commit makes it use the configured locale again.
I've noticed one minor difference in behavior between now and
before 3a83ebc: The new way of setting the C/C++ locale seems to
treat "en" as "en-US", but the wx way of setting the C locale
treated it as "en-GB" (at least on Windows).
2018-04-09 19:14:14 +02:00
JosJuice
7aaaf44229
Merge pull request #6611 from leoetlino/remove-workaround
...
Boot_WiiWAD: Remove a timing issue workaround
2018-04-09 15:46:39 +02:00
Léo Lam
67f8e6e60a
Merge pull request #6620 from lioncash/dvd
...
DVDInterface: Deduplicate code in UpdateInterrupts()
2018-04-09 12:52:38 +02:00
Léo Lam
cb88e1256f
Merge pull request #6617 from lioncash/ppcanalyst
...
PPCAnalyst: Minor cleanup
2018-04-09 12:48:16 +02:00
Léo Lam
783cbef638
Merge pull request #6618 from lioncash/symboldb
...
PPCSymbolDB: Minor cleanup
2018-04-09 12:46:28 +02:00
Lioncash
1b3dae918a
StreamADPCM: Turn the ADPCM decoder into a class
...
Migrates the state to be instance-based as opposed to being a flat
namespace. This keeps behavior localized to its own instantiable unit
(and forces uses of the class to also be localized, lest they cart around
an instance all over the place).
2018-04-09 03:49:18 -04:00
Lioncash
a8088b7365
ProcessorInterface: Remove prefixed underscores from parameters
...
These are reserved by the implementation for any use.
2018-04-09 03:21:59 -04:00
Lioncash
419ed1b46a
DVDInterface: Deduplicate code in UpdateInterrupts()
2018-04-09 03:18:51 -04:00
Lioncash
a0f943178b
Profiler: Move BlockStat and ProfileStats structures into the Profiler namespace
...
These should be part of the namespaced API and not be sitting in the
global namespace.
2018-04-08 22:29:48 -04:00
Lioncash
0461709c8d
PPCSymbolDB: Use auto for iterators where applicable
2018-04-08 22:03:11 -04:00
Lioncash
b44eb90ee4
PPCSymbolDB: Default destructor and pass to member variables in the constructor initializer-list
2018-04-08 21:56:24 -04:00
Lioncash
d6d17eea60
PPCSymbolDB: Remove unused function pointer typedef
2018-04-08 21:54:50 -04:00
Lioncash
9c5115a627
PPCAnalyst: Simplify boolean assignments in SetInstructionStats()
...
Ternaries here aren't necessary if all we're checking against is if
something is non-zero
2018-04-08 21:42:43 -04:00
Lioncash
f2b2f5b4c7
PPCAnalyst: Make ReorderType an enum class
...
Makes the values strongly typed and doesn't dump them into the class
itself.
2018-04-08 21:38:19 -04:00
Lioncash
5e5a56bd9b
PPCAnalyst: Remove unnecessary includes from header
2018-04-08 21:34:12 -04:00
Lioncash
4bd3b28823
PPCAnalyst: in-class initialize PPCAnalyzer's members
...
Eliminates the need to assign in the constructor initializer list.
2018-04-08 21:32:15 -04:00
Lioncash
433a56636b
PPCAnalyst: Move public interface above private interface
2018-04-08 21:31:19 -04:00
Léo Lam
8894b902df
Boot_WiiWAD: Remove a timing issue workaround
...
This was necessary to work around a FS timing issue which caused small
writes to take much longer than they should.
Now that we emulate timings for the FS module including its file cache,
we don't need to maintain this workaround anymore.
2018-04-08 11:23:18 +02:00
Léo Lam
9dbc760bb7
Merge pull request #6606 from lioncash/bochs
...
CMakeLists: Link bochs in privately where applicable
2018-04-08 11:08:12 +02:00
Lioncash
f1be7cd4a0
CMakeLists: Link bochs in privately where applicable
...
Everything that links in core doesn't need to see anything related to bochs, because it's only used internally.
Anything else that relies on bochs should be linking it in explicitly.
2018-04-08 04:59:58 -04:00
Léo Lam
0a290f5d11
Merge pull request #6607 from lioncash/ppc
...
PPCDebugInterface: Remove redundant HostRead_U32() call in Disassemble()
2018-04-08 10:25:43 +02:00
Léo Lam
2a535d5a55
Merge pull request #6608 from lioncash/gekko
...
Gekko: In-class initialize members where applicable
2018-04-08 10:23:42 +02:00
Léo Lam
219728dbd4
Merge pull request #6609 from lioncash/ufpr
...
Gekko: Remove unused UFPR union
2018-04-08 10:22:43 +02:00
Lioncash
88a80f118c
Common/Swap: Amend BigEndianValue's operator= to return a reference to the object rather than returning void
...
The general convention is to return a reference to the object that was
acted on, otherwise you can get into situations with errors because the
type wasn't being propagated properly
2018-04-08 01:22:18 -04:00
Lioncash
5d1349f9c7
Gekko: Remove unused UFPR union
...
Using this in its current form would invoke undefined behavior, as it's
using a union to type pun between data types. It's also, well, unused,
so we don't need to keep it around.
2018-04-07 22:30:26 -04:00
Lioncash
d5555b49e9
Gekko: In-class initialize members where applicable
...
Allows defaulting the default constructor. Also moves assignment to
initializer lists where applicable as well.
2018-04-07 22:26:24 -04:00
Lioncash
3e50b0e320
PPCDebugInterface: Remove redundant HostRead_U32() call in Disassemble()
...
We already read the necessary information with the
HostRead_Instruction() call. Internally, it calls HostRead_U32() as
well, so there's no difference in behavior.
2018-04-07 22:20:59 -04:00
Léo Lam
f4a2ad3c88
IOS/FS: Emulate read/write/close/seek timing
...
Also bumps up the state version.
2018-04-07 23:35:28 +02:00
Léo Lam
42983c0bd3
IOS/FS: Emulate superblock write timing
2018-04-07 23:35:28 +02:00
Léo Lam
b74577ff43
IOS/FS: Emulate GetAttr() timing
2018-04-07 23:35:28 +02:00
Léo Lam
896d875187
IOS/FS: Emulate Open() timing
2018-04-07 23:35:28 +02:00
Léo Lam
32b1409cbd
IOS/FS: Use hardware tested minimum reply time
...
...instead of an arbitrary guess.
2018-04-07 23:35:28 +02:00
Léo Lam
7dff069659
Merge pull request #6605 from spycrab/gc_fix_rumble
...
[RFC] Core/GC: Fix rumble for "Luigi's Mansion"
2018-04-07 23:23:30 +02:00
spycrab
eed066e8a7
Core/GC: Fix rumble for "Luigi's Mansion"
2018-04-07 22:13:01 +02:00
Lioncash
181539e049
Interpreter_LoadStore: Generate a program exception if dcbz_l is executed when HID2[LCE] is zero
...
If the locked cache isn't enabled, dcbz_l is illegal to execute
(locked cache is off, locked cache instructions don't work, makes sense)
This makes exception handling more accurate. It was previously possible to hit the DSI exception
handler when HID2[LCE] is set to zero, which isn't correct.
With this change we no longer hit the DSI handler, however we still have a lingering issue elsewhere
likely to do with exception precedence, we seem to hit the Floating Point exception handler instead
in some cases. This isn't due to the instruction itself directly however, so this is just another bug
to fix elsewhere.
2018-04-06 23:53:44 -04:00
Anthony
9e2806c181
[AVIDump] fix compilation issues on Linux
2018-04-06 19:53:10 -07:00
Léo Lam
a957bd1ecc
Merge pull request #6421 from leoetlino/fs-interface
...
IOS: Refactor the filesystem code
2018-04-06 12:17:09 +02:00
Lioncash
3e946d87e4
DolphinWX/DolphinQt2 CMakeLists: Use cmake -E instead of mkdir -p for creating language directories
...
CMake already has this functionality built-in. This lessens depending on the host system environment
and is more cross-platform friendly (which is always nice from a build-system point of view).
2018-04-05 12:49:33 -04:00
Léo Lam
a3bdb5d85e
Merge pull request #6598 from lioncash/target
...
DolphinQt2/CMakeLists: Use the target_* equivalents of add_definitions and include_directories
2018-04-05 17:53:24 +02:00
Léo Lam
4cd5ef76ad
Merge pull request #6537 from spycrab/qt_quick_assign
...
Qt/Mapping: Implement "Iterative Input"
2018-04-05 17:44:30 +02:00
Lioncash
839fc7e749
DolphinQt2/MainWindow: Resolve a memory leak on systems with X11
...
In the case we had X11 libs available, we'd allocate an XRRConfiguration instance and pass it
to the GraphicsWindow instance, but it would never actually be freed.
2018-04-05 09:07:08 -04:00
Lioncash
9c27c7eda8
DolphinQt2/CMakeLists: Use the target_* equivalents of add_definitions and include_directories
...
add_definitions and include_directories don't operate on a by-target basis, they act on a
by-directory basis (i.e. if we defined two targets, A and B, in this CMakeLists file, add_definitions
would add the definitions to the COMPILE_DEFINITIONS directory property which both A and B would
implicitly use).
The same idea applies to include_directories, only it appends to the INCLUDE_DIRECTORIES directory
property.
Instead, specify these on the target to keep scope as narrow as possible.
2018-04-05 07:52:25 -04:00
Léo Lam
d0b7c013a1
Merge pull request #6593 from lioncash/headless
...
DolphinNoGUI/CMakeLists: Remove the use of SRCS and LIBS variables
2018-04-05 10:07:31 +02:00
Léo Lam
39cb22ddc9
Merge pull request #6594 from lioncash/qt
...
DolphinQt2/CMakeLists: Specify Qt libraries via COMPONENTS in the find_package call
2018-04-05 10:03:41 +02:00
Markus Wick
a9cd67125c
Merge pull request #6597 from lioncash/fp-load-store
...
Interpreter_LoadStore: Generate alignment exceptions if an FP load/store instruction's effective address is not word aligned
2018-04-05 09:55:49 +02:00
Lioncash
912c9490c0
Interpreter_LoadStore: Generate alignment exceptions if an FP load/store instruction's effective address is not word aligned
...
This is one of the conditions for an alignment exception documented in
the 750CL architecture reference manual in section 4.5.6, which also
applies to the Gekko microprocessor.
2018-04-05 00:30:53 -04:00
Lioncash
980f1641b5
Interpreter_LoadStore: Generate alignment exceptions if dcbz or dcbz_l are executed with the data cache disabled
...
This is an exception condition documented within section 4.5.6 in the
architecture reference manual for the PPC 750CL, which also applies to
the Gekko microprocessor.
Also moves dcbz_l's implementation out of Interpreter_Paired and beside
dcbz where it belongs.
2018-04-04 18:44:17 -04:00
spycrab
e0ba2a4aeb
Qt: Implement "Iterative Input"
2018-04-04 21:51:51 +02:00
Lioncash
fb929ab8e5
DolphinQt2/CMakeLists: Specify Qt modules via COMPONENTS in the find_package call
...
Eliminates the need to find the individual modules separately
2018-04-04 15:05:20 -04:00
Lioncash
6f694e435c
DolphinNoGUI/CMakeLists: Remove the use of SRCS and LIBS variables
...
Instead, operate on the target directly. This removes the last usages of the
SRCS and LIBS variables.
2018-04-04 11:42:57 -04:00
Léo Lam
9be505fde2
Merge pull request #6473 from spycrab/qt_dbg_memory
...
Qt/Debugger: Implement "Memory" widget
2018-04-04 16:58:04 +02:00
Léo Lam
4d5adf3dfa
Merge pull request #6588 from lioncash/cmake
...
DolphinWX/DolphinQt2 CMakeLists: Remove use of LIBS and SRCS variables
2018-04-04 16:57:01 +02:00
Lioncash
5e4446c313
DolphinQt2/CMakeLists: Remove usages of LIBS and SRCS variables
...
Instead, operate on the target itself. Also removes the variable
representing the name of the target. We can just refer to this directly
2018-04-04 09:09:45 -04:00
spycrab
95ae4b34d9
Qt/Debugger: Implement "Memory" widget
2018-04-04 13:43:30 +02:00
Markus Wick
c6d0d9a01f
Merge pull request #6578 from JosJuice/remove-projection-hacks
...
Remove support for projection hacks
2018-04-04 09:10:32 +02:00
Lioncash
3ea0a37d72
Interpreter_LoadStore: Generate alignment exceptions if lmw, lswi, lswx, stmw, stswi, or stswx is executed when the MSR[LE] bit is set
...
Improves exception accuracy regarding an admittedly very unlikely
scenario.
2018-04-03 20:47:40 -04:00
Lioncash
74aff4d9ef
HiresTexture: Correct texture hashes
...
Fixes a regression introduced in 2da8d98b2f
2018-04-03 12:42:05 -04:00
Lioncash
516b46845d
DolphinWX/CMakeLists: Remove usages of the LIBS and SRCS variables
...
Instead, operated on the target itself.
2018-04-03 08:04:29 -04:00
Markus Wick
1e0f72f2da
Merge pull request #6585 from lioncash/exception
...
Interpreter_LoadStore: Handle alignment exceptions in lmw, lwarx, stmw, and stwcx + fixes for eciwx and ecowx
2018-04-03 09:52:36 +02:00
Léo Lam
91f3650fa5
Merge pull request #6586 from lioncash/video-backends
...
CMakeLists: Migrate video backends off the add_dolphin_library macro and remove said macro
2018-04-02 17:10:52 +02:00
Stenzek
9924434cdf
Merge pull request #6573 from stenzek/bad-shader-uid-cache
...
ShaderCache: Improve shader UID cache file reliability
2018-04-03 01:00:09 +10:00
Lioncash
de0ed1a5fb
Interpreter_LoadStore: Update the DAR if a DSI exception occurs in eciwx and ecowx
...
Also once a DSI exception occurs, execution is supposed to leave the
instruction immediately. It doesn't finish execution.
2018-04-02 08:34:32 -04:00
Lioncash
a013638dcb
Interpreter_LoadStore: Properly update the DAR whenever an alignment exception occurs within eciwx and ecowx
...
These should be updating the DAR when an alignment exception occurs,
just like every other instruction that can cause an alignment exception.
2018-04-02 08:34:32 -04:00
Lioncash
c1b78106e7
Interpreter_LoadStore: Flag alignment exceptions on misaligned addresses in lwarx, lmw, stmw, and stwcx
...
The effective address given to these instructions must be word (4 byte) aligned,
and if the address is not aligned like that, then an alignment exception
gets triggered.
We currently don't update the DSISR in this case properly, since we
didn't really handle alignment exceptions outside of ecowx and eciwx,
and even then the handling of it isn't really that great, considering
the DAR isn't updated with the address that caused the exception to
occur.
The DSISR will eventually be amended to be properly updated.
2018-04-02 08:34:26 -04:00
Lioncash
b184923540
Vulkan/CMakeLists: Migrate off add_dolphin_library
...
Finishes the migration work started in 3a4c3bbe01
2018-04-02 08:29:37 -04:00
Lioncash
8b43a31855
Software/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:24:40 -04:00
Lioncash
a3c53ff754
OGL/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:22:39 -04:00
Lioncash
d4f8502ad1
Null/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:17:00 -04:00
Lioncash
3854e2bcca
D3D/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-04-02 08:15:22 -04:00
Markus Wick
2449be7f0c
Merge pull request #6571 from lioncash/rotate
...
CommonFuncs: Generify rotation functions and move them to BitUtils.h
2018-04-02 12:18:22 +02:00
Markus Wick
dea30e08bf
Merge pull request #6576 from lioncash/iconv
...
CMakeLists: Remove iconv from the LIBS variable
2018-04-02 11:07:19 +02:00
Léo Lam
80525cfd4e
Merge pull request #6584 from lioncash/async-init
...
AsyncRequests: In-class initialize class members
2018-04-02 10:37:07 +02:00
Lioncash
672665dec0
AsyncRequests: In-class initialize class members
...
Prior to this change, it's possible for m_wake_me_up_again to be used
while it's in an uninitialized state from the exposed API.
e.g.
- Using SetEnable after construction would perform an uninitialized read.
- Using PushEvent would perform an uninitialized read by way of operator |=.
internally, an uninitialized read can happen if PullEventsInternal() is
executed before other functions.
Just to avoid the whole possibility of performing uninitialized reads,
we just give the class member a default value of false.
2018-04-01 19:06:43 -04:00
Lioncash
fd9eab73fb
CPUDetect: Make CPUVendor enum an enum class
...
Avoids dumping the enum contents into the global namespace.
2018-04-01 17:47:50 -04:00
Léo Lam
bf8ffe5bfb
Merge pull request #6582 from lioncash/const
...
Jit64/JitRegCache: Make member functions const qualified where applicable
2018-04-01 23:32:58 +02:00
Léo Lam
7d561c7e0e
Merge pull request #6579 from lioncash/socket
...
IOS/Socket: Minor changes to WiiSocket
2018-04-01 23:31:47 +02:00
Lioncash
0f6c3c7b35
Jit64/JitRegCache: Make member functions const qualified where applicable
...
None of these member functions modify class state.
Also makes the parameter name for ScoreRegister's implementation
consistent with its declaration.
2018-04-01 16:53:00 -04:00
JosJuice
c6931ee5b8
Merge pull request #6577 from lioncash/memcard
...
EXI_DeviceMemoryCard: Get rid of magic number in SetCS()
2018-04-01 22:08:36 +02:00
JosJuice
621e1758fb
Merge pull request #6581 from lioncash/const
...
DSPJitRegCache: Make FindFreeReg() a const member function
2018-04-01 22:05:48 +02:00
Lioncash
6cfa9fda6b
DSPJitRegCache: Make FindFreeReg() a const member function
...
This member function doesn't modify class state.
2018-04-01 16:01:25 -04:00
Lioncash
fe9d989765
DSPJitRegCache: Remove unnecessary casts in FlushRegs()
...
We can just use the proper printf specifiers instead.
2018-04-01 15:49:21 -04:00
JosJuice
91732e2baf
Remove support for projection hacks
...
This isn't really useful for anything anymore as far as I know.
2018-04-01 21:41:18 +02:00
Lioncash
ad17d9a979
IOS/Socket: Delete WiiSocket's copy constructor
...
If the copy assignment operator is deleted, then the copy constructor
should be deleted as well, otherwise it's a hole in the API where copies
can be made (and if this were an intended case, it should be
documented).
So we delete the copy constructor and explicitly default the move
assignment and move constructor to signify this is intended to be a
move-only type.
2018-04-01 15:38:37 -04:00
Lioncash
ad575a1556
IOS/Socket: Place WiiSocket's private interface below the public interface
...
In the rest of the codebase we try to position the private interface
below the public interface (unless it's otherwise not possible).
2018-04-01 15:38:33 -04:00
Lioncash
abb33637a3
IOS/Socket: In-class initialize WiiSocket members
2018-04-01 15:27:58 -04:00
Lioncash
8fbd6e2a87
EXI_DeviceMemoryCard: Get rid of magic number in SetCS()
...
Keeps the code consistent with other usages of the same constant
2018-04-01 15:21:20 -04:00
Mat M
d8dd7b9e66
Merge pull request #6533 from spycrab/qt_desc_box
...
Qt/GraphicsWindow: Decrease description box size
2018-04-01 14:06:50 -04:00
Lioncash
8db4ab7dd6
CMakeLists: Remove iconv from the LIBS variable
...
Adjusts Common to use the ICONV_LIBRARIES variable directly and doesn't
append it to the LIBS variable.
After this, there's only one remaining usage where libraries are added
to the LIBS variable, after which it can be removed once the rest of
the targets are migrated off add_dolphin_library
2018-04-01 14:00:55 -04:00
Stenzek
2687c55cf6
Renderer: Only recreate frame dump texture if dimensions differ
...
This was a typo, been around for a while. == should be !=. May improve
frame dumping performnace slightly, but I doubt much if any.
2018-04-02 01:15:48 +10:00
Stenzek
8587403e0e
ShaderCache: Write currently-known UIDs to cache when re-creating file
...
This way, if we load a UID cache where the data was incomplete (e.g.
Dolphin crashed), we don't lose the existing UIDs which were previously
at the beginning.
2018-04-02 01:13:24 +10:00
Stenzek
36ea2f7a26
ShaderCache: Fix issue where shader cache wasn't recreated when invalid
2018-04-02 01:02:20 +10:00
Léo Lam
aaf9f4759f
Merge pull request #6570 from lioncash/lzo
...
CMakeLists: Remove lzo from the LIBS variable and make linkage private
2018-04-01 11:51:06 +02:00
Lioncash
a4420d6d94
Jit64: Make CheckMergedBranch() a const member function
...
This function doesn't modify class state.
2018-03-31 20:12:53 -04:00
Lioncash
c3483a1823
CommonFuncs: Generify rotation functions and move them to BitUtils.h
...
These are bit manipulation functions, so they belong within BitUtils.
This also gets rid of duplicated code and avoids relying on compiler
reserved names existing or not existing to determine whether or not we
define a set of functions.
Optimizers are smart enough in GCC and clang to transform the code to a
ROR or ROL instruction in the respective functions.
2018-03-31 18:09:45 -04:00
Lioncash
eee32c030b
CMakeLists: Remove lzo from the LIBS variable and make linkage private
...
The only place this library is needed (core) is already linked in the core target.
Also make the linkage private to create linkage failures if the dependency isn't
explicitly linked in elsewhere where it should be.
Reduces the dependency on the LIBS variable.
2018-03-31 15:01:05 -04:00
Mat M
76e1a5b892
Merge pull request #6569 from JosJuice/kill-emu-state
...
Remove EmuState
2018-03-31 14:04:30 -04:00
Mat M
a6f1c6e2e9
Merge pull request #6568 from leoetlino/dead
...
Remove dead code
2018-03-31 14:02:40 -04:00
Shawn Hoffman
6a0c15491b
Remove EmuState
2018-03-31 16:21:17 +02:00
Léo Lam
df0d1c8138
Merge pull request #6563 from JosJuice/fix-wii-banner-load
...
Fix loading Wii banners for games that initially were cached without banners
2018-03-31 14:59:09 +02:00
Léo Lam
c82da2b978
Remove dead code
...
Unused, old code that is intended to be removed should not be left in
comments -- that is what version control is for.
2018-03-31 14:56:27 +02:00
JosJuice
5847e213af
Clean up the end of GameFile::BannerChanged
2018-03-31 14:52:21 +02:00
Léo Lam
329622120f
Merge pull request #6567 from JosJuice/discio-enums-case
...
DiscIO: Don't use all uppercase for enum values
2018-03-31 14:37:26 +02:00
JosJuice
4387432436
DiscIO: Don't use all uppercase for enum values
...
Also removing some prefixes that we don't need now that we're
using enum classes instead of plain enums.
2018-03-31 14:11:32 +02:00
Léo Lam
4e547772da
IOS/FS: Make the NAND root path a parameter
...
Cleaner than having the backend figure out which NAND root to use.
2018-03-31 10:58:49 +02:00
Léo Lam
c56f31906c
IOS/FS: Remove some redundant log messages
...
The FS IPC code already logs all commands, so keeping the log messages
in the backend is redundant.
2018-03-31 10:58:49 +02:00
Léo Lam
2d8be6a77d
IOS/FS: Make it harder to forget closing FDs
...
Return a FileHandle which will automatically close the FD when
the handle goes out of scope. For the rare cases where this behaviour
is undesirable, the FD can be released from the handle.
2018-03-31 10:58:48 +02:00
Léo Lam
de15e09a4f
Log: Rename IOS_FILEIO to IOS_FS
...
Let's use the actual name of the system module.
Also, the FS code is not all about files.
2018-03-31 10:58:37 +02:00
Léo Lam
5a7b966b6d
IOS: Rewrite FS to use FileSystem
...
This is the large change in the branch.
This lets us use either the host filesystem or (in the future) a NAND
image exactly the same way, and make sure the IPC emulation code
behaves identically. Less duplicated code.
Note that "FileIO" and "FS" were merged, because it actually doesn't
make a lot of sense to split them: IOS handles requests for both
/dev/fs and files in the same resource manager, and as it turns out,
/dev/fs commands can *also* be sent to non /dev/fs file descriptors!
If we kept /dev/fs and files split, there would be no way to
emulate that correctly. I'm not aware of anything that does that (yet?)
but I think it's important to be correct.
2018-03-31 10:58:37 +02:00
Léo Lam
78478a651d
Boot: Move CreateVirtualFATFilesystem to Boot_WiiWAD
...
It has nothing to do in the filesystem code.
(It also smells like a workaround for some kind of timing issue.)
2018-03-31 10:58:37 +02:00
Léo Lam
fcfe4e2a26
IOS: Change GetFS() to return a FileSystem
...
Now that we have a proper filesystem interface, it makes more sense
to return it instead of the emulated IOS device (which isn't
really usable for any purpose other than emulated IPC).
2018-03-31 10:45:44 +02:00
Léo Lam
1eec459e30
IOS: Extract existing FS code into a host backend
...
Extract the existing FS code into a HostBackend implementing
the filesystem interface.
Compared to the original code, this uses less static state.
The open host files map is now a member variable
as it should have been. Filesystem handles are now also easier
to savestate. Some variable names and log messages were cleaned up.
Nothing else has been changed.
2018-03-31 10:45:44 +02:00
Léo Lam
f1dbb8952c
IOS: Introduce a new FileSystem interface
...
Add a new FileSystem class that can be used to perform operations
on the emulated Wii filesystem.
This will allow separating the IPC code (reading from and writing to
memory to handle IOS FS commands) and the actual filesystem code
in a much better way.
This also paves the way for implementing another filesystem backend
in the future -- NAND images for more complete emulation, including
filesystem metadata like permissions or file orders, which some games
and homebrew actually care about -- without needing to make any more
changes to the other parts of the codebase, in addition to making
filesystem behaviour tests easier to write.
2018-03-31 10:45:44 +02:00
Léo Lam
1bdfedf3c6
Common: Add a Result class
...
This adds a lightweight, easy to use std::variant wrapper intended to
be used as a return type for functions that can return either a result
or an error code.
2018-03-31 10:45:44 +02:00
Lioncash
e93159e54a
CMakeLists: Link in system framework libraries explicitly on macOS
...
Makes our libraries explicitly link in which libraries they need.
This makes our dependencies explicit and removes the reliance on the
LIBS variable to contain the libraries that they need.
2018-03-30 16:14:10 -04:00
Léo Lam
7833f1a931
Merge pull request #6558 from lioncash/input
...
InputCommon/CMakeLists: Link in ForceFeedback library explicitly on macOS
2018-03-30 14:05:36 +02:00
JosJuice
a7ba69e16a
Fix loading Wii banners for games that initially were cached without banners
...
Fixes https://bugs.dolphin-emu.org/issues/10969
2018-03-30 12:04:01 +02:00
Mat M
c3398c9e2c
Merge pull request #6559 from spycrab/qt_crashes
...
Qt/PatchesWidget: Fix segfault
2018-03-29 18:51:22 -04:00
Mat M
fc99b21080
Merge pull request #6560 from JosJuice/invalid-games-in-game-list
...
DolphinQt2: Don't show invalid games in game list
2018-03-29 18:49:38 -04:00
Mat M
65a1065cde
Merge pull request #6561 from JosJuice/uid-version-last-changed
...
Put a "last changed in PR" comment next to UID cache version
2018-03-29 18:48:12 -04:00
JosJuice
b065f86270
Translate the netplay chat info message about QoS
2018-03-29 22:44:23 +02:00
JosJuice
01ea10824d
Put a "last changed in PR" comment next to UID cache version
...
This will create a merge conflict if two PRs try to increment the
cache version at the same time, which makes it noticeable that the
PR that gets merged last needs to increment the cache version again.
We already use this for savestates and the game list cache.
2018-03-29 22:38:37 +02:00
JosJuice
ff2fe73ec9
DolphinQt2: Don't show invalid games in game list
...
Regression from 1f1dae3
.
This problem doesn't happen in DolphinWX as far as I know, but if
you've ran into the problem in DolphinQt2, it will carry over to
DolphinWX because of the shared game list cache.
2018-03-29 21:52:21 +02:00
spycrab
55d9df379a
Qt/PatchesWidget: Fix segfault
2018-03-29 21:33:36 +02:00
Lioncash
b8a4ab23dd
InputCommon/CMakeLists: Link in ForceFeedback library explicitly on macOS
...
Makes an implicit dependency explicit. Also makes the macOS libraries link privately
as they aren't used in the exposed interface.
2018-03-29 11:53:50 -04:00
Léo Lam
e4f2ff0f32
Merge pull request #6557 from spycrab/qt_log_font
...
Qt/LogWidget: Add "Debugger Font" option
2018-03-29 15:12:33 +02:00
spycrab
8cb497cab2
Qt/LogWidget: Add "Debugger Font" option
2018-03-29 03:02:34 +02:00
Lioncash
b818cc682c
VideoCommon/Vulkan: Explicitly link in xxhash
...
Lessens the dependency on the LIBS variable (and also makes the required
libraries explicit).
2018-03-28 17:03:16 -04:00
Léo Lam
03a6a9b240
Merge pull request #6546 from spycrab/updater_ui
...
Implement Updater UI
2018-03-28 20:04:32 +02:00
Léo Lam
21a2c0284d
Merge pull request #6544 from spycrab/qt_fix_general
...
GeneralPane: Fix settings resetting and improve code
2018-03-28 20:01:57 +02:00
spycrab
429dc54159
Updater: Implement UI
2018-03-28 17:59:22 +02:00
spycrab
f700fcae2e
HttpRequest: Add callback option
2018-03-28 17:33:34 +02:00
Lioncash
fd7ac0d4a3
VideoCommon/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-28 09:57:50 -04:00
Léo Lam
c28850045d
Merge pull request #6552 from lioncash/uicommon-cmake
...
UICommon/CMakeLists: Migrate off of add_dolphin_library
2018-03-28 12:33:24 +02:00
Lioncash
a2a18380a7
UICommon/CMakeLists: Migrate off of add_dolphin_library
...
Continues the migration work started in
3a4c3bbe01
2018-03-28 06:29:09 -04:00
Markus Wick
fc59ec6f13
Merge pull request #6547 from lioncash/dead
...
PixelShaderGen: Remove dead code in WriteColor()
2018-03-28 10:43:15 +02:00
JMC47
3cd9465f91
Fix JIT64 mtsmsr issue after PIE support again.
2018-03-28 04:16:41 -04:00
Léo Lam
10f198f3cf
Merge pull request #6551 from lioncash/qt-misc
...
DolphinQt: Remove a few unused variables
2018-03-28 07:50:44 +02:00
JosJuice
748ebf6891
Merge pull request #6550 from lioncash/qt
...
HacksWidget: Remove duplicate AddDescription() calls in AddDescriptions()
2018-03-28 07:33:04 +02:00
Lioncash
df4ca7f05e
SearchBar: Remove unused class variables
2018-03-27 22:47:02 -04:00
Lioncash
306d132232
MainWindow: Remove unused std::string variable in NetPlayHost()
2018-03-27 22:47:02 -04:00
Lioncash
833c030496
WiiPane: Remove unused variable in OnUSBWhitelistRemoveButton()
2018-03-27 22:47:01 -04:00
Lioncash
eb8a853d8e
Resources: Remove unused string in Init()
2018-03-27 22:47:01 -04:00
Lioncash
568490fdfb
MD5Dialog: Call .empty() instead of testing against an empty string
2018-03-27 22:47:01 -04:00
Lioncash
d3283a881f
MenuBar: Remove unnecessary c_str() call
...
Also uses the character overload for find_last_of
2018-03-27 22:47:01 -04:00
Lioncash
b637163704
CodeWidget: Remove unnecessary c_str() calls
2018-03-27 22:46:51 -04:00
Lioncash
4a1123f519
HacksWidget: Remove duplicate AddDescription() call in AddDescriptions()
2018-03-27 22:36:37 -04:00
Lioncash
aa42534fed
FilesystemWidget: Pass path QString by const reference instead of by value in ExtractDirectory()
...
Makes it consistent with the surrounding API.
Also corrects a typo in ExtractFile's parameter list.
2018-03-27 22:00:40 -04:00
Lioncash
fc531993a9
DiscExtractor: Pass partition by reference rather than by value in ExtractDirectory()
2018-03-27 21:49:42 -04:00
Pierre Bourdon
ac97f0463f
Merge pull request #6548 from lioncash/const
...
LinearDiskCache: Don't cast away const in Read()
2018-03-28 03:14:38 +02:00
Lioncash
008442898c
LinearDiskCache: Don't cast away const in Read()
...
We really shouldn't make the out pointer in the read function const and
then summarily cast it away. Also alters Write to be consistent with
casting.
2018-03-27 21:09:18 -04:00
Lioncash
f10198500e
PixelShaderGen: Invert conditional in WriteColor()
...
Puts the true condition body first instead of the false one for better
reading.
2018-03-27 18:53:17 -04:00
Lioncash
c9e0045881
PixelShaderGen: Remove dead code in WriteColor()
...
The outer conditional executes only whenever destination alpha is used.
2018-03-27 18:46:25 -04:00
Léo Lam
ea166a4812
Merge pull request #6543 from lioncash/cast
...
HiresTextures: Remove unnecessary pointer casts in GenBaseName() + minor associated cleanup
2018-03-27 21:45:56 +02:00
Lioncash
2da8d98b2f
HiresTextures: Use std::minmax or std::minmax_element where applicable in GenBaseName()
...
Minimizes repetition.
std::minmax_element can be used for the 256 * 2 case, as it's only performing byte comparisons
and thus, there will always be an element smaller than 0xffff, so it doesn't need to be included
in the set of compared values.
2018-03-27 15:39:05 -04:00
Lioncash
d5a1edba09
HiresTextures: Remove unnecessary pointer casts in GenBaseName()
...
swap16 has an overload that accepts a u8*, performing the same behavior
in a well-defined manner.
2018-03-27 15:19:02 -04:00
Pierre Bourdon
4ed0e10f41
Merge pull request #6541 from spycrab/updater_feedback
...
Updater: Provide basic user feedback
2018-03-27 20:43:36 +02:00
spycrab
7ce147f4d5
Updater: Provide basic user feedback
2018-03-27 20:32:26 +02:00
spycrab
11b15a688b
GeneralPane: Fix settings resetting and improve code
2018-03-27 20:27:03 +02:00
Stenzek
92e7830be9
Merge pull request #6540 from spycrab/gcpad_segfault
...
Core: Check for initialized GCPad before resetting rumble
2018-03-28 02:40:53 +10:00
Léo Lam
3c61ee5f7f
Merge pull request #6542 from lioncash/cast
...
BPStructs: Remove an unnecessary pointer cast in GetBPRegInfo
2018-03-27 18:12:56 +02:00
Léo Lam
98f62a3ecd
Merge pull request #6530 from spycrab/qt_hires_icon
...
Various icon improvements
2018-03-27 18:08:46 +02:00
Lioncash
9feb18866b
BPStructs: Remove an unnecessary pointer cast in GetBPRegInfo
...
swap32 has an overload that accepts a u8*, performing the same behavior
in a well-defined manner.
2018-03-27 12:04:16 -04:00
spycrab
4f63d7f204
Qt: Fix low-resolution icon
2018-03-27 17:32:45 +02:00
spycrab
016ef43b27
Core: Check for initialized GCPad before resetting rumble
2018-03-27 16:26:36 +02:00
Léo Lam
ceed6890df
Merge pull request #6526 from lioncash/emitter
...
x64Emitter: Minor cleanup and changes
2018-03-27 08:49:36 +02:00
Lioncash
476c71efc1
x64Emitter: Make eligible register and immediate functions constexpr
...
Pointer variants aren't eligible as expressions with reinterpret cast
within them cannot be constexpr.
2018-03-26 18:21:22 -04:00
Lioncash
8b072e1383
x64Emitter: Make remaining eligible functions in OpArg constexpr
2018-03-26 18:21:21 -04:00
Lioncash
964201f2d3
x64Emitter: Use std::tie in OpArg's operator==. Provide operator!= for symmetry
2018-03-26 18:21:21 -04:00
Lioncash
7f583b66cb
x64Emitter: Clean up constructors for OpArg
...
Default initializes members and moves initial assignments into the
initializer list.
2018-03-26 18:21:17 -04:00
Miikka Juomoja
7169be242f
StringUtil: Fix possible bad free
2018-03-26 23:48:13 +02:00
Léo Lam
793c6d25f4
Merge pull request #4532 from Neui/env-var-usr-cfg
...
Use $DOLPHIN_EMU_PATH as an alternative for the user directory
2018-03-26 23:41:27 +02:00
Léo Lam
b0e4e35cc5
Merge pull request #6478 from spycrab/qt_default_btns
...
Qt: Replace "OK" with "Close" buttons
2018-03-26 22:48:26 +02:00
Léo Lam
d3f432946f
Merge pull request #6514 from lioncash/inputcommon-cmake
...
InputCommon/CMakeLists: Migrate off add_dolphin_library
2018-03-26 21:25:27 +02:00
Léo Lam
c9b4e3959c
Merge pull request #6511 from leoetlino/qt
...
Qt: Minor fixes
2018-03-26 21:24:44 +02:00
Léo Lam
91f61a1be4
Merge pull request #6285 from JosJuice/qt-gametracker-more-thread
...
DolphinQt2: Perform more of GameTracker's work on a separate thread
2018-03-26 21:24:22 +02:00
Markus Wick
9b5726fc23
Merge pull request #6534 from lioncash/dspjit
...
DSPEmitter: Remove uses of the DSP JIT global in CompileCurrent()
2018-03-26 21:12:46 +02:00
Markus Wick
12b99313aa
Merge pull request #6536 from stenzek/glx-swap-interval
...
GLInterface: Use EXT_swap_control or MESA_swap_control over SGI
2018-03-26 21:11:13 +02:00
JosJuice
0a69b42d07
DolphinQt2: Perform more of GameTracker's work on a separate thread
...
This reduces the time from startup to the game list window showing up.
2018-03-26 20:08:06 +02:00
Léo Lam
b4e9bef25c
Merge pull request #6519 from spycrab/qt_rw_bg
...
Qt/RenderWidget: Draw background on pause
2018-03-26 19:04:53 +02:00
Léo Lam
2e1edb49b0
Merge pull request #6524 from lioncash/global
...
JitArm64/JitAsm: Remove usages of the JIT global
2018-03-26 18:59:05 +02:00
Léo Lam
674ab6a8ef
Merge pull request #6532 from lioncash/interp
...
Interpreter: Remove static state within SingleStepInner()
2018-03-26 18:50:26 +02:00
Stenzek
c82be53d5c
GLInterface: Use EXT_swap_control or MESA_swap_control over SGI
...
The SGI extension does not define calling SwapInterval with a parameter
of zero as valid. It was just lucky that drivers interpreted this as
vsync off. The EXT_swap_control extension defines zero as a valid value.
Mesa does not appear to support the EXT variant, so we fall back to
MESA_swap_control here, which also supports zero.
2018-03-26 22:09:22 +10:00
Lioncash
4a4538abbf
Interpreter_LoadStore: Amend variable naming
...
Amends variable names to follow our code style. Also makes code const correct where possible.
2018-03-26 07:47:50 -04:00
Léo Lam
97e4d3d56f
Merge pull request #6523 from lioncash/cast
...
Interpreter_LoadStore: Remove unnecessary casts
2018-03-26 12:47:09 +02:00
Léo Lam
eb489c0a5e
Merge pull request #6529 from lioncash/utils
...
DSPCodeUtil: Don't return data via an out parameter
2018-03-26 12:46:16 +02:00
Léo Lam
3272fda3ee
Merge pull request #6525 from lioncash/dead-code
...
Jit64/Jit_Integer: Remove dead code in arithXex()
2018-03-26 12:43:01 +02:00
Léo Lam
ccfdea696a
Merge pull request #6527 from lioncash/typedef
...
DSPTables: Remove opc_t typedef
2018-03-26 12:39:27 +02:00
Léo Lam
8e8603fcc9
Merge pull request #6528 from lioncash/enum-asm
...
DSPAssembler: Make error code enum an enum class
2018-03-26 12:38:06 +02:00
Léo Lam
ea5808759e
Merge pull request #6531 from lioncash/mmu-enum
...
MMU: Make TLBLookupResult and XCheckTLBFlag enum classes
2018-03-26 11:39:37 +02:00
spycrab
591c8837e2
Qt: Replace "OK" with "Close" buttons
2018-03-26 09:20:48 +02:00
spycrab
9f13048e1e
Qt/GraphicsWindow: Decrease description box size
2018-03-26 08:30:32 +02:00
Lioncash
1519e4dbb3
DSPEmitter: Remove uses of the DSP JIT global in CompileCurrent()
...
With this, the DSPEmitter itself no longer makes use of the DSP JIT global
2018-03-26 01:14:17 -04:00
Kekker-git
d40ae9f569
Fix indefinite rumble on emulation pause
2018-03-26 00:04:58 -04:00
Lioncash
8b29997ed1
Interpreter: Remove an unnecessary UReg_MSR& cast from SingleStepInner
...
This is technically undefined behavior, but regardless of that, it's not
even necessary since we can just make a temporary around the MSR value
and just discard it when done with it, since all we do is query the FP
bit value with it.
2018-03-25 21:36:39 -04:00
Lioncash
b0efcdc8ef
Interpreter: Get rid of static state within SingleStepInner()
...
Given how the hooking operates, we may not execute an instruction.
Instead of making the state a static local to the function, just make it
part of the lifecycle of the Interpreter class.
2018-03-25 21:30:00 -04:00
Lioncash
c4a597171c
MMU: Make XCheckTLBFlag an enum class
2018-03-25 19:51:47 -04:00
Lioncash
9967c24f5d
MMU: Make TLBLookupResult an enum class
2018-03-25 19:44:14 -04:00
Lioncash
0f25627614
DSPCodeUtil: Don't return data via an out parameter
...
We can just return directly in these cases.
2018-03-25 18:55:08 -04:00
Lioncash
e42db3594b
DSPAssembler: Make error code enum an enum class
...
Prevents the error codes from littering the surrounding scope.
2018-03-25 18:19:08 -04:00
Lioncash
8c421ffbb7
DSPTables: Remove opc_t typedef
...
This was only ever used by the DSP assembler, and even then it was
sparsely used. Get rid of it to be consistent with types in other
sections of the DSP code.
2018-03-25 17:53:23 -04:00
Lioncash
2861e8f868
x64Emitter: Clean up constructor and destructors of XEmitter
...
In-class initializes members, defaults the default constructor and
virtual destructor, and puts members in the initializer list.
2018-03-25 16:50:02 -04:00
Lioncash
7bd41a3b55
Jit64/Jit_Integer: Remove dead code in arithXex()
...
The conditional this code is within already checks whether d == b, so this
conditional will never be true.
2018-03-25 15:35:02 -04:00
Lioncash
efcdb3debb
JitArm64/JitAsm: Remove usages of the JIT global
...
With this, the entire ARM JIT makes no use of the JIT global whatsoever.
2018-03-25 15:23:49 -04:00
Lioncash
a45631c4ca
Interpreter_LoadStore: Remove unnecessary casts
...
These aren't necessary as the type being stored into a u32 are of the
same signedness and are smaller in data size, so there's no truncation
being performed.
2018-03-25 15:09:32 -04:00
Stenzek
2f1a7cbee1
Implement "Skip" ubershader mode
...
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.
This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
Léo Lam
5c83e18fbd
Merge pull request #6515 from lioncash/cast
...
Interpreter_FPUtils: Get rid of a pointer cast
2018-03-25 11:27:38 +02:00
Léo Lam
e9976c27c0
Merge pull request #6518 from lioncash/namespace
...
Interpreter: Don't dump the MathUtils namespace into scope in Interpreter_FloatingPoint and Interpreter_Paired
2018-03-25 11:24:24 +02:00
Lioncash
48e2e9a41d
CachedInterpreter: Use using aliases instead of typedef
2018-03-25 02:57:25 -04:00
Lioncash
9829083241
CachedInterpreter: Use an enum class for instruction type
2018-03-25 02:57:16 -04:00
Lioncash
89df65aa25
Interpreter_Integer: Correct precedence of overflow check in nego
...
The overflow check needs to occur before the condition register update
due to the fact that the summary overflow (SO) bit is used in the
updating of the condition register. If we set any overflow bits after
updating the CR, then we can potentially incorrectly report that an
overflow did not happen (in the case the SO bit wasn't set previously).
2018-03-24 20:48:05 -04:00
spycrab
3f1430587c
Qt/RenderWidget: Draw background on pause
2018-03-25 01:26:50 +01:00
Lioncash
96014e74a3
Interpreter_Paired: Don't dump the entire MathUtils namespace into scope
...
Functions from the namespace are only used four times within the entire
file.
2018-03-24 19:42:14 -04:00
Lioncash
46f61a48c7
Interpreter_FloatingPoint: Don't dump the entire MathUtils namespace into scope
...
Given functions from the MathUtils namespace are only used six times in
the whole file, dumping the namespace seems a little excessive.
2018-03-24 19:40:22 -04:00
Lioncash
27611d55ff
Interpreter_FPUtils: Get rid of a pointer cast
...
This is undefined behavior according to the standard. We can just use
the built in means of retrieving a quiet NaN.
2018-03-24 19:33:44 -04:00
Léo Lam
328ac424c0
Merge pull request #6517 from lioncash/ppctables
...
PPCTables: Namespace all exposed functions
2018-03-24 22:17:36 +01:00
Lioncash
8a7abd72b4
PPCTables: Remove prefixed underscores from parameter names
2018-03-24 16:46:49 -04:00
Lioncash
2381aeecc3
PPCTables: Namespace all exposed functions
...
It's somewhat inconsistent to have two straggler functions outside the
namespace.
2018-03-24 16:46:12 -04:00
Lioncash
397b3fb976
CPUCoreBase: Make the GetName() member function const qualified
...
This function should have no need to modify internal class state.
2018-03-24 16:17:39 -04:00
Lioncash
c738ddc4aa
CPUCoreBase: Default the virtual destructor
2018-03-24 16:09:19 -04:00
Léo Lam
5369d3c9f1
Merge pull request #6513 from lioncash/dead-code
...
Interpreter: Remove dead code
2018-03-24 20:09:25 +01:00
Lioncash
ef6e747a68
PowerPC: Remove commented out PanicAlert
2018-03-24 14:52:22 -04:00
Lioncash
3dc3b0caa5
Interpreter_LoadStore: Remove commented out code
...
Also removes long separation lines that aren't really necessary.
2018-03-24 14:49:18 -04:00
Lioncash
f9e0645b99
Interpreter_SystemRegisters: Remove commented out code
2018-03-24 14:45:46 -04:00
Lioncash
288b579c09
Interpreter_Integer: Remove commented out code in subfic
2018-03-24 14:43:25 -04:00
Lioncash
01308330d9
InputCommon/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-24 14:13:53 -04:00
Lioncash
680ceb7f43
DiscIO/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work started in 3a4c3bbe01
2018-03-24 13:54:06 -04:00
Léo Lam
2d0d4fee28
Qt: Fix controller window margin
...
Reduces wasted space and makes the whole window (barely) fit on my
laptop screen again. (Regression from the scroll wrap changes)
2018-03-24 18:45:10 +01:00
Léo Lam
bf05c74f6b
Qt: Fix GameCube config pane spacing
2018-03-24 18:18:17 +01:00
Léo Lam
752098de22
Qt: Fix search bar widget spacing
...
With setMargin(0), the widgets look awkwardly close to the window edges
2018-03-24 18:09:46 +01:00
Léo Lam
8d0c15bb97
Qt/Search: Simplify placeholder text
...
A search box is a common UI element. We don't need to explicitly tell
the user that they need to type a search term. Also,
Let's use the common "Search <items>..." placeholder text instead
and make the string shorter for localisation.
2018-03-24 18:02:17 +01:00
Léo Lam
f7c9d2fd4d
Qt: Show code pane by default in debug mode
...
Otherwise, it's confusing because the option seems to do nothing
especially if the user is used to the DolphinWX debugger.
2018-03-24 17:53:46 +01:00
spycrab
806990968d
Qt: Implement "Auto-Adjust Window Size"
2018-03-24 16:48:46 +01:00
Léo Lam
a838d13fd1
Merge pull request #6504 from Ebola16/OSD
...
Rename "On-Screen Messages" to "On-Screen Display Messages"
2018-03-24 09:59:14 +01:00
Léo Lam
305b3dc835
Merge pull request #6497 from spycrab/qt_file
...
Qt: Implement missing "File" menu items
2018-03-24 09:10:49 +01:00
Léo Lam
4c5efb0f3a
Merge pull request #6508 from lioncash/cmake-common
...
Common/CMakeLists: Migrate off add_dolphin_library
2018-03-24 09:08:20 +01:00
Léo Lam
37dbb2e181
Merge pull request #6509 from spycrab/qt_shader_gen
...
Qt: Show shader generation window
2018-03-24 09:03:16 +01:00
Markus Wick
3ab88742fd
Merge pull request #6492 from lioncash/nop
...
Jit_Integer: Make NOP check more flexible for ori and expand NOP checking to oris, xori, and xoris
2018-03-24 08:53:21 +01:00
spycrab
cb71b06afc
Qt: Show shader generation window
2018-03-24 03:02:47 +01:00
Mat M
5669841e83
Merge pull request #6505 from lioncash/arm
...
Arm64Emitter: Minor cleanup
2018-03-23 19:25:50 -04:00
Lioncash
f889cae8c4
Arm64Emitter: Satisfy unrelated linter issues that cropped up by modifying the cpp file
2018-03-23 19:17:44 -04:00
Lioncash
91cefe6c8a
Arm64Emitter: Make IsImmArithmetic, IsImmLogical, FPImm8ToFloat, and FPImm8FromFloat internally linked
...
These aren't used anywhere outside of the emitter. Centralizes them under an anonymous namespace.
2018-03-23 19:17:26 -04:00
Lioncash
2548ccda8e
Common/CMakeLists: Migrate off add_dolphin_library
...
Continues the migration work that was started in 3a4c3bbe01
2018-03-23 19:08:30 -04:00
spycrab
8ebb3a015e
Qt: Update analytics checkbox after initial prompt
2018-03-23 23:28:17 +01:00
spycrab
f3e6f0f2d4
Updater: Increase request timeout to 30s
2018-03-23 22:25:38 +01:00
Lioncash
b11c237c43
Arm64Emitter: Remove unnecessary V8_UINT64_C preprocessor macro
...
UINT64_C is provided via <cstdint>, so we can just use that instead.
2018-03-23 13:31:48 -04:00
Lioncash
03671a5534
Arm64Emitter: Remove duplicate IsPowerOf2 function
...
We can just use the generified version in MathUtil.
2018-03-23 13:31:44 -04:00
Ryan Meredith
976347c65d
Rename "On-Screen Messages" to "On-Screen Display Messages"
2018-03-23 12:29:03 -04:00
Pierre Bourdon
22d851d930
Merge pull request #6500 from spycrab/qt_respect_portable
...
Qt: Make QSettings use the user config directory (Make it respect portable.txt)
2018-03-23 17:25:28 +01:00
JosJuice
9c70036105
Merge pull request #6503 from lioncash/brace-warn
...
PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings
2018-03-23 15:29:39 +01:00
Lioncash
a52cc8d52b
PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings
2018-03-23 10:06:27 -04:00
Lioncash
2ab29a40eb
AbstractFramebuffer: Silence a -Wlogical-op-parentheses warning in ValidateConfig()
2018-03-23 09:58:19 -04:00
Lioncash
79f40fb8d7
MathUtil: Generify IsPow2
...
This will allow it to also be used in the AArch64 emitter.
2018-03-23 09:50:49 -04:00
spycrab
68733ac6c1
Qt: Make QSettings use the user config directory
2018-03-23 12:50:01 +01:00
Lioncash
38f045cee5
DolphinQt2/GameCubePane: Correct duplicate condition in LoadSettings()
...
Also turns a std::string const reference into a value instance.
While this is well-defined, it does look out of place, given a new string
is being created.
2018-03-23 07:38:26 -04:00
Pierre Bourdon
894d4c99a8
Merge pull request #6495 from lioncash/namespace
...
PowerPC: Namespace all header contents for PowerPC.h
2018-03-23 12:09:09 +01:00
Pierre Bourdon
27ffc8a69d
Merge pull request #6498 from lioncash/cmake
...
AudioCommon/CMakelists: Migrate off add_dolphin_library
2018-03-23 12:07:00 +01:00
Pierre Bourdon
1ac7452129
AutoUpdater: Generate basic HTML changelog.
2018-03-23 11:10:25 +01:00
Pierre Bourdon
1f3310874b
AutoUpdater: Don't show a spinning wheel cursor when delaying update
2018-03-23 11:10:25 +01:00
Pierre Bourdon
9628333b86
AutoUpdater: support optionally restarting Dolphin after update
2018-03-23 11:10:25 +01:00
Pierre Bourdon
773ec975f3
Merge pull request #6489 from spycrab/qt_updater
...
Qt: Improve and better integrate updater
2018-03-23 11:08:48 +01:00
spycrab
95a5a51e55
Qt: Implement missing "File" menu items
2018-03-23 10:58:54 +01:00
spycrab
ee3d64145c
Qt: Improve updater
2018-03-23 10:42:40 +01:00
Lioncash
fc16a78f6a
Jit_Integer: Handle NOP case for xori and xoris
...
Like ori and oris, xori and xoris can also be used to introduce a NOP.
In that case, just don't do anything.
2018-03-22 22:51:43 -04:00
Lioncash
007f9e5309
Jit_Integer: Handle NOP case for oris as well
...
Like ori, this can also be used as a NOP under the same conditions.
2018-03-22 22:49:02 -04:00
Lioncash
42fce74f39
Jit_Integer: Handle NOP case where RA == RS for ori
...
ori can be used as a NOP if the two register operands are the same, and
the immediate is zero, not only if the two register operands are r0.
Also removes the check for !inst.Rc, as ori only has one encoding, and
said encoding doesn't even have a record bit in it.
2018-03-22 22:47:19 -04:00
Lioncash
b96bbc8f8d
AudioCommon/CMakelists: Migrate off add_dolphin_library
...
Continues the changes that were introduced in 3a4c3bbe01
2018-03-22 22:07:11 -04:00
Mat M
71846a6daa
Merge pull request #6469 from lioncash/cmake
...
Core/CMakeLists: Migrate off add_dolphin_library
2018-03-22 21:52:44 -04:00
Lioncash
4c97deb364
PowerPC: Namespace all header contents for PowerPC.h
...
Puts everything under the same namespace. Previously the header was only
partially namespaced, which is inconsistent.
2018-03-22 19:01:47 -04:00
spycrab
196a1dcce4
Qt/CheatCodeEditor: Fix valid, encrypted AR codes not being accepted
2018-03-22 23:42:20 +01:00
Léo Lam
5e76f3a6d4
Merge pull request #6488 from aldelaro5/symbols-log
...
LOG: Add a log type for Symbols
2018-03-22 22:06:04 +01:00
Markus Wick
a4511129e7
Merge pull request #6491 from lioncash/sub-oe
...
Interpreter_Integer: Handle OE bit for subf, subfc, subfe, subfme, and subfze
2018-03-22 21:52:17 +01:00
aldelaro5
c54e56793a
Add a log type for Symbols and move symbols related logs to it
...
This fix the awkwardness of having the symbols detection, parsing and loading related logs be in OS HLE while they don't have anything to do with that.
2018-03-22 14:57:28 -04:00
Lioncash
796d67e1ec
Interpreter_Integer: Handle OE bit for subf, subfc, subfe, subfme, and subfze
...
With this, overflow flag support is now fully implemented for all
instructions that support it.
2018-03-22 13:08:03 -04:00
Anthony
0f60e68e0b
Merge pull request #6490 from spycrab/qt_fs_warn
...
Qt: Fix fullscreen quitting
2018-03-22 08:43:52 -07:00
spycrab
cc3d5a9921
Qt: Fix fullscreen quitting
2018-03-22 15:29:08 +01:00
Markus Wick
59c5bc964f
Merge pull request #6486 from lioncash/add-oe
...
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 14:15:58 +01:00
Lioncash
9d21425449
Interpreter_Integer: Handle overflow flag when OE bit is set in add, addc, adde, addme, and addze
2018-03-22 09:09:31 -04:00
Léo Lam
2e92d95888
Merge pull request #6487 from sepalani/dsp-doc
...
DSP: Fix typos in DSP LoadStore doc
2018-03-22 07:51:29 +01:00
Sepalani
4ed06da2b4
DSP: Fix typos in DSP LoadStore doc
2018-03-22 09:24:58 +04:00
Lioncash
e53fffeb90
PowerPC: Properly unset the overflow bit
...
The OV bit is non-sticky. Therefore, after an overflow-enabled
instruction executes, if an overflow does *not* occur, then OV is
cleared. SO is sticky however, so it staying set in this case is
correct.
2018-03-21 23:59:15 -04:00
Anthony
23bc50704a
Merge pull request #6484 from lioncash/mul
...
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 18:18:00 -07:00
Lioncash
355509653e
Interpreter_Integer: Handle the overflow flag when the OE bit is set for mullw
2018-03-21 20:28:37 -04:00
Michael M
1ba43e6c27
DSPSymbols: remove unused ReadAnnotatedAssembly
...
It's unused, and it used a weird format, something like:
```
void label_name() {
asm $REG1, $REG2
// etc
}
```
2018-03-21 17:07:27 -07:00
Michael M
ed56f319b5
DSPHost: don't try to read old annotated assembly files
...
They don't exist anymore!
2018-03-21 17:06:30 -07:00
Anthony
30ccaa3fd5
Merge pull request #6481 from spycrab/qt_fix_fs
...
Qt: Fix fullscreen
2018-03-21 16:44:54 -07:00
Léo Lam
1b0f6a7d2e
Merge pull request #6482 from spycrab/qt_borders
...
Qt/MainWindow: Remove obnoxious border
2018-03-21 23:24:46 +01:00
Léo Lam
1b28693eb0
Merge pull request #4484 from Helios747/remove_text
...
[UI] Remove experimental tag from Vulkan
2018-03-21 23:18:03 +01:00
Helios747
b02b616930
[UI] Remove experimental tag from Vulkan
2018-03-21 15:12:12 -07:00
spycrab
8ead5be9f2
Qt: Fix fullscreen
2018-03-21 22:57:16 +01:00
spycrab
809dd665c7
Qt/MainWindow: Remove obnoxious border
2018-03-21 22:48:17 +01:00
Anthony
9cf22aec04
Merge pull request #6480 from spycrab/qt_search
...
Qt: Implement search
2018-03-21 12:40:34 -07:00
spycrab
3292abb41d
Qt: Implement search
2018-03-21 20:04:13 +01:00
Léo Lam
8580b3ba1f
Qt: Add ignore button for panic alerts
...
Allows easily disabling panic alerts during a session if needed.
2018-03-21 11:22:30 +01:00
Markus Wick
8308d6b464
Merge pull request #6476 from lioncash/dispatch
...
JitAsm: Eliminate use of the JIT global variable
2018-03-21 09:55:04 +01:00
Lioncash
7a2d98b948
JitAsm: Remove use of the JIT global in Generate()
...
With this, JitAsm code doesn't have any reliance on the JIT global
variable. This means the core JIT64 code no longer relies on said
global at all. The Jit64 common code, however, still has some offenders.
Notably, EmuCodeBlock and Jit64AsmCommon are the remaining places in the
common code that make use of the global variable.
2018-03-21 04:41:37 -04:00
Lioncash
e0165a62da
JitBase: Remove use of the JIT global in Dispatch() and JitTrampoline()
...
Trims down a few more uses of the global variable by just passing the
JIT instance we're dispatching or trampolining with as a parameter.
2018-03-21 04:41:30 -04:00
Pierre Bourdon
fe600ab0ed
Merge pull request #6146 from HannesMann/qos-support
...
Netplay: Add Quality of Service (QoS) support
2018-03-21 02:46:46 +01:00
Pierre Bourdon
6860259c44
Merge pull request #6457 from spycrab/qt_misc
...
Qt: Improve spacing again
2018-03-21 01:10:01 +01:00
Pierre Bourdon
6079d7d3c6
Merge pull request #6475 from Starsam80/fix-always-true
...
Qt: Remove always true if statement
2018-03-21 01:07:54 +01:00
Anthony
ad8c31699f
Merge pull request #6463 from delroth/auto-update
...
Initial implementation of the Dolphin auto-updater for Windows
2018-03-20 11:28:26 -07:00
Pierre Bourdon
66b41c5509
UICommon: Add AutoUpdate module + placeholder Qt implementation
...
The AutoUpdate module is a generic update checker mechanism which can be
used by UI backends to trigger an auto-update check as well as the
actual update process.
Currently only configurable through .ini and the Qt implementation is
completely placeholder-y -- blocking the main thread on a network
request on startup, etc.
2018-03-20 19:21:19 +01:00
Pierre Bourdon
37902c4aa4
DolphinWX: depend on Updater in order to make sure the binary is included in default builds
2018-03-20 19:21:19 +01:00
Pierre Bourdon
07c160310e
Add Updater.exe which performs the update tasks.
...
Updater.exe takes as input manifests and applies the difference between
these manifests to an install directory.
Currently lacking a UI.
2018-03-20 19:21:19 +01:00
Markus Wick
43c92c8b16
Merge pull request #6451 from leoetlino/default-mmu
...
Config: Set bMMU to true by default on x64
2018-03-20 14:40:40 +01:00
Markus Wick
35bfa64dfc
Merge pull request #6470 from lioncash/ov-flag
...
Interpreter: Handle setting the overflow flag when the OE bit is set in divw, divwu, and neg
2018-03-20 11:08:12 +01:00
Starsam80
b7c44715a8
Qt: Remove always true if statement
2018-03-20 00:41:47 -06:00
Pierre Bourdon
bc9deb7be3
HttpRequest: make curl initialization thread-safe
2018-03-20 00:36:43 +01:00
spycrab
44ce78c969
Qt: Remove in-development warning
2018-03-19 21:59:50 +01:00
Anthony
50588034ba
Merge pull request #6472 from lioncash/jit-init
...
JitBase: Ensure JitOptions and JitState instances are consistently initialized
2018-03-19 13:20:40 -07:00
Lioncash
51cfeb8c7d
JitBase: Ensure JitOptions and JitState instances are consistently initialized
...
Ensures that upon construction of a JitBase instance, that all
underlying members within the option and state structs are guaranteed
to be initialized.
This prevents potentially using a member uninitialized in some form.
2018-03-19 15:58:32 -04:00
Anthony
37f8efcda0
Merge pull request #6471 from JosJuice/qt-strings-consistent
...
Make strings more consistent between DolphinWX and DolphinQt2
2018-03-19 11:00:24 -07:00
JosJuice
a71c615435
Make strings more consistent between DolphinWX and DolphinQt2
...
Reduces the number of strings to translate.
2018-03-19 18:52:46 +01:00
Léo Lam
16f74cee70
Merge pull request #6467 from lioncash/breakpoint
...
Breakpoints: Remove direct usages of the JIT global
2018-03-19 18:42:10 +01:00
Lioncash
2fa0cb91a1
Interpreter_Integer: Set the overflow flag if the OE bit is set for neg
...
Also amends the condition that was being checked. Previously it was
checking if the destination register value was 0x80000000, however it's
actually the source register that should be checked.
2018-03-19 13:27:36 -04:00
Lioncash
675d2fb774
Interpreter_Integer: Set the overflow flag if the OE bit is set for divw and divwu
...
divw and divwu won't panic now if the OE bit is set for these instructions.
2018-03-19 11:51:10 -04:00
Lioncash
f129c936e7
PowerPC: Add functions for getting and setting the XER OV bit
...
While we're at it, change GetXER_SO's return value to u32
to prevent potential sign bit wonkyness given we're performing bit arithmetic.
2018-03-19 11:51:04 -04:00
Léo Lam
f335790623
Merge pull request #6460 from lioncash/datareader
...
DataReader: Minor API changes
2018-03-19 15:02:50 +01:00
Markus Wick
8c1be29cef
Merge pull request #6466 from lioncash/mffs
...
Interpreter_SystemRegisters: Handle mffs, mtfsb0, mtfsb1, mtfsf and mtfsfi with the record bit set
2018-03-19 09:37:01 +01:00
Markus Wick
523031f037
Merge pull request #6444 from stenzek/d3d-bbox
...
D3D: Fix broken bounding box
2018-03-19 09:21:22 +01:00
Markus Wick
98b4716902
Merge pull request #6442 from stenzek/async-compiler-priority
...
ShaderCache: Implement compile priority
2018-03-19 09:16:53 +01:00
Markus Wick
0c0a342483
Merge pull request #6464 from lioncash/using
...
JitArm64_RegCache: Remove using namespace declaration from header
2018-03-19 09:11:45 +01:00
Lioncash
3a4c3bbe01
Core/CMakeLists: Migrate off add_dolphin_library
...
This macro (that has unfortunately become the de-facto way of
introducing targets) has a lot of disadvantages that outweigh the fact
that you avoid writing two extra lines of CMake script.
- It encourages the use of variables. In a build system the last thing
we want to care about is mutable state that can be avoided.
- It only handles linking in the libraries and nothing else. It's a
laziness macro.
- We should be explicit about what we're doing by introducing the target
first, not last.
This gets the ball rolling by migrating Core off the macro. Note that
this is essentially 1-to-1 unrolling of the macro, therefore we're
still linking in all libraries as public, even though that may not be
necessary.
This can be revisited once everything is off the macro for a quicker
transition period.
2018-03-19 04:02:12 -04:00
Markus Wick
22aba8c56d
Merge pull request #6468 from lioncash/downcast
...
JitInterface: Remove a downcast within InitJitCore
2018-03-19 09:00:56 +01:00
Markus Wick
3d49bdb488
Merge pull request #6462 from lioncash/ppc
...
PPCTables: Make the op type enum an enum class
2018-03-19 08:55:32 +01:00
Markus Wick
8002bfbc41
Merge pull request #6461 from lioncash/emitter
...
x64Emitter: Move FloatOp and NormalOp enum definitions into the cpp file
2018-03-19 08:53:00 +01:00
Markus Wick
79b21e1381
Merge pull request #6459 from lioncash/enum
...
VertexShaderGen: Convert defines to an enum
2018-03-19 08:48:25 +01:00
Markus Wick
768cd7ede5
Merge pull request #6458 from lioncash/remove-mainbase
...
VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp
2018-03-19 08:46:35 +01:00
Lioncash
14b204a9bb
JitInterface: Remove a downcast within InitJitCore
...
This isn't necessary as JitBase is already within the type hierarchy that
CPUCoreBase is.
2018-03-19 03:13:16 -04:00
Lioncash
a0164e14bc
BreakPoints: Avoid direct use of the JIT global
...
Trims the direct usages of the global by making the code go through the
JIT interface (where it should have been going in the first place).
This also removes direct JIT header dependencies from the breakpoints as
well. Now, no code uses the JIT global other than JIT code itself, and
the unit tests.
2018-03-19 03:08:57 -04:00
Lioncash
b4cd11c7c9
BreakPoints: Invert if statements where reasonable
...
Puts the early-exit condition first, unindenting code that doesn't need
to be.
2018-03-19 03:08:53 -04:00
Lioncash
3137d4f75f
BreakPoints: Use std algorithms where applicable
2018-03-19 03:08:17 -04:00
Lioncash
eea99de118
Interpreter_SystemRegisters: Handle mffs, mtfsb0, mtfsb1, mtfsf, and mtfsfi with the record bit set
...
All of these with the record bit set update condition register 1 with the
contents of the FPSCR's FX, FEX, VX and OX bits.
Helper_UpdateCR1() does exactly that, so we use it here to perform this
for us.
2018-03-19 00:05:00 -04:00
Lioncash
6ae8a2b5f8
JitArm64_RegCache: Remove using namespace declaration from header
...
Dumping a namespace in a header file should be avoided since it can
cause random name and type clashing in unexpected ways.
2018-03-18 19:39:58 -04:00
Pierre Bourdon
5498f9b7ef
make_scmrev.h.js: set default auto-update track from environment
2018-03-19 00:11:55 +01:00
Lioncash
6428cee939
PPCTables: Make the op type enum an enum class
...
Reduces the amount of identifiers dropped into the global namespace when
the PPCTables header is included.
2018-03-18 18:53:58 -04:00
Lioncash
975ba4abf0
x64Emitter: Make FloatOp and NormalOp enum classes
...
Reduces the amount of identifiers placed in the Gen namespace internally.
2018-03-18 18:04:54 -04:00
Lioncash
c22a6f4551
x64Emitter: Move FloatOp and NormalOp enums to the cpp file
...
These are only used internally. This also allows us to eliminate some
symbols that get dumped into the exposed Gen namespace.
By extension this also hides the Write[X] functions from OpArg's public
interface. This is only used internally by XEmitter, so they shouldn't
be usable by anything else.
2018-03-18 18:04:48 -04:00
Lioncash
b21a00d290
DataReader: Provide a const qualified variant of GetPointer()
...
This wouldn't be much of a data reader if it can't access the
read-only data pointer in read-only contexts. Especially if it
can get a writable equivalent in contexts that aren't read-only.
2018-03-18 16:53:04 -04:00
Lioncash
ce29c1c42f
DataReader: Correct return type of operator=
...
It's questionable to not return a reference to the instance being
assigned to. It's also quite misleading in terms of expected behavior
relative to everything else. This fixes it to make it consistent with
other classes.
2018-03-18 16:50:59 -04:00
Lioncash
ffade65c55
DataReader: Remove __forceinline from trivial functions
2018-03-18 16:49:50 -04:00
Lioncash
4c2ec39199
DataReader: In-class initialize member variables where applicable
...
Allows the default constructor to be defaulted and ensures the default
values are associated with the member variables directly.
Also corrects a prefixed underscore in the two parameter constructor.
2018-03-18 16:34:51 -04:00
Lioncash
fd956f6c69
DataReader: Make size() and Peek() const member functions
...
These don't modify class state, so they can be const qualified.
2018-03-18 16:33:14 -04:00
Lioncash
2b3b1e8d09
VertexShaderGen: Convert defines to an enum
...
Unlike defines, these will actually obey namespacing (should one be
added), and also provide a symbol when debugging, as opposed to a magic
value.
2018-03-18 15:45:20 -04:00
Pierre Bourdon
0c128f3abe
Merge pull request #6450 from leoetlino/nandboot
...
Boot: Set TYPE_NANDBOOT when booting from NAND
2018-03-18 20:44:44 +01:00
Lioncash
b68e8b872e
VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp
...
Given that this only contains functions from the VideoBackendBase class,
it makes more sense to move these to the relevant cpp file to keep them
all together.
2018-03-18 15:33:59 -04:00
Léo Lam
b86947264b
Merge pull request #6453 from leoetlino/remove-unused
...
State: Remove unused Verify functions
2018-03-18 11:24:37 +01:00
Léo Lam
4b3542558a
Merge pull request #6456 from lioncash/video-static
...
MainBase: Remove unused file-scope variables
2018-03-18 11:24:16 +01:00
spycrab
1b06e66f1d
Qt: Various layout fixes
2018-03-18 00:10:54 +01:00
Lioncash
13ed716419
MainBase: Remove effectively unused s_FifoShuttingDown variable
...
This is only ever set and cleared, which is fine, however nothing else
ever actually reads its state to perform differing behavior.
2018-03-17 18:10:43 -04:00
Lioncash
826c11ba3b
MainBase: Remove unused s_beginFieldArgs struct
...
This is only ever memset to zero and never used again.
This also gets rid of an instance of undefined behavior considering the
draft standard for C++17 (N4659) states at [dcl.type.cv] paragraph 5:
"
The semantics of an access through a volatile glvalue are implementation-defined.
If an attempt is made to access an object defined with a volatile-qualified type
through the use of a non-volatile glvalue, the behavior is undefined.
"
2018-03-17 18:07:08 -04:00
JosJuice
9970f05ec8
DolphinQt2: Fix issues with MoIterator
...
Before this, DolphinQt2 would crash at boot with an assertion error
when using a Windows debug build, at least if the Dolphin GUI
language was set to English.
2018-03-17 21:54:39 +01:00
JosJuice
ffb672286a
Fix launching DolphinQt2 from Visual Studio
...
Fourth time now...
2018-03-17 19:10:57 +01:00
Anthony
87c6ed3e00
Merge pull request #6436 from spycrab/qt_layout
...
Qt: Improve spacing
2018-03-17 09:57:51 -07:00
spycrab
c421848559
Qt: Improve spacing
2018-03-17 16:14:56 +01:00
Léo Lam
6aa6be2804
State: Remove unused Verify functions
...
These were unused in the entire codebase.
2018-03-16 22:56:54 +01:00
Lioncash
882d1c1256
OGLShader: Ensure m_id and m_compute_program_id are always initialized
...
Depending on which constructor is invoked, m_id or m_compute_program_id
can end up in an uninitialized state. We should ensure that the object
is completely initialized to something deterministic regardless of the
constructor taken.
2018-03-16 17:49:34 -04:00
Lioncash
83f17ac59f
OGLShader: Fix mismatched assignment in compute shader constructor
...
This shouldn't be assigning to the regular ID.
2018-03-16 17:44:23 -04:00
Léo Lam
f2b9a6696d
Config: Set bMMU to true by default on x64
...
This prevents Dolphin from crashing when the emulated software crashes.
AFAIK, there is absolutely no performance to enabling this with the
x64 JIT.
Eventually, we should probably just remove bMMU
(https://github.com/dolphin-emu/dolphin/pull/1831 ). We can't do that
yet because of the ARM JIT.
2018-03-16 21:08:23 +01:00
Léo Lam
917f0e2182
Merge pull request #6441 from spycrab/qt_exec
...
Qt/Main: Add option to launch file without -e
2018-03-16 20:25:13 +01:00
Léo Lam
25704a2494
Boot: Set TYPE_NANDBOOT when booting from NAND
...
It makes more sense to set TYPE_NANDBOOT than TYPE_RETURN. The latter
is normally only set when returning to the system menu from a game.
2018-03-16 20:17:43 +01:00
JosJuice
bdaa7be299
Merge pull request #6448 from lioncash/qt
...
DolphinQt2: Fix project loading in VS
2018-03-16 20:17:01 +01:00
Lioncash
293d84b9be
DolphinQt2: Fix project loading in VS
...
These headers are already specified in the QtMoc item section, so these
are seen as a duplicate definition of the file, causing a project load
error.
2018-03-16 15:07:44 -04:00
spycrab
0911b44f60
Qt/Main: Add option to launch file without -e
2018-03-16 19:41:54 +01:00
Pierre Bourdon
6fdac685d6
Merge pull request #6409 from leoetlino/timing
...
IOS: Minor IPC fixes
2018-03-16 18:54:01 +01:00
Léo Lam
a63aaeecee
IOS: Fix "kernel FD table full" error code
2018-03-16 18:51:08 +01:00
Léo Lam
d029f2a7b6
IPC: Clear X1 when acknowledging a reply
...
Hardware tests indicate that IOS clears X1 when it acknowledges
an IPC request.
2018-03-16 18:51:08 +01:00
Léo Lam
1a71076e50
IPC: Remove incorrect guess about acks
...
A very basic hardware test shows that the ARMMSG doesn't change until
IOS replies. (People could have disassembled IOS to verify this too...)
Console:
sending request at 00034640 - ARMMSG 133e0fa0
00000000000000000000000000000010(ack) - ARMMSG 133e0fa0
00000000000000000000000000000100(reply) - ARMMSG 00034640
Dolphin, prior to this fix:
sending request (00034640) - ARMMSG 133e0fa0
00000000000000000000000000000011(ack) - ARMMSG 00034640
00000000000000000000000000000100(reply) - ARMMSG 00034640
Dolphin, after this fix:
sending request at 00034640 - ARMMSG 133e0fa0
00000000000000000000000000000011(ack) - ARMMSG 133e0fa0
00000000000000000000000000000100(reply) - ARMMSG 00034640
(Yes, note that the X1 bit is still set. This is a bug that I will
fix in the next commit.)
2018-03-16 18:51:08 +01:00
Léo Lam
b9f7d67667
IPC: Fix missing interrupt when writing to Y1/Y2
...
The IPC interrupt is triggered when IY1/IY2 is set and Y1/Y2 is written
to even when this results in clearing the bit.
This shouldn't change anything in practice but it's a difference
that Dolphin wasn't taking into account, which made me waste some time
when I was writing a hwtest :/
2018-03-16 18:51:08 +01:00
Léo Lam
35e3775a77
IOS: Remove outdated comment
2018-03-16 18:51:08 +01:00
Léo Lam
fa89614b07
IOS: Adjust IPC timing based on hardware tests
...
This adjusts IOS IPC timing to be closer to actual hardware:
* Emulate the IPC interrupt delay. On a real Wii, from the point of
view of the PPC, the IPC interrupt appears to fire about 100 TB ticks
after Y1/Y2 is seen.
* Fix the IPC acknowledgement delay. Dolphin was much, much too fast.
* Fix Device::GetDefaultReply to return more reasonable delays. Again,
Dolphin was way too fast. We now use a more realistic, average reply
time for most requests.
Note: the previous result from https://dolp.in/pr6374 is flawed.
GetTicketViews definitely takes more than 25µs to reply.
The reason the reply delay was so low is because an invalid
parameter was passed to the libogc wrapper, which causes it to
immediately return an error code (-4100).
* Fix the response delay for various replies that come from the kernel:
fd table full, unknown resource manager / device, invalid fd,
unknown IPC command.
Source: https://github.com/leoetlino/hwtests/blob/af320e4/iostest/ipc_timing.cpp
2018-03-16 18:51:07 +01:00
Lioncash
7926a0c814
Use __func__ instead of __FUNCTION__ where applicable
...
This replaces usages of the non-standard __FUNCTION__ macro with the standard
mandated __func__ identifier.
__FUNCTION__ is a preprocessor definition that is provided as an
extension by compilers. This was the only convenient option to rely on
pre-C++11. However, C++11 and greater mandate the predefined identifier
__func__, which lets us accomplish the same thing.
The difference between the two, however, is that __func__ isn't a
preprocessor macro, it's an actual identifier that exists at function
scope. The C++17 draft standard (N4659) at section [dcl.fct.def.general]
paragraph 8 states:
"
The function-local predefined variable __func__ is defined as if a
definition of the form
static const char __func__[] = "function-name ";
had been provided, where function-name is an implementation-defined
string. It is unspecified whether such
a variable has an address distinct from that of any other object in the
program.
"
Thankfully, we don't do any macro or string concatenation with __FUNCTION__
that can't be modified to use __func__.
2018-03-16 13:41:53 -04:00
Lioncash
75f5fcdfee
Assert: Remove unused parameter from DEBUG_ASSERT
...
This brings the macro in line with the regular ASSERT macro, which only has one
macro parameter.
2018-03-16 13:01:11 -04:00
Lioncash
f44e2dc425
Assert: Wrap assertion macro bodies in do {} while (0)
...
Enforces the termination of the macro with a semicolon. Aside from that
requirement, behavior remains the same.
2018-03-16 12:35:23 -04:00
Mat M
9f4d5122a2
Merge pull request #6438 from lioncash/assert
...
Assert: Uppercase assertion macros
2018-03-16 11:59:14 -04:00
Stenzek
93865b327f
ShaderCache: Implement compile priority
...
Currently, when immediately compile shaders is not enabled, the
ubershaders will be placed before any specialized shaders in the compile
queue in hybrid ubershaders mode. This means that Dolphin could
potentially use the ubershaders for a longer time than it would have if
we blocked startup until all shaders were compiled, leading to a drop in
performance.
2018-03-17 01:53:11 +10:00
Stenzek
cb19ddd1d4
D3D: Fix broken bounding box
2018-03-17 00:20:43 +10:00
spycrab
a2d6bab0d2
Properties/GameConfig: Remove "Skip DCBZ"
2018-03-15 20:33:01 +01:00
Anthony
1c3cc26d19
Merge pull request #6386 from spycrab/qt_dbg_code
...
Qt/Debugger: Implement "Code" widget
2018-03-15 11:35:26 -07:00
Lioncash
50a476c371
Assert: Uppercase assertion macros
...
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
2018-03-14 22:03:12 -04:00
Markus Wick
19d97f3fd9
Merge pull request #6430 from stenzek/uid-cache-fixes
...
ShaderCache: Fix several issues in background shader compiling
2018-03-14 17:08:36 +01:00
Stenzek
517a977444
ShaderCache: Fix several issues in background shader compiling
...
- In D3D, shaders could be compiled on the main thread, blocking
startup.
- Reduced the latency between a pipeline being requested and used in all
backends in hybrid ubershader mode, when no shader stages were present.
- Fixed a case where async compilation could cause the same UID to be
appended multiple times to the UID cache.
- Fix incorrect number of threads being used when immediately compile
shaders was enabled.
2018-03-15 01:50:47 +10:00
Stenzek
dc9012ae08
OGL: Ensure VAO is active before unmapping buffers
...
Fixes a crash which could occur in platforms which do not support
buffer_storage, and EFB2RAM is enabled (which indirectly uses the
attributeless buffer).
2018-03-15 00:32:39 +10:00
Léo Lam
6813c5e1e9
Merge pull request #6434 from lioncash/x86-dsp
...
DSPCore: Move x64 JIT source files into an x64 subdirectory
2018-03-14 10:54:46 +01:00
Lioncash
9f2a46b08d
DSPCore: Use nested namespace specifiers for the x64 JIT
...
Slims down the amount of lines needed for namespacing.
2018-03-13 18:57:25 -04:00
Lioncash
b3fd79b45a
DSPCore: Rename namespace to match moved x64 JIT files
...
Maintains consistency between location and code
2018-03-13 18:48:16 -04:00
Lioncash
ab5b90bf15
DSPCore: Move x64 JIT source files into an x64 subdirectory
...
While the code is namespaced out properly, the files weren't separated
into their own directory. This moves the files so that introducing a general
interface is easier in the future for supporting other architectures.
2018-03-13 18:26:26 -04:00
Stenzek
51e4014a35
DriverDetails: Disable primitive restart on Vulkan with Mali driver
2018-03-14 02:56:24 +10:00
Stenzek
db810956ec
Vulkan: Provide a more accurate method of detecting drivers/vendors
...
This is needed to differentiate between the open-source Mesa drivers and
their binary counterparts for Intel and AMD.
2018-03-14 02:48:53 +10:00
Markus Wick
f7ff634e4f
Merge pull request #6432 from degasus/OGL-OSD-update
...
OGL: Scale OSD text on big screens.
2018-03-13 16:37:58 +01:00
Henrik Rydgård
6cbb716f60
SSE-optimize UninitializeXFBMemory
...
Lowest hanging fruit I could find with a profiler.
Not sure this stuff actually needs to be done, but assuming it is, why
not do it quickly? 10x faster, goes from 1% CPU to 0.09%.
2018-03-13 11:55:28 +01:00
degasus
a5c0739fab
OGL: Scale OSD text on big screens.
2018-03-12 20:38:06 +01:00
degasus
d4449971c9
OGL: Warn if buffer_storage isn't available.
...
Yes, this commit is only to blame OSX and Mali. Through the former supports unsynchronized mappings, the latter supports *no* way to stream dynamic data at all. Let's try to make bad news, as they ignore friendly feature requests. Maybe we just need to make more noise...
2018-03-12 20:38:00 +01:00
Léo Lam
90ca62e416
Merge pull request #6428 from JosJuice/qt-zh-order
...
Qt2 translation: Don't place "zh_CN" and "zh_TW" after "zh"
2018-03-12 18:44:41 +01:00
JosJuice
4b85f7fe79
Qt2 translation: Don't place "zh_CN" and "zh_TW" after "zh"
...
The least specific language code should be tried last.
2018-03-11 22:27:17 +01:00
Stenzek
427aa188d4
ShaderCache: Use a version number for pipeline UID caches
2018-03-11 14:48:09 +10:00
Léo Lam
63d5e57337
Merge pull request #6419 from Ebola16/Fix_OpenAL
...
Change FATAL_ERROR to STATUS message for OpenAL not found in externals
2018-03-10 13:35:30 +01:00
Pierre Bourdon
d72947d638
Merge pull request #6427 from JosJuice/thousandseparate-encoding
...
StringUtil: Fix Windows encoding in ThousandSeparate
2018-03-10 13:16:00 +01:00
JosJuice
34be8488a5
StringUtil: Fix Windows encoding in ThousandSeparate
...
Some locales use non-breaking spaces as separators, so getting the
encoding right is important. If DolphinWX gets a string that isn't
valid UTF-8, it flat out won't display the string.
2018-03-10 12:13:30 +01:00
Stenzek
93ab50c555
OGL: Move primitive restart enable logic to GLUtil
2018-03-10 16:11:20 +10:00
Stenzek
51a586d11a
GLUtil: Encapsulate functions in a namespace
2018-03-10 16:11:19 +10:00
Stenzek
e31cc1f679
ShaderCache: Implement background shader compilation
...
This enables shaders to be compiled while the game is starting, instead
of blocking startup. If a shader is needed before it is compiled,
emulation will block.
2018-03-10 16:11:19 +10:00
Stenzek
9fa24700b6
VideoConfig: Collapse ubershader configuration fields to a single value
2018-03-10 15:56:45 +10:00
Stenzek
590307b94c
ShaderCache: Use memcmp for comparing pipeline UIDs
...
As these are stored in a map, operator< will become a hot function when
doing lookups, which happen every frame. std::tie generated a rather
large function here with quite a few branches.
2018-03-10 15:56:42 +10:00
Stenzek
41296db083
Renderer: Remove now-redundant Set{Rasterization,Depth,Blending}State
2018-03-10 15:56:40 +10:00
Stenzek
fc1fe0672b
OGL: Add some basic state tracking
...
We would want to improve the granularity here in the future, but for
now, this should avoid any performance loss from switching to the
VideoCommon shader cache.
2018-03-10 15:56:37 +10:00
Stenzek
f9c829c7f7
OGL: Re-implement async shader compiling
2018-03-10 15:56:34 +10:00
Stenzek
dec0c3bce8
Move shader caches to VideoCommon
2018-03-10 15:56:30 +10:00
Stenzek
24df896eb8
VKShader: Fix incorrect loading of binary shaders
2018-03-10 15:56:27 +10:00
Stenzek
1ddc4c5568
D3D: Make NativeVertexFormat thread safe
2018-03-10 15:56:24 +10:00
Stenzek
40845e6b8f
D3D: Make StateCache thread safe
2018-03-10 15:56:21 +10:00
Stenzek
bfb4709c80
AbstractPipeline: Allow setting pipeline to null
2018-03-10 15:56:18 +10:00
Stenzek
5e5dfe686a
VKPipeline: Fix render pass and add pipeline layout fields
2018-03-10 15:56:13 +10:00
Stenzek
a61fcb0088
OGL: Fix abstract pipelines on drivers without binding layout support
2018-03-10 15:56:06 +10:00
Stenzek
00204dc988
OGL: Make ProgramShaderCache thread safe
2018-03-10 15:55:56 +10:00
Léo Lam
63838c013b
Merge pull request #6281 from JosJuice/unify-gamelist-code
...
Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
2018-03-09 20:39:02 +01:00
Léo Lam
ef975b8c56
Merge pull request #6377 from sepalani/memcheck
...
DolphinWX: Propagate IDM_UPDATE_BREAKPOINTS to CodeWindow
2018-03-09 20:35:54 +01:00
Ryan Meredith
b7276483da
Change FATAL_ERROR to STATUS message for OpenAL not found in externals
2018-03-09 12:29:23 -05:00
JosJuice
0e2690f40b
FileMonitor: Store last file offset instead of path
...
This saves us from having to call GetPath when the same file is being
read over and over. (GetPath is more expensive than GetOffset due to
it iterating through parts of the file system and creating strings.)
2018-03-09 15:18:32 +01:00
JosJuice
1f1dae367d
Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
...
The original reason I wanted to do this was so that we can replace
the Android-specific code with this in the future, but of course,
just deduplicating between DolphinWX and DolphinQt2 is nice too.
Fixes:
- DolphinQt2 showing the wrong size for split WBFS disc images.
- DolphinQt2 being case sensitive when checking if a file is a DOL/ELF.
- DolphinQt2 not detecting when a Wii banner has become available
after the game list cache was created.
Removes:
- DolphinWX's ability to load PNGs as custom banners. But it was
already rather broken (see https://bugs.dolphin-emu.org/issues/10365
and https://bugs.dolphin-emu.org/issues/10366 ). The reason I removed
this was because PNG decoding relied on wx code and we don't have any
good non-wx/Qt code for loading PNG files right now (let's not use
SOIL), but we should be able to use libpng directly to implement PNG
loading in the future.
- DolphinQt2's ability to ignore a cached game if the last modified
time differs. We currently don't have a non-wx/Qt way to get the time.
2018-03-09 13:08:38 +01:00
Hannes Mann
41682a07cb
Add Quality of Service (QoS) support
2018-03-09 00:11:18 +01:00
JosJuice
0d3a7d5e38
Fix launching DolphinQt2 from Visual Studio
2018-03-08 22:33:11 +01:00
Léo Lam
3cc64cc146
Merge pull request #6418 from spycrab/qt_gameconfig
...
Qt/PropertiesDialog: Add "Game Config" tab
2018-03-08 20:33:12 +01:00
Léo Lam
ed2d749fb9
Merge pull request #6424 from delroth/traversal-watchdog
...
Add systemd watchdog support to the traversal server
2018-03-08 17:29:45 +01:00
Léo Lam
1eae5fe790
Merge pull request #6422 from sepalani/nullptr-blank
...
HLE: Improve format string detection heuristic
2018-03-08 17:26:09 +01:00
Pierre Bourdon
9e0739f5e5
traversal: add systemd watchdog support
2018-03-08 06:10:17 +00:00
spycrab
394388af4e
Qt/PropertiesDialog: Add "Game Config" tab
2018-03-07 20:59:41 +01:00
Anthony
1a1133bf8e
Merge pull request #6423 from leoetlino/tid
...
UI: Show title ID in info panel
2018-03-07 10:47:43 -08:00
Léo Lam
3af09da0f3
UI: Show title ID in info panel
...
Add a way to easily get the title ID of a game. For Wii titles, it's
sometimes more useful to know than the game ID.
2018-03-07 17:40:22 +01:00
Stenzek
24a46dc6af
Merge pull request #6315 from stenzek/abstract-framebuffers
...
Abstract Framebuffers
2018-03-08 00:52:49 +10:00
Léo Lam
aee977e32a
Merge pull request #6420 from JosJuice/qt-translateability
...
Tweak Qt strings to be more translation friendly
2018-03-07 13:40:14 +01:00
Léo Lam
6ca1c46117
Merge pull request #6415 from spycrab/qt_resize
...
Qt/GameList: Make a few columns resizable
2018-03-07 13:36:26 +01:00
Sepalani
4f1c0ca3e9
HLE: Improve format string detection heuristic
2018-03-06 21:21:56 +04:00
JosJuice
83373e2e87
Qt2 TAS input: Generate key strings automatically
...
This saves us from having to hardcode strings, and it also gives
us strings in whatever format is appropriate on the current OS
(for instance, IIRC Windows uses Alt+F where other OSes use Alt-F).
2018-03-06 17:38:57 +01:00
JosJuice
45040f00c6
Tweak Qt strings to be more translation friendly
2018-03-04 19:13:13 +01:00
Léo Lam
a436c6182b
Merge pull request #6388 from leoetlino/merge
...
Consolidate ec_wii functions into IOSC
2018-03-02 23:14:37 +01:00
Léo Lam
96e4e01564
Merge pull request #6416 from Ebola16/Warning
...
Remove DSPLLE ReadAnnotatedAssembly error log entry
2018-03-02 23:10:43 +01:00
Anthony
78b00d8d32
Merge pull request #6382 from spycrab/qt_patches
...
Qt/PropertiesDialog: Implement "Patches" tab
2018-03-02 10:34:00 -08:00
Stenzek
4c24a69710
VideoCommon: Add support for Abstract Framebuffers
2018-03-02 20:20:48 +10:00
Ryan Meredith
c94cd4a275
Remove DSPLLE ReadAnnotatedAssembly error log entry
2018-03-02 02:25:25 -05:00
spycrab
dee4440c9d
Qt/GameList: Make a few columns resizable
2018-03-02 00:51:21 +01:00
Stenzek
2a6d9e4713
AbstractTexture: Add support for depth textures/formats
2018-03-01 17:31:24 +10:00
Stenzek
6374a4c4a8
AbstractTexture: Support multisampled abstract texture
2018-03-01 17:31:24 +10:00
Stenzek
4316f5f56b
AbstractTexture: Add property/attribute accessor helpers
2018-03-01 17:31:24 +10:00
Stenzek
e125eaa237
VideoCommon: Drop references to AbstractRawTexture
2018-03-01 17:31:24 +10:00
Stenzek
887e3830ba
VideoBackends: Restore the framebuffer as part of the API state
...
It's not often we switch out to draw to the EFB anyway.
2018-03-01 17:31:24 +10:00
Stenzek
b4b0f3d942
Vulkan: Fix broken post-processing
2018-03-01 16:55:55 +10:00
spycrab
ecaa68ade9
Qt: Make game revision vars u16
2018-02-28 22:35:10 +01:00
spycrab
4b54f6b1c7
Qt/PropertiesDialog: Implement "Patches" tab
2018-02-28 21:16:57 +01:00
spycrab
0a5f0efe18
Qt/Debugger: Implement "Code" widget
2018-02-28 19:47:56 +01:00
Léo Lam
4e014f996b
IOS: Fix invalid FD being returned after an open
...
Fixes a regression introduced by 80b1bf13c2
.
The return value for open replies should be overwritten with the new
file descriptor.
2018-02-28 15:56:03 +01:00
Mat M
bf825e6354
Merge pull request #6404 from hubslave/patch-1
...
Include <endian.h> for byte swap macros on OpenBSD
2018-02-27 23:28:22 -05:00
Léo Lam
80b1bf13c2
IOS: Change devices to always return IPCCommandResult
...
This commit changes devices to always return IPCCommandResult rather
than just a return code for Open() and Close() in order to be able
to better emulate reply timing.
In hindsight, I should have considered we would want to emulate
timing when I cleaned up the device interface, but alas.
This rectifies that mistake.
2018-02-27 21:12:07 +01:00
Léo Lam
9282be1058
IOS: Fix regression affecting BC launch
...
8e06257f19
caused Dolphin not to consider BC as emulated anymore.
2018-02-27 18:16:05 +01:00
Léo Lam
1de17d20e1
Fix render surface when using Render to Main and debugger
...
This fixes a regression introduced by de632fc9c
.
2018-02-27 13:18:43 +01:00
Stenzek
25a516bae3
Merge pull request #6403 from degasus/master
...
OGL: Use glBufferData on Mali.
2018-02-27 17:54:41 +10:00
spycrab
a3fd99032c
IsSettingSavable: Make GFX_CACHE_HIRES_TEXTURES savable
2018-02-26 19:04:06 +01:00
hubslave
4ae48e10e5
Include <endian.h> for byte swap macros on OpenBSD
...
There is code below that assumes the presence of those macros (by #undef'ing them), but none of the included headers provided them.
This fixes a build failure on OpenBSD where the undef'd macros _do_ get picked up later on in a compilation unit (through which include, I don't know), and thus shadow the Common::swap* functions.
2018-02-26 00:07:05 +02:00
Markus Wick
227db66e4f
OGL: Use glBufferData on Mali.
...
tl;dr: This PR speedups dolphin on mobiles with the Mali GPU and ES 3.2
drivers by a factor of 10 by using the method with the biggest overhead.
Please keep care not to buy this shit!
The ARM driver team seems to care very well about their customers. But
bad luck, users and open source developers are *not* their customers. So
even device-independent feature requests are just ignored for *years*:
https://community.arm.com/graphics/f/discussions/4645/gl_ext_buffer_storage-support
The bad point, they neither implement any of the other common ways to
stream dynamic content in unextented GL:
- They just ignore the GL_MAP_UNSYNCHRONIZED_BIT flag
- They don't support on-device buffer updates and just stall with
glBufferSubData
It seems like no benchmark is using any dynamic content - and like no
customer cares about anything but benchmarks, or users...
We have a flag to disable the glBufferSubData way, this PR adds the flag
to also disable the unsychronized mapping way. The second one is
available since their ES 3.2 update, but slow as hell.
So how to continue? The last remaining technical way to stream dynamic
content at all is to alloc a new buffer per draw call with glBufferData.
This is very gross, but still a factor 10 speedup compared to stalling
the GPU. Small tests shows that you can expect another 3-5 times speedup
with EXT_buffer_data, so Mali would be on pair with Adreno here. So if
you have bought such a device unfortunately, please try to make noise on
your vendor forums/support and ask for this extension. If you are going
to buy a new mobile, I'd recormend to avoid *any* mobile with a Mali GPU
in it.
2018-02-25 17:12:36 +01:00
Stenzek
e4d3b5f626
OGL: Only create bad shader files in Dump when compile failed
...
Warnings are still logged.
2018-02-25 18:03:58 +10:00
Anthony
a3674e3f73
Merge pull request #6396 from spycrab/qt_osx_theme
...
CMake/OSX: Fix missing QMacStylePlugin
2018-02-24 15:44:43 -08:00
spycrab
7f3c1a2de4
Qt/OSX: Fix icon
2018-02-24 21:12:22 +01:00
spycrab
5ddbb3459b
CMake/OSX: Fix missing QMacStylePlugin
2018-02-24 18:48:29 +01:00
Anthony
b66f96c617
Merge pull request #6042 from stenzek/videocommon-pipelines
...
VideoCommon pipelines ("Abstract Pipeline")
2018-02-23 09:18:19 -08:00
Stenzek
2ba8f67feb
OGL: Call GLInterface->Update() on window resize
...
macOS in particular requires the context be updated manually when the window
is resized.
2018-02-23 22:27:10 +10:00
Léo Lam
1e6dc196aa
Qt: Fix warning about parentheses
...
The original code had parentheses placed in weird locations IMO, which
even caused compilers to issue warnings.
2018-02-22 17:55:16 +01:00
Léo Lam
f1f2bd9c94
Qt: Fix warning about array initialisation
2018-02-22 17:54:58 +01:00
Léo Lam
fd063bdc31
Qt: Use std::abs instead of abs
...
...since <cmath> is included, not <math.h>. May or may not fix
https://bugs.dolphin-emu.org/issues/10906
2018-02-22 17:54:19 +01:00
Stenzek
fec6bb4d56
VideoBackends: Add AbstractShader and AbstractPipeline classes
2018-02-22 22:02:34 +10:00
Stenzek
31111ef143
D3D: Remove state stack from tracker, set explicitly instead
2018-02-22 19:40:55 +10:00
Stenzek
e18c7b1c33
D3D: Support state tracking of compute shaders
2018-02-22 19:11:27 +10:00
Stenzek
e8ff2b2006
D3D: Support compiling compute shaders
2018-02-22 19:11:25 +10:00
Stenzek
aaea515d71
GLUtil: Drop now-unused attributeless VAO helpers
2018-02-22 19:09:28 +10:00
Stenzek
052d78bcb1
OGL: Log warnings from shader compiles, even if it compiled successfully
2018-02-22 19:08:54 +10:00
Stenzek
3fd4142f36
OGL: Track state of last bound vertex array object
...
This reduces the overhead of calling glBindVertexArray() every time
RestoreAPIState() is called, even when it is redundant.
2018-02-22 19:08:52 +10:00
Lioncash
abfaff8ca9
Qt: Remove unnecessary <iostream> includes
...
<iostream> injects a static constructor into the translation units that
it's included into. This is trivially avoidable in these cases.
2018-02-21 16:38:08 -05:00
JosJuice
619f98b97b
Merge pull request #6389 from spycrab/fix_wiimote
...
Fix emulated Wiimotes
2018-02-20 21:37:30 +01:00
spycrab
de1af2e45d
Fix emulated Wiimotes
2018-02-20 20:41:29 +01:00
Léo Lam
f9445bb119
IOS: Remove ec_wii functions
2018-02-19 20:34:06 +01:00
Léo Lam
5e5c9e1772
IOSC: Add Sign
...
Equivalent of IOSC_GenerateCertificate + IOSC_GeneratePublicKeySign.
This is copied from ec_wii/MakeAPSigAndCert.
2018-02-19 20:34:06 +01:00
Léo Lam
b3c7874a3a
IOSC: Add GetDeviceId and GetDeviceCertificate
2018-02-19 20:34:06 +01:00
Léo Lam
f3c63b3108
IOSC: Load built-in key entries directly from keys.bin
...
Preliminary commit for merging ec_wii into IOSC.
2018-02-19 20:34:06 +01:00
Léo Lam
1f4ddea5f7
IOSC: Change misc_data to a u32
...
It's always 4 bytes long, so let's just make it a u32.
2018-02-19 20:34:05 +01:00
Markus Wick
e01fe46068
Merge pull request #6367 from stenzek/gl-flush
...
OGL: Use explicit flush instead of GL_SYNC_FLUSH_COMMANDS_BIT
2018-02-19 16:26:35 +01:00
Stenzek
de632fc9c8
Renderer: Handle resize events on-demand instead of polling
...
We now differentiate between a resize event and surface change/destroyed
event, reducing the overhead for resizes in the Vulkan backend. It is
also now now safe to change the surface multiple times if the video thread
is lagging behind.
2018-02-20 01:15:55 +10:00
Stenzek
5baf3bbe2e
OGL: Clear backbuffer before presenting instead of at start of frame
2018-02-20 01:11:40 +10:00
Stenzek
c1b39ecc58
BPFunctions: Move upscaling of scissor rect to VideoCommon
2018-02-20 00:49:32 +10:00
Stenzek
5359396099
BPFunctions: Move GX viewport conversion to VideoCommon
2018-02-20 00:49:32 +10:00
Markus Wick
a2d2a0a356
Merge pull request #6384 from jeffythedragonslayer/master
...
Jit64: fixed some signed to unsigned integer warnings
2018-02-19 15:28:06 +01:00
Anthony
4876b9d8e0
Merge pull request #6362 from spycrab/qt_indicators
...
Qt/Mapping: Implement indicators
2018-02-18 11:45:12 -08:00
Jeff Linahan
caf721fb3f
Jit64: fixed some signed to unsigned integer warnings
2018-02-16 17:41:16 -05:00
Stenzek
340ee8fff8
PixelShaderGen: Implement table-based fog range as in software renderer
2018-02-15 22:19:21 +10:00
Markus Wick
e7d0aae5be
Merge pull request #6335 from stenzek/membp
...
Jit64: Fix incorrect PC in PPC state during fastmem trampoline
2018-02-15 11:13:52 +01:00
spycrab
ec54b421a4
Qt/Mapping: Implement indicators
2018-02-15 05:01:44 +01:00
Stenzek
7c517226ed
Vulkan: Remove redundant YUYV conversion shaders
...
These are no longer used as of hybrid XFB.
2018-02-14 15:26:35 +10:00
Sepalani
a9b89b35fb
DolphinWX: Propagate IDM_UPDATE_BREAKPOINTS to CodeWindow
2018-02-13 20:20:58 +01:00
Léo Lam
dbdf964f2e
Merge pull request #6376 from sepalani/es-fix
...
ES: Make it not fail on something that isn't IOS
2018-02-13 16:42:17 +01:00
Sepalani
68f7a03d05
ES: Make it not fail on something that isn't IOS
2018-02-13 15:47:38 +01:00
Anthony
f9b809a57e
Merge pull request #6361 from spycrab/qt_fix_layout
...
Qt/GCMemcardManager: Misc. improvements
2018-02-12 13:59:31 -08:00
Lucas Kent
5fe72700fa
Qt: TAS input window - Fix mac os
2018-02-13 08:03:01 +11:00
Rukai
a8d482d8e1
IR widget is now a rectangle
2018-02-13 07:17:16 +11:00
Rukai
d07e212cef
Qt: Implement Wii TAS input window
2018-02-13 07:15:54 +11:00
Rukai
3f1ffbad0d
Qt: Implement GC TAS input window
2018-02-13 07:15:53 +11:00
Anthony
35c43e74d0
Merge pull request #6371 from rukai/dolphinQtHotkeyFixes
...
Qt: Various fixes to hotkeys
2018-02-12 09:28:58 -08:00
Anthony
5b744146f3
Merge pull request #6336 from spycrab/qt_additional_wiimote_settings
...
Qt: Implement Wiimote pane
2018-02-12 09:28:15 -08:00
Léo Lam
8e06257f19
Merge pull request #6374 from sepalani/ios-reload
...
ES: Make it fail on unsupported installed IOSes
2018-02-12 10:02:43 +01:00
Sepalani
a663fcb977
IOS: Adjust reply timing to be closer to real hardware
2018-02-11 18:42:19 +01:00
Sepalani
2ce7fff819
ES: Make it fail on unsupported installed IOSes
2018-02-11 18:42:02 +01:00
Stenzek
93fb0e1e1c
TextureCache: Add an option to disable EFB copies to VRAM
...
The option is named DisableCopyToVRAM under the Hacks section in
GFX.ini. It is intentionally not exposed to the GUI, as users should not
need to use it under normal circumstances. The main use is debugging
issues in the EFB-to-RAM shaders.
2018-02-11 15:48:46 +10:00
Stenzek
84b990faa0
VideoConfig: Remove bForceCopyToRam field
...
It's the inverse of supports-copy-to-vram.
2018-02-11 15:29:37 +10:00
Rukai
4b5373b25b
Remove hardcoded esc hotkey, make pause/stop hotkey actually toggle rather than just pausing, fix frame advance hotkey
2018-02-10 23:30:59 +11:00
spycrab
7c99f10152
Qt/Graphics: Add ubershader options
2018-02-10 13:11:18 +01:00
spycrab
c07443a628
Qt/GCMemcardManager: Misc. improvements
2018-02-09 21:54:07 +01:00
spycrab
220e4bcd99
Qt/MappingButton: light up when mapped key is pressed
2018-02-09 12:30:02 +01:00
Stenzek
6490c2b86b
OGL: Use explicit flush instead of GL_SYNC_FLUSH_COMMANDS_BIT
2018-02-09 01:25:14 +10:00
Stenzek
4b96db8fc9
OGL: Don't leave staging texture buffer bound after mapping
...
This could cause glReadPixels() calls which assume no buffer is bound
(e.g. CPU EFB access) to fail. The problem was limited to devices which
don't support persistent mapping, as the map path is not otherwise.
2018-02-09 01:15:27 +10:00
Anthony
c30ac55cf4
Merge pull request #6354 from leoetlino/hle
...
HLE: Minor cleanup
2018-02-07 23:36:31 -08:00
Anthony
096131c908
Merge pull request #6334 from stenzek/startup
...
Video Backend Initialization/Core Boot Improvements
2018-02-07 23:35:54 -08:00
Anthony
4636230f5a
Merge pull request #6333 from stenzek/vulkan-transition
...
Vulkan: Fix invalid stage mask in layout transitions
2018-02-07 23:32:05 -08:00
Anthony
8adce86daa
Merge pull request #6355 from myfreeweb/clang6-warning
...
Add -Wno-register to calm down clang 6.0.0 (C++17 mode)
2018-02-07 22:25:57 -08:00
spycrab
87d7c994e7
Qt/Settings: Implement ControllerStateNeeded
2018-02-07 18:49:23 +01:00
Christian Murphy
5b01c5e119
Qt: Implement Wiimote speaker volume slider and Wiimote motor toggle, rebased all changes... included fixed based on feedback by ligfx
2018-02-07 18:46:13 +01:00
spycrab
2f7b68ade5
Qt/BreakpointWidget: Fix MBP delete
2018-02-06 11:06:14 +01:00
Greg V
9b201815f2
Ignore -Wregister to calm down recent clang and GCC (C++17 mode)
...
The 'register' keyword is used by a header included from Xlib (X11/XKBlib.h).
2018-02-05 14:43:07 +03:00
Léo Lam
920dd0edd0
Merge pull request #6358 from myfreeweb/dont-link-usbhid
...
Do not link to libusbhid on FreeBSD/NetBSD
2018-02-05 11:59:35 +01:00
Anthony
2442a34c3d
Merge pull request #6357 from leoetlino/evdev
...
evdev: Minor fixes
2018-02-04 16:29:25 -08:00
Léo Lam
6a93223283
evdev: Always unref received udev devices
...
Whenever udev_monitor_receive_device() returns a non-null pointer,
the device must be unref'd after use with udev_device_unref().
We previously missed some unref calls for non-evdev devices.
2018-02-05 01:01:05 +01:00
Léo Lam
0822bb347d
evdev: Don't leak eventfd on shutdown
2018-02-04 22:48:38 +01:00
Greg V
be716a680f
Do not link to libusbhid on FreeBSD/NetBSD
...
Both libusbhid (system library) and libhidapi (3rd party library)
provide a function called hid_init. Dolphin was being linked to both.
The WiimoteScannerHidapi constructor was calling hid_init without
arguments. libusbhid's hid_init expects one argument (a file path).
It was being called as if it was defined without arguments, which
resulted in a garbage path being passed in, and because of that,
the Qt GUI was failing to launch with the following error:
'dolphin-emu-qt2: @ : No such file or directory'
2018-02-05 00:46:59 +03:00
Léo Lam
9a3705f82d
evdev: Fix select() call
...
It's not guaranteed that the eventfd is smaller than the monitor fd,
because fds are not always monotonically allocated. To select()
correctly in all cases, use the max between the monitor fd and eventfd.
2018-02-04 22:45:28 +01:00
spycrab
f253c1ea32
Qt/MappingButton: Save settings when a mapping is changed
2018-02-04 22:03:38 +01:00
Léo Lam
3deb8ce074
HLE: Use enum classes for HookType and HookFlag
2018-02-04 14:50:55 +01:00
Léo Lam
a184ab93b6
HLE: Remove an unused function
...
There is nothing using PanicAlert in either official titles or libogc.
2018-02-04 14:41:55 +01:00
Léo Lam
44391ad2fe
Merge pull request #6353 from spycrab/qt_fix_invdev
...
Qt/MappingWindow: Fix invalid device being selected by default
2018-02-04 12:54:14 +01:00
spycrab
489f478751
Qt/MappingWindow: Fix invalid device being selected by default
2018-02-03 20:21:44 +01:00
Anthony
32d206362f
Merge pull request #6351 from spycrab/qt_fix_switch
...
Qt: Work around broken drivers that don't allow backend switching
2018-02-03 09:18:16 -08:00
spycrab
7c5e464584
Qt: Work around broken drivers that don't allow backend switching
2018-02-03 14:19:12 +01:00
Léo Lam
2ab29e8284
Merge pull request #6311 from cbdevnet/master
...
Have dolphin-emu-nogui conform to the _NET_WM_PID protocol
2018-02-03 10:42:49 +01:00
cbdev
6182ab6a6a
dolphin-emu-nogui: Conform to the _NET_WM_PID protocol
2018-02-03 03:43:42 +01:00
Stenzek
cf5bf3899f
Merge pull request #6345 from spycrab/qt_fix_fsw
...
Qt/FileystemWidget: Fix crash when right-clicking GC disc
2018-02-03 00:56:55 +10:00
Stenzek
e20eac72f4
Merge pull request #6347 from spycrab/qt_update_defiso
...
Qt/Settings: Update default gamelist path textbox when changed
2018-02-03 00:55:45 +10:00
Stenzek
3e494baff2
Merge pull request #6346 from spycrab/qt_dbg_checkbox
...
Qt/NewBreakpointDialog: Fix radio button weirdness
2018-02-03 00:50:30 +10:00
Stenzek
75583ab098
Merge pull request #6350 from spycrab/qt_gc_selbug
...
Qt/GameCubePane: Fix file selection
2018-02-03 00:48:08 +10:00
spycrab
3f4a3b2456
Qt/GameCubePane: Fix file selection
2018-02-02 12:32:55 +01:00
Stenzek
260d5b7aa7
BPMemory: Handle fog configuration where both A and C are infinity/NaN
...
The console appears to behave against standard IEEE754 specification
here, in particular around how NaNs are handled. NaNs appear to have no
effect on the result, and are treated the same as positive or negative
infinity, based on the sign bit.
However, when the result would be NaN (inf - inf, or (-inf) - (-inf)),
this results in a completely fogged color, or unfogged color
respectively. We handle this by returning a constant zero for the A
varaible, and positive or negative infinity for C depending on the sign
bits of the A and C registers. This ensures that no NaN value is passed
to the GPU in the first place, and that the result of the fog
calculation cannot be NaN.
2018-02-01 17:40:39 +10:00
Anthony
1264daae9b
Merge pull request #6327 from spycrab/qt_memcard_manager
...
Qt: Implement GameCube memcard manager
2018-01-31 13:22:40 -08:00
spycrab
28ad12bf30
Qt/Settings: Update default gamelist path textbox when changed
2018-01-31 19:58:02 +01:00
spycrab
8f43f379a0
Qt/NewBreakpointDialog: Fix radio button weirdness
2018-01-31 19:28:44 +01:00
spycrab
8a612bf285
Qt/FileystemWidget: Fix crash when right-clicking GC disc
2018-01-31 13:51:46 +01:00
Stenzek
987bec2fd5
Merge pull request #6342 from spycrab/qt_rw_flicker
...
Qt/RenderWidget: Avoid flickering
2018-01-31 12:43:19 +10:00
Léo Lam
d04b179111
Merge pull request #6344 from spycrab/qt_gc_mcselector
...
Qt/GameCubePane: Fix memory card selector
2018-01-30 17:49:13 +01:00
spycrab
50eb8a5c81
Qt/AdvancedPane: Add ability to change clock speed while the game is running
2018-01-30 12:08:44 +01:00
spycrab
350c1f999c
Qt/GameCubePane: Fix memory card selector
2018-01-30 10:23:57 +01:00
spycrab
e5994706eb
Qt/RenderWidget: Avoid flickering
2018-01-30 10:05:50 +01:00
Léo Lam
3bceb3c52a
Merge pull request #6328 from spycrab/qt_fix_gc_amnesia
...
Qt/GameCubePane: Various fixes
2018-01-29 21:58:59 +01:00
Stenzek
fe5150cc31
Merge pull request #6303 from TraceBullet/auto-adjust-window-size
...
Fix Auto-Adjust Window Size option making the window too large
2018-01-29 17:28:44 +10:00
spycrab
21db1e9504
Qt: Implement GameCube memory manager
2018-01-29 01:01:25 +01:00
spycrab
d0b64745d8
Qt/RegisterColumn: Fix value columns not being editable
2018-01-28 17:10:33 +01:00
spycrab
28e0388658
Qt/GameCubePane: Fix EXIDevices resetting to Nothing
2018-01-27 15:09:14 +01:00
Stenzek
15efd42eba
Jit64: Don't flush PC in exception block
...
These blocks can only be executed as a result of a DSI exception from a
loadstore, where we now flush the PC register prior to the loadstore.
2018-01-27 22:32:57 +10:00
Stenzek
8933fe599c
Jit64: Update PC before slowmem reads as well as writes
2018-01-27 22:29:39 +10:00
Stenzek
7f3c31d78d
Jit64: Set correct PC when emitting slowmem trampoline
2018-01-27 18:19:42 +10:00
Stenzek
505d30be3d
DolphinWX: Move fullscreen switch to after startup is complete
...
This means that any error messages won't be hidden by the fullscreen
window.
2018-01-27 14:17:14 +10:00
Stenzek
c790077c13
VideoBackend: Remove PeekMessages method
...
The video thread and backend no longer create any windows, therefore
there will never be any messages dispatched to their thread.
2018-01-27 13:53:55 +10:00
Stenzek
d96e8c9d76
VideoBackends: Combine Initialize/Prepare and Cleanup/Shutdown methods
...
Also allows the work previously done in Prepare to return a failure
status.
2018-01-27 13:53:55 +10:00
Stenzek
04027a7da7
Core: Improve ordering of boot
...
- Smplification of graphics backend startup/shutdown.
- Don't send complete message until CPU is ready to execute.
- Remove redundant stop message.
- Remove OSD message with backend name.
2018-01-27 13:53:55 +10:00
Stenzek
f9053527a9
Core: Don't spawn an extra thread in single-core mode
...
We don't need a message pump thread for the video backend, as the window
is created on the UI thread, not the "idle" emu thread.
2018-01-27 13:53:55 +10:00
Stenzek
c81ac1a81d
Merge pull request #6332 from stenzek/frame-dump-crash
...
Renderer: Fix crash on shutdown when frame dumping or taking screenshots
2018-01-27 12:27:46 +10:00
TraceBullet
ab6f932347
Fix Auto-Adjust Window Size option making the window too large
2018-01-26 10:47:19 -05:00
Léo Lam
0eaf3deb1e
Merge pull request #6322 from spycrab/qt_gecko_input
...
Qt/GeckoCodeWidget: Add option to add/remove gecko codes from UI
2018-01-26 13:33:15 +01:00
Léo Lam
28176d0117
Merge pull request #6309 from sepalani/rsbk-sym-map
...
PPCSymbolDB: two columns symbol map support added
2018-01-26 13:12:46 +01:00
Léo Lam
2ad344b725
Merge pull request #6323 from spycrab/qt_connect_wiimote
...
Qt: Implement "Connect Wii Remotes" menu
2018-01-26 13:10:22 +01:00
Stenzek
81ae88d2d5
AbstractTexture: Fix crash in Vulkan backend when freeing texture
2018-01-26 19:12:11 +10:00
Stenzek
fd39103c73
Vulkan: Fix invalid stage mask in layout transitions
2018-01-26 12:33:24 +10:00
Stenzek
47f453d7aa
Vulkan: Fix waiting on non-existant fence when reading back
2018-01-26 12:33:24 +10:00
Stenzek
3f197480ef
Renderer: Fix crash on shutdown when frame dumping or taking screenshots
2018-01-26 12:12:00 +10:00
spycrab
ee90893bfe
Qt/GeckoCodeWidget: Option to add/remove gecko codes from UI
2018-01-24 21:09:59 +01:00
JosJuice
c5ac325fb8
Add missing &s to Qt AR strings
...
Without this, the strings differ from DolphinWX
and thus have to be re-translated by the translators.
2018-01-24 20:38:41 +01:00
spycrab
aae5c950f0
Qt: Implement "Connect Wii Remotes" menu
2018-01-24 19:47:47 +01:00
spycrab
d9d75c27f0
Qt/ARCodeWidget: Use CheatCodeEditor
2018-01-24 13:42:00 +01:00
spycrab
a0f787aa1b
Qt: Turn ARCodeEditor into general purpose CheatCodeEditor
2018-01-24 13:35:13 +01:00
Sepalani
df9611255a
PPCSymbolDB: two columns symbol map support added
2018-01-24 12:43:23 +01:00
Markus Wick
c66156148d
Merge pull request #6317 from stenzek/renderer-bind
...
AbstractTexture: Move Bind() method to Renderer
2018-01-24 12:19:53 +01:00
Léo Lam
432ebe793e
Merge pull request #6318 from JosJuice/qt-debugger-strings
...
Tweak Qt debugger strings to be more translation friendly
2018-01-24 10:39:11 +01:00
Léo Lam
a972892821
Merge pull request #6320 from sepalani/dwc_printf
...
HLE: DWC_Printf debug added
2018-01-24 10:29:02 +01:00
Anthony
2c1cb609cc
Merge pull request #6287 from spycrab/qt_gamecube
...
Qt/Settings: Implement "GameCube pane"
2018-01-23 12:25:05 -08:00
Anthony
440101a6bb
Merge pull request #6279 from spycrab/qt_arcodes
...
Qt: Implement "AR Codes"
2018-01-23 12:23:54 -08:00
Sepalani
6ffb5dbaaa
HLE: DWC_Printf debug added
2018-01-23 19:02:32 +01:00
Stenzek
38e0b6e2ab
AbstractTexture: Move Bind() method to Renderer
...
This makes state tracking simpler, and enables easier porting to command
lists later on.
2018-01-22 13:22:09 +10:00
JosJuice
04b9310bb6
Tweak Qt debugger strings to be more translation friendly
2018-01-21 16:33:46 +01:00
Markus Wick
fca56d532a
Merge pull request #4453 from degasus/custom_texture
...
CustomTexture: Drop old texture format.
2018-01-21 11:22:49 +01:00
spycrab
42c562afbc
Qt: Fix render window resize bug
2018-01-20 21:05:04 +01:00
degasus
a5a0599145
CustomTexture: Drop old texture format.
2018-01-20 17:08:47 +01:00
degasus
0b466249e0
CustomTextures: Drop format convertion.
2018-01-20 16:39:04 +01:00
JosJuice
2441fd28d5
AVIDump: Remove incorrect usage of s_ prefix
2018-01-17 22:19:14 +01:00
Markus Wick
e02025b45e
Merge pull request #6307 from rukai/fix-frame-dump-path
...
Handle framedump path not existing
2018-01-17 22:02:51 +01:00
Lucas Kent
6c7e6016fb
Handle framedump path not existing
2018-01-18 07:53:30 +11:00
Markus Wick
cb7eede193
VideoCommon: Apply custom texture scale for arbitrary mipmaps.
...
We want to get the same mipmap level. And if the IR and the custom
texture upscaling fits, we don't need to modify the LOD bias.
2018-01-17 09:02:36 +01:00
Markus Wick
2a43f41ace
Merge pull request #6297 from JosJuice/custom-texture-arb-filename
...
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
2018-01-15 09:58:30 +01:00
spycrab
fffa883cae
Qt/Settings: Implement "GameCube pane"
2018-01-14 12:24:05 +01:00
Léo Lam
27b6a2e634
Merge pull request #6292 from gyroninja/master
...
Fixed SIGSEGV in PPCDebugInterface When Reading Too Early in The Boot Process
2018-01-13 14:34:38 +01:00
Léo Lam
973bd154b9
Merge pull request #6304 from container1234/qt-debugger
...
Qt/Debugger: Minor fixes
2018-01-13 11:53:20 +01:00
container1234
025d9383ac
Use double instead of float for FPRs
2018-01-13 19:33:11 +09:00
container1234
b6138b9408
Fix 64bit registers that are not displayed correctly
2018-01-13 16:21:32 +09:00
gyroninja
9628e22916
Changed PPCDebugInterace to check memory only after the emulator has finished starting
2018-01-12 15:18:29 -08:00
Léo Lam
955214c6b6
Merge pull request #6299 from Ebola16/master
...
ISOProperties: Rename "Edit Config" and "Show Defaults"
2018-01-12 21:34:16 +01:00
Markus Wick
56d74d65d0
Merge pull request #6298 from 34will/feature/Android_Single_Char_Fix
...
[Android] Fix for single char name for Wii and WAD Games
2018-01-12 09:41:52 +01:00
Stenzek
ce0c699b66
Merge pull request #6246 from stenzek/vulkan-readback-fixes
...
Vulkan: Fix MSAA regression from 5.0-5968
2018-01-12 11:46:55 +10:00
34will
86a787bdf9
Modified StringUtil to change UTF16ToUTF8 to use a wstring_convert and codecvt_utf8<wchar_t> to convert a UTF16 wstring to a UTF8 string.
2018-01-11 21:49:25 +00:00
Markus Wick
b93ae14272
Merge pull request #6300 from JonnyH/WIP/glsl-es-implicit-int-float-conversions-in-gpu-texture-decode
...
GLSL-ES doesn't allow implicit int/uint conversions
2018-01-11 22:22:05 +01:00
34will
a949e98d9b
Modified UTF16BEUTF8 to just convert the UTF-16 C-string into a std::u16string, and pass it into CodeToUTF8 with the 'from' parameter being "UTF-16BE", rather than manually performing the big endian to little endian encoding.
2018-01-11 19:51:19 +00:00
Jonathan Hamilton
46254a2cf2
Some more implicit uint/float conversions in the texture decode shaders
2018-01-11 11:15:40 -08:00
Jonathan Hamilton
f23dd992dd
GLSL-ES doesn't allow implicit int/uint conversions
2018-01-11 10:54:55 -08:00
Ryan Meredith
1fabc93756
ISOProperties: Rename Edit Config and Show Defaults
2018-01-11 08:31:01 -05:00
Stenzek
4997fbce44
Vulkan: Fix possible mismatch between EFB framebuffer and render pass
...
This could happen when changing MSAA settings or internal resolution at
runtime.
2018-01-11 16:02:31 +10:00
Stenzek
0525726338
Vulkan: Move pipeline barrier outside render pass for EFB peeks
2018-01-11 15:36:01 +10:00
Stenzek
48a8063cd5
Vulkan: Fix FramebufferManagerBase::m_EFBLayers being set out-of-range
2018-01-11 15:30:27 +10:00
Stenzek
173a33886c
Vulkan: Move render pass management to ObjectCache
2018-01-11 15:21:34 +10:00
Stenzek
0e50b2c9f2
Vulkan: Add missing layout transition when resolving MSAA depth buffers
2018-01-11 15:21:33 +10:00
34will
ba111959fa
Modified StringUtil to use a u16string instead of a wstring in the non-win32 UTF16BEToUTR8 method.
2018-01-11 02:45:27 +00:00
JosJuice
226b65bd38
Clean up variable naming in HiresTextures::Update
2018-01-10 17:53:51 +01:00
JosJuice
c25fffc9a0
Treat custom textures with "_arb" suffix as having arbitrary mipmaps
...
This is adapted from Bighead's code that was posted at
https://forums.dolphin-emu.org/Thread-dolphin-custom-texture-mipmaps?pid=460867#pid460867
In master, custom textures are never treated as having arbitrary mipmaps,
so we need either a change like this or a change that makes us apply the
arbitrary mipmap heuristic even when a custom texture is used.
2018-01-10 17:51:45 +01:00
Anthony
57640a4c83
Merge pull request #6293 from container1234/dolphinqt-debugger
...
Qt/Debugger: Add TB, XER and GQRs to Registers Window
2018-01-09 21:25:17 -05:00
container1234
5cff714b77
Qt/Debugger: Add TB, XER and GQRs to Registers Window
2018-01-09 18:09:01 +09:00
Markus Wick
22f469697b
Merge pull request #6290 from JosJuice/invalid-aspect-ratio
...
Treat invalid aspect ratio setting values as Auto
2018-01-08 13:46:30 +01:00
JosJuice
1557e6ab05
Specify underlying types for enums that get casted from integers
...
Otherwise we might get UB if the value we cast is larger than the
max value of the underlying type that the compiled picked for the enum.
I haven't done any extensive check through Dolphin to find cases
of this, I'm just fixing the cases I already know of.
2018-01-08 12:14:18 +01:00
JosJuice
a2404c42a1
Treat invalid aspect ratio setting values as Auto
2018-01-06 12:53:53 +01:00
Markus Wick
56d153f548
VideoCommon: Apply the yscale as upscaling of the XFB.
2018-01-06 10:36:33 +01:00
Markus Wick
dc08b73db1
Merge pull request #6141 from JonnyH/WIP/shader-framebuffer-fetch2
...
Implement dual-source blending in shader
2018-01-05 23:42:43 +01:00
Markus Wick
1cf1e7cde0
Merge pull request #6286 from JosJuice/game-list-cache-vector
...
DolphinWX: Speed up in-memory operations on game list cache
2018-01-05 23:37:41 +01:00
JosJuice
6ad04fc589
Merge pull request #6288 from JosJuice/boot-savestate-thread
...
Don't involve host thread when booting from savestate
2018-01-05 21:45:28 +01:00
JosJuice
af51063a9a
DolphinWX: Rewrite the logic for adding/removing games from cache
...
Thanks to degasus for coming up with most of this faster design.
2018-01-05 19:52:14 +01:00
Jonathan Hamilton
c709f3c2d1
Standardise some enums from ALL_CAPS to CamelCase
2018-01-05 10:03:58 -08:00
Jonathan Hamilton
ceb1f8c8cb
Enable shader_framebuffer_fetch blend path on ubershaders
...
Tested on a linux Intel Skylake integrated graphics with
blend_func_extended force-disabled, as it's the only platform I have
that doesn't crash with ubershaders and supports fb_fetch
2018-01-05 09:56:46 -08:00
Jonathan Hamilton
8d68adcaf3
Workaround qualcomm driver bug
...
It seems it doesn't like modifying inout variables in place - so instead
use a temporary for ocol0/ocol1 and only write them once at the end of
the shader
2018-01-05 09:56:46 -08:00
Jonathan Hamilton
29a9ed043b
Implement dual-source blending in shader
...
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
2018-01-05 09:56:46 -08:00
Markus Wick
11976526d1
Merge pull request #6283 from JosJuice/qt-vs-launch
...
Fix launching DolphinQt2 from Visual Studio
2018-01-05 15:34:33 +01:00
Markus Wick
ff8893b1a9
Merge pull request #6277 from vladfi1/surfaceless_egl
...
Surfaceless egl rendering.
2018-01-05 15:20:35 +01:00
JosJuice
c492a5a86a
Don't involve host thread when booting from savestate
...
Suggested by https://github.com/dolphin-emu/dolphin/pull/6271#discussion_r159868704
2018-01-05 14:14:12 +01:00
Markus Wick
e705d43312
Merge pull request #6270 from mahdihijazi/suppport_restore_state
...
[Android] Support restore emulator state
2018-01-05 13:45:36 +01:00
spycrab
2167a45c24
Qt/Mapping: Implement Microphone widget
2018-01-04 18:42:42 +00:00
JosJuice
04cefc6ed3
DolphinWX: Use vector instead of list for game list cache
...
The advantage of std::list is that elements can be removed from the
middle efficiently, but we don't actually need that, because the
ordering of the elements doesn't matter for us. We can just replace the
element we want to remove with the last element and then call pop_back.
Replacing list with vector should speed up looping through the elements.
2018-01-04 17:14:35 +01:00
JosJuice
e44b64b82c
DolphinQt2: Don't use a mutex in GameFileCache
...
GameTracker's usage of GameFileCache is thread-safe even without
using a mutex. All of its access to GameFileCache happens on the
thread m_load_thread, except for the call to GameFileCache::Load,
which finishes before m_load_thread starts executing.
2018-01-04 16:33:15 +01:00
JosJuice
9988652d86
Fix launching DolphinQt2 from Visual Studio
...
Starting with 5.0-5504, trying to launch DolphinQt2 from Visual Studio
shows the error message "The operation could not be completed. Undefined
error" instead of launching the exe file. (The exe gets created
correctly, it just doesn't get launched. It's possible to work around
the problem by launching the exe manually outside of Visual Studio, but
then you won't have an attached debugger automatically.) This commit
fixes that by removing headers from DolphinQt2.vcxproj's ClInclude list
that already are in the QtMoc list. (The problem was originally about
LogWidget.h and LogConfigWidget.h, but 5.0-5600 made the problem be
about CheatWarningWidget.h and GeckoCodeWidget.h instead.)
2018-01-04 13:03:47 +01:00
Léo Lam
637fbec35d
Merge pull request #6274 from myfreeweb/freebsd-libusb-no-detach
...
passthrough: do not detach kernel driver on FreeBSD
2018-01-04 10:39:58 +01:00
Vlad Firoiu
330881ae80
Allow users to specify the encoder used for framedumping.
2018-01-03 13:23:10 +01:00
Léo Lam
1f89d91deb
Merge pull request #6280 from spycrab/qt_screensaver
...
Qt: Toggle Screensaver
2018-01-03 13:13:18 +01:00
spycrab
adada16603
Qt: Toggle Screensaver
2018-01-03 12:38:34 +01:00
spycrab
0dd52ca7ab
UICommon: Move screensaver code to UICommon
2018-01-03 12:38:33 +01:00
Markus Wick
075a226961
Merge pull request #4437 from sepalani/d3d11_fix_debug_build
...
MAX_XFB_HEIGHT: PAL value off by two fixed
2018-01-03 08:53:26 +01:00
Pierre Bourdon
fd13851df2
Merge pull request #6076 from spycrab/qt_debugger
...
Qt: Implement Debugger (part 1 of ∞)
2018-01-03 03:44:27 +01:00
Markus Wick
cb168b1843
Merge pull request #6134 from ligfx/soundstreamlifecycle
...
SoundStream: change Start/Stop lifecycle to Init/SetRunning/destruct
2018-01-02 09:58:36 +01:00
spycrab
afa69a5876
Qt: Implement "AR Codes"
2018-01-01 21:44:49 +00:00
spycrab
4f4021686e
Qt/KDE: Fix icon
2018-01-01 12:31:53 +00:00
Sepalani
44935c23e0
MAX_XFB_HEIGHT: PAL value off by two fixed
2017-12-30 20:22:10 +01:00
Vlad Firoiu
45ac9b678d
Require WINDOW_BIT if we have a window handle.
2017-12-29 23:20:16 -05:00
Vlad Firoiu
eb59267196
Surfaceless egl rendering.
2017-12-29 19:35:43 -05:00
JosJuice
82a6701f79
Optionally delete savestate that gets loaded at boot
2017-12-28 23:15:48 +01:00
spycrab
b63ec57c1e
Qt: Connect debugging widgets
2017-12-28 19:08:38 +01:00
spycrab
8795b342d1
Qt/Debugger: Implement "Breakpoints" window
2017-12-28 19:08:38 +01:00
spycrab
08716be43b
Qt/Debugger: Implement "Watch" window
2017-12-28 19:07:56 +01:00
spycrab
ec37ce093f
Qt/Debugger: Implement "Registers" window
2017-12-28 19:07:18 +01:00
spycrab
2a19ccf806
Qt/InterfaceSettings: Add "Show Debugging UI" option
2017-12-28 18:59:42 +01:00
spycrab
ff283ff912
Qt/Settings: Add debug mode flag
2017-12-28 18:59:42 +01:00
JosJuice
1df69c5750
Merge pull request #6051 from JosJuice/android-sys
...
Android: Extract Sys to a different folder than the User folder
2017-12-27 17:34:24 +01:00
JosJuice
9dd88d76dd
Redesign the ability to load state at boot
...
BootParameters can now contain the path of a savestate to load at boot.
Movie has been made to use this instead of poking at Core.cpp's state.
2017-12-26 20:39:03 +01:00
Greg V
5c1c67d4d8
passthrough: do not detach kernel driver on FreeBSD
...
libusb_detach_kernel_driver() always fails as a regular non-root user:
https://lists.freebsd.org/pipermail/freebsd-usb/2016-March/014161.html
2017-12-26 21:50:50 +03:00
JosJuice
b3b7aef09a
Android: Extract Sys to a different folder than the User folder
2017-12-26 09:53:32 +01:00
JosJuice
ac18cffcab
DolphinQt2: Don't crash when trying to play without a game selected
2017-12-25 18:41:53 +01:00
JosJuice
d1c1793a34
Don't expose SYSDATA_DIR in a header
2017-12-24 17:13:04 +01:00
Leo Lam
b187d4cd08
Merge pull request #6269 from JosJuice/ini-section-mapping
...
GameConfigLoader: Map whole sections, not just individual keys
2017-12-24 15:26:47 +01:00
JosJuice
f41273fe79
GameConfigLoader: Map whole sections, not just individual keys
...
There are two reasons for this change:
1. It removes many repetitive lines of code.
2. I think it's a good idea to enable the use of old-style section
names even for settings that previously haven't been settable in game
INIs. Mixing the two styles in INIs (using the new style only for new
settings) is not ideal, and people on the forums don't even seem to
know that the new style exists (nobody knew a way to set ubershader
settings per game, for instance). Encouraging everyone to start using
only the new style might work long-term, but it would take take time
and effort to make everyone get used to it. Considering that this commit
*reduces* the amount of code by adding the ability to use old-style
names for more settings, I'd say that adding this ability is worth it.
2017-12-23 18:59:27 +01:00
JosJuice
5296ee6d3d
Reduce the indentation level of MapINIToRealLocation
2017-12-23 18:25:49 +01:00
iwubcode
50d96a4411
BPStructs: Use static cast for XFB/EFB copies
2017-12-21 21:19:26 -06:00
iwubcode
e1332b1d7e
Texture Cache Base: Move PAL vertical scaling to be baked into the texture size. This saves on a number of multiplications and fixes an issue where we were multiplying the y-scaling factor by the srcRectangle's height + 1 which was causing a crash in some GC titles
2017-12-21 21:19:26 -06:00
Ryan Meredith
1f226ec14f
Update Readme.md and various fixes
2017-12-20 10:54:51 +01:00
JosJuice
a3355a3e4a
Only use the "Scaled EFB Copy" setting for EFB, not XFB
...
The hybrid XFB PR made it apply to both EFB copies and XFB copies.
2017-12-19 12:59:36 +01:00
Markus Wick
5006ac5c51
Merge pull request #6262 from linkmauve/no-shadow
...
Rename constructor parameters to avoid shadowing members
2017-12-19 12:23:32 +01:00
Emmanuel Gil Peyrot
f5dc8e7737
Rename constructor parameters to avoid shadowing members
2017-12-19 12:05:06 +01:00
Emmanuel Gil Peyrot
d9c2de90c0
Reimplement EFB copy for intensity formats
...
This is the direct continuation of #5887 , and removes the last usage of
the colmat matrix in EFB copy conversion shaders.
2017-12-19 12:04:56 +01:00
Markus Wick
0bf24f549a
Merge pull request #6190 from JosJuice/is-trivially-copyable-vs
...
Remove IsTriviallyCopyable hack for VS
2017-12-19 11:15:58 +01:00
Markus Wick
ed13a8d7a7
Merge pull request #6255 from JosJuice/strerrorr-detect
...
Handle both the XSI and GNU versions of strerror_r
2017-12-19 09:47:51 +01:00
Markus Wick
5afd07c033
Merge pull request #6254 from iwubcode/frame_counter_and_advance_fix
...
Video Common: frame logic fix
2017-12-19 09:44:49 +01:00
JosJuice
bd5da5cfd6
Handle both the XSI and GNU versions of strerror_r
...
Trying to force the XSI version by undefining _GNU_SOURCE can lead
to compilation errors on some systems because of headers expecting
that _GNU_SOURCE is defined.
This commit uses define checks to detect which version we have.
I tried making an overloaded function (int and const char*) instead,
but that led to a warning about one of the variants being unused.
2017-12-18 22:09:02 +01:00
JosJuice
4973ae9952
Rename GFX_HACK_COPY_EFB_ENABLED to GFX_HACK_COPY_EFB_SCALED
...
Not sure why it was named like this... It doesn't affect whether
the copy happens or not, only what resolution it uses.
2017-12-18 21:55:02 +01:00
Leo Lam
4733bbd8f3
Merge pull request #6166 from ligfx/invokedeviceschangedcallbacks
...
ControllerInterface: cleanup callbacks API and logic
2017-12-15 21:05:17 +01:00
Leo Lam
a4592bc3c5
Merge pull request #6210 from ligfx/qtmappingwindowdontstoredevq
...
MappingWindow: don't store devq separately from controller default device
2017-12-15 20:50:06 +01:00
Leo Lam
7e7f1fe713
Merge pull request #6226 from aldelaro5/add-xer-debugger
...
debugger: Add the XER to the register view
2017-12-15 20:49:24 +01:00
Leo Lam
fa0cf5c038
Merge pull request #6247 from leoetlino/homebrew
...
Boot: Minor fixes for Wii homebrew
2017-12-15 20:47:02 +01:00
bobjrsenior
7589ade972
DolphinWX: Add TB and GQR to Register Window
...
The Time Base Register was added under the BAT registers. TBL and TBU
were ORed together to get one 64-bit value to display. It is labeled TB
The Graphics Quantisation Registers were added under the Segment
Registers. They are Labeled GQR0-GQR7.
All new registers are read only.
2017-12-15 20:38:46 +01:00
iwubcode
2f7eacd08c
Video Common: move frame advance and counter logic to only happen when we actually render a frame.
2017-12-15 12:46:18 -06:00
Jonathan Hamilton
a38103afbf
Fix GLES GPU texture conversion shader
...
GLES doesn't support C-style array initialisers, so stuff like:
Type var[2] = {
VALUE_A,
VALUE_B
};
isn't supported in GLES (it was added in
GL_ARB_shading_language_420pack).
The texture conversion shader used this, so would fail to compile on
GLES.
2017-12-12 22:01:10 +00:00
Markus Wick
a70c03a1c0
Merge pull request #6249 from stenzek/texture-dump
...
Texture dumping regression fixes
2017-12-11 08:44:09 +01:00
Jonathan Hamilton
e401004766
Fix an invalid (uint < int) comparison in GLES with ubershaders
2017-12-10 10:52:32 -08:00
Stenzek
2579f8eaa5
TextureCache: Don't dump custom textures
...
They don't have a basename, therefore were being saved to empty files, and potentially can be compressed.
2017-12-10 15:31:46 +10:00
Stenzek
5f5aca7870
OGL: Fix incorrect usage of glGetTextureSubImage
...
Was causing issues with texture dumping on newer drivers.
2017-12-10 15:31:14 +10:00
Markus Wick
eb1ae38304
Merge pull request #6027 from JonnyH/WIP/chained-signal-handler-android-debuggerd
...
Call the previously-set sigaction in fastmem handler if it's not our fault
2017-12-10 00:18:13 +01:00
Jonathan Hamilton
8ae76a6680
Fix arm64 MOVI2R for addresses between 2gb and 4gb offset from PC
...
The PC offset ADRP() path takes a s32 value, but the input offset was
being tested as abs(ptr) < 0xFFFFFFFF. This caused values between
0x80000000 and 0xFFFFFFFF to incorrectly use this path, despite the
offsets not being representable in an s32.
This caused a crash in the VertexLoader on android 8.1 immediate in wind
waker (and possibly all other apps on android 8.1) as the jit and data
sections happened to be loaded 4gb apart in virtual memory, causing some
pointers to hit this
2017-12-09 13:21:58 -08:00
Léo Lam
3dd777be70
Boot: Add default exception handlers
...
Some homebrew expect exception handlers to be present -- which is
almost always the case on console, since most of the time homebrew are
launched from either a libogc or SDK title) -- and break if they are
not. To fix this, we just need to include default, dummy handlers.
2017-12-09 17:24:04 +01:00
Léo Lam
520039ab28
Boot: Use values from libogc for booting Wii homebrew
...
Set HID0, HID4, GPR1 to values that are used by libogc for
initialisation. This makes boots more similar to a launch
from the HBC or another loader, since normally the registers
have already been initialised by the loader.
This fixes a crash in homebrew that assume GPR1 points to a correct
location and attempt to use it before initialising registers.
2017-12-09 17:24:03 +01:00
Léo Lam
ecd7191b5a
Boot: Fix BAT setup in Wii mode
...
HID4.SBE must be set before calling PowerPC::Update{D,I}BAT, otherwise
extended BATs will not be enabled.
2017-12-09 17:24:03 +01:00
Leo Lam
1a9d6b99e9
Merge pull request #6237 from lioncash/gekko-disasm
...
GekkoDisassembler: Correct disassembly of fabs, fnabs, and fneg
2017-12-08 22:50:40 +01:00
Lioncash
e88c457276
DolphinWX: Resolve missing declaration warnings
...
Without the include, the prototypes of the functions can't be found
2017-12-07 18:58:20 -05:00
Anthony
3b887388cd
Merge pull request #6234 from amolloy/high_sierra
...
Fix Wiimote support on macOS 10.13 High Sierra
2017-12-07 12:04:37 -08:00
Pierre Bourdon
8a830074b6
Merge pull request #6220 from leoetlino/utf8
...
WX: Fix argument parsing
2017-12-07 15:16:39 +01:00
Leo Lam
ecf30cfc74
Merge pull request #6240 from JosJuice/stream-path-encoding
...
Don't use wrong encoding for paths when opening streams on Windows
2017-12-07 10:04:55 +01:00
degasus
02dd062518
VideoCommon: Drop now unused efb2tex matrix generation.
2017-12-06 09:30:03 +01:00
JosJuice
9d8a82e1d9
Don't use wrong encoding for paths when opening streams on Windows
2017-12-05 21:23:35 +01:00
Stenzek
d0601c0a83
TextureConversionShader: Use round() instead of roundEven() in HLSL
...
HLSL does not define roundEven(), only round(). This means that the
output may differ slightly for OpenGL vs Direct3D. However, it ensures
consistency across OpenGL drivers, as round() in GLSL can go either way.
2017-12-06 03:33:50 +10:00
Stenzek
e0ffce2785
D3D: Use VideoCommon EFB-to-texture shaders
2017-12-06 03:33:50 +10:00
Stenzek
beb35320f6
TextureConverterShaderGen: Make generated shaders HLSL-compatible
2017-12-06 03:33:50 +10:00
Leo Lam
08da19fc87
Merge pull request #6217 from ligfx/qtfifofix
...
FIFOPlayerWindow: don't reset frame/object limit every frame
2017-12-04 12:05:33 +01:00
Lioncash
ed2be3b8e3
DolphinWX/Main: Fix shader compilation dialog translations
...
Fixes issue 10685
2017-12-04 04:33:49 -05:00
Markus Wick
30b5cbcb02
Merge pull request #6235 from lioncash/reorder
...
WiiSaveBanner: Resolve a -Wreorder warning
2017-12-04 08:52:42 +01:00
Lioncash
de82330a74
GekkoDisassembler: Correct disassembly of fabs, fnabs, and fneg
...
These three instructions use the B field (bits 16-20 of the opcode)
to determine what the operand register is. However, the code was
using the path that uses the C field (bits 21-25).
This amends the code to use the B field (and also fixes the 64-bit PPC
opcodes, because why not?).
Fixes issue 10683.
2017-12-04 00:02:35 -05:00
Lioncash
050440fd5b
OGL/TextureConverter: Remove unnecessary using declaration
2017-12-03 18:51:22 -05:00
Lioncash
93e85f9a7c
OGL/TextureConverter: Resolve -Wmissing-variable-declaration warnings
2017-12-03 18:51:17 -05:00
Lioncash
666af4605e
WiiSaveBanner: Resolve a -Wreorder warning
2017-12-03 18:34:49 -05:00
Andrew Molloy
f5839f854a
Fix whitespace in and around WiimoteScannerDarwin::~WiimoteScannerDarwin() (linter).
2017-12-03 12:31:18 -05:00
Andrew Molloy
8354e89cf1
Break out of the loop waiting for the SearchBT to be done in WiimoteScannerDarwin::FindWiimotes() when the object is destroyed. Allows the application to quit correctly when Continuous Scanning is enabled on macOS.
2017-12-03 11:41:06 -05:00
Andrew Molloy
d306397bbc
-[deviceInquiryComplete:error:aborted:] comes in on the main thread in macOS 10.13, so instead of using CFRunLoopRun()/CFRunLoopStop(), just let the run loop do one pass. This is already in a loop waiting for done to be false. This also means -[deviceInquiryComplete:error:aborted:] should no longer call CFRunLoopStop(). Fixes connecting to Wiimotes in macOS 10.13+, should continue to work as before in 10.12 and below.
2017-12-03 10:32:07 -05:00
Markus Wick
8bcc392d5d
Merge pull request #5887 from linkmauve/alpha-fix
...
Simplify EFB copy shaders
2017-12-03 11:21:08 +01:00
JosJuice
f68956a614
Merge pull request #6232 from lioncash/d3d-vert-mgr
...
D3D/VertexManager: Add missing includes
2017-12-03 09:24:23 +01:00
Lioncash
6ca85dbf0a
VKTexture: Add missing override specifier to the other ScaleRectangeFromTexture() prototype
2017-12-02 20:20:13 -05:00
Lioncash
c7bc16811c
VKTexture: Remove unimplemented ScaleRectangleFromTexture() prototype
2017-12-02 20:15:32 -05:00
Lioncash
b0fadbb5de
D3D/VertexManager: Add missing includes
...
Gets rid of reliance on indirect includes
2017-12-02 20:09:33 -05:00
Léo Lam
d95177526f
VideoBackends: Fix -Wswitch warnings
2017-12-02 21:52:07 +01:00
Léo Lam
67ba326ff6
VideoCommon: Fix -Wformat warnings
2017-12-02 21:48:01 +01:00
Emmanuel Gil Peyrot
85bb1d7bb0
VideoCommon: Reimplement texture format conversion
...
This fixes the rendering of the scan visor in Metroid Prime 2: Echoes,
as seen in https://fifoci.dolphin-emu.org/dff/mp2-scanner/
The alpha channel was off-by-one on Ivy Bridge due to the rounding
after multiplication with colmat. This commit removes this matrix
altogether in most cases, making them simple GLSL swizzles.
2017-12-02 19:29:01 +01:00
Anthony
d71f4168e9
Merge pull request #6229 from JosJuice/clarify-keys-dump
...
Clarify the "Select the OTP/SEEPROM dump" message
2017-12-02 09:49:22 -08:00
JosJuice
c4db59e7b6
Clarify the "Select the OTP/SEEPROM dump" message
...
Most users don't know what OTP/SEEPROM means.
2017-12-02 18:23:38 +01:00
JosJuice
05879875f6
Make USB keyboard input respect the background input setting
2017-12-02 18:12:04 +01:00
Markus Wick
76fbdbb06e
Merge pull request #5903 from linkmauve/fix-mp2e
...
Round values in swizzlers
2017-12-02 17:38:21 +01:00
degasus
e2a9ee384f
VideoCommon: Rename TextureConversionShader namespace.
2017-12-02 15:17:39 +01:00
degasus
e8febd0cef
VideoCommon: Create a namespace for TextureConversionShaderGen.
2017-12-02 15:17:39 +01:00
Markus Wick
491c10ec96
VideoBackends: Use VideoCommon shader generators for efb2tex copies.
...
This will generate one shader per copy format. For now, it is the same
shader with the colmat hard coded. So it should already improve the GPU
performance a bit, but a rewrite of the shader generator is suggested.
Half of the patch is done by linkmauve1:
VideoCommon: Reorganise the shader writes.
2017-12-02 15:17:39 +01:00
aldelaro5
b7fdf374e6
debugger: Add the XER to the register view
2017-12-01 05:31:41 -05:00
Lioncash
1e7096dd27
D3DBase: Mark file-scope variables as internally linked where applicable
2017-11-30 23:46:46 -05:00
Stenzek
cd68b3606c
Merge pull request #6193 from stenzek/readbacks
...
Abstract Staging Textures - VideoCommon interface for texture readbacks/uploads
2017-12-01 14:24:06 +10:00
Anthony
7c96e51bc8
Merge pull request #6187 from raelgc/1-exit-on-esc
...
Add an exit key to `dolphin-emu-nogui`
2017-11-27 13:30:33 -08:00
Léo Lam
291c99217e
Qt: Fix NAND import menu item parent
2017-11-26 18:33:07 +01:00
Léo Lam
6e796a74fb
Qt: Add support for --exec
2017-11-26 18:32:28 +01:00
Léo Lam
05c8d229af
Config: Handle unknown system strings better
...
Currently, a simple typo in the system name will trigger an assert
message that complains about a "programming error". This is not
user friendly and misleading.
So this changes GetSystemFromName to return an std::optional, which
allows for callers to check whether the system exists and handle
failures better.
2017-11-26 18:24:01 +01:00
Léo Lam
653977cec7
UICommon: Fix unsafe usage of optparse::Values::all
...
The const-qualified all() member method triggers undefined behaviour
if the option passed to it is not set.
2017-11-26 18:18:49 +01:00
Léo Lam
60afb1d1b4
WX: Fix argument parsing
...
Manually convert each argument to a UTF-8 std::string, because the
implicit conversion for wxCmdLineArgsArray to char** calls ToAscii
(which is obviously undesired).
Fixes https://bugs.dolphin-emu.org/issues/10274
2017-11-26 18:18:48 +01:00
Markus Wick
96e094e127
Merge pull request #6216 from stenzek/headless-frame-dumping
...
OGL: Fix headless frame dumping
2017-11-26 11:36:10 +01:00
Jules Blok
7dd207931d
UberShaderPixel: Fix the interpolation qualifier for interface blocks.
...
Fixes MSAA on MacOS with ubershaders enabled.
2017-11-25 21:51:14 +01:00
Michael M
fc2a0a1988
FIFOPlayerWindow: don't reset frame/object limit every frame
2017-11-24 14:11:59 -08:00
Stenzek
cf1f975148
Vulkan: Fix headless framedumping without USE_X11 set
2017-11-23 17:00:32 +10:00
Stenzek
32125cf181
OGL: Fix headless frame dumping
...
Also skips swapping the window system buffers in headless mode, as there
may not be a surface which can be swapped in the first place. Instead,
we call glFlush() at the end of a frame in this case.
2017-11-23 16:53:55 +10:00
Stenzek
ab44536a3c
OGL: Update the window size after swapping buffers, not before
...
Prevents us from rendering beyond the viewport bounds.
2017-11-23 16:09:59 +10:00
Stenzek
7f217a8bb2
Vulkan: Drop StagingTexture2D class as it is now duplicated functionality
2017-11-22 18:49:33 +10:00
Stenzek
db1d9de933
AbstractTexture: Drop slow map readback path
2017-11-22 18:49:33 +10:00
Stenzek
193763ca3a
TextureCacheBase: Don't crop last row/column of XFB copies
...
Unsure why this was happening in the first place.
2017-11-22 18:49:33 +10:00
Stenzek
6577365851
VideoCommon: Re-implement asynchronous frame dumping
...
This was lost as a result of hybrid XFB, now it is back, and ~10%
faster in very brief testing.
2017-11-22 18:49:33 +10:00
Stenzek
752dd4761d
D3D: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
Stenzek
9da9f26b90
OGL: Use new readback methods for EFB2RAM
2017-11-22 18:47:04 +10:00
Stenzek
59517318d6
Vulkan: Use new readback methods for texture encoding
2017-11-22 18:47:04 +10:00
Stenzek
c2cc128f1b
AbstractTexture: Implement Save using new common methods
2017-11-22 18:47:04 +10:00
Stenzek
56afebeb44
AbstractTexture: Seperate CopyRectangleFromTexture to two methods
...
ScaleRectangleFromTexture, which does a draw, and
CopyRectangleFromTexture, which where possible, does a bit-for-bit copy.
2017-11-22 18:47:04 +10:00
Stenzek
f43d85921d
VideoBackends: Add AbstractStagingTexture class
...
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
Stenzek
a584ccc7d8
AbstractTexture: Support BGRA8 formats
...
Used for some driver's swap chains, and EFB to RAM.
2017-11-22 18:47:04 +10:00
Stenzek
49a9c33bd7
VideoCommon: Move abstract texture creation function to Renderer
2017-11-22 18:47:04 +10:00
Stenzek
5860c97144
D3D: Move device release from Renderer destructor to shutdown
...
Necessary if we wish to have GPU objects in our base class, as otherwise
the device will be released before the objects.
2017-11-22 18:47:04 +10:00
Stenzek
c5a89b6483
D3D: Remove BeginFrame/EndFrame
...
These functions did not do anything anyway. There is also no need to
present the backbuffer when shutting down.
2017-11-22 18:47:04 +10:00
Stenzek
d9400f708a
D3D: Move remaining static variables from Render.cpp to Renderer class
2017-11-22 18:47:04 +10:00
Stenzek
798ec96e14
D3D: Make state cache part of Renderer and not static
2017-11-22 18:17:07 +10:00
Leo Lam
73a67aa413
Merge pull request #6204 from stenzek/downscaled-screenshots
...
Frame Dumping: Fix window-size framedumping
2017-11-22 07:53:23 +01:00
Stenzek
efb9759862
LightingShaderGen: Always calculate lighting for both color channels
...
Cel-damage uses the color from the lighting stage of the vertex pipeline
as texture coordinates, but sets numColorChans to zero.
We now calculate the colors in all cases, but override the color before
writing it from the vertex shader if numColorChans is set to a lower value.
2017-11-22 01:52:18 +10:00
Stenzek
470e8d63b6
VideoConfig: Rename "Full Resolution Frame Dumps" to "Internal"
...
What is the "full" resolution, anyway?
2017-11-21 17:20:55 +10:00
Stenzek
8985cb2f0b
Renderer: Re-implement window size frame dumping
...
This was broken by hybrid XFB, and all frame dumping/screenshots occured
at the full internal resolution.
2017-11-21 17:19:43 +10:00
Stenzek
39559f6358
VideoConfig: Remove bSupportsInternalResolutionFrameDumps
...
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
Stenzek
18c1bf19ca
VideoCommon: Use constant for number of color channels in XFMemory
2017-11-20 23:18:44 +10:00
Michael M
ebc547030d
BootManager: RestoreSYSCONF without resetting all other config
...
This was causing an issue where DolphinQt couldn't save graphics options
(DolphinWX doesn't hit this code path), because this function was being
called before the in-memory config was flushed to disk.
With this PR, the in-memory config isn't reset, and only SYSCONF-related
variables may get changed.
2017-11-19 17:17:59 -08:00
Michael M
5dc3ecdb72
Qt: show "Immediately present XFB" option
2017-11-19 15:37:24 -08:00
spycrab
474b1c2d5c
Qt: Implement FIFO Player
2017-11-19 22:06:32 +01:00
spycrab
aa8bf71333
FifoRecorder: Implement IsRecordingDone()
2017-11-19 21:49:29 +01:00
spycrab
aac1b386b9
FifoPlayer: Implement IsPlaying()
2017-11-19 21:49:29 +01:00
Michael M
6b7d5bb80c
DeviceQualifier: small cleanup
2017-11-19 12:46:39 -08:00
Michael M
ac855e2c93
MappingWindow: don't store devq separately from controller default device
2017-11-19 12:46:39 -08:00
Michael M
9551fe1c73
MappingWindow: m_controller is never nullptr
...
Since GCPadWiiUConfigDialog was made its own class, m_controller will
never be nullptr.
2017-11-19 12:46:38 -08:00
JosJuice
b3b58b586c
Merge pull request #5943 from leoetlino/features
...
IOS: Check for available features when adding devices
2017-11-19 21:43:54 +01:00
Michael M
a988a8a458
AudioCommon: make SetSoundStreamRunning idempotent
2017-11-19 12:09:54 -08:00
Michael M
0baddbf9a8
SoundStream: change Start/Stop to Init/SetRunning/destruct
2017-11-19 12:09:54 -08:00
Michael M
ad4a89d64b
CubebStream: implement SetRunning
2017-11-19 12:09:54 -08:00
JosJuice
d0b9923b0a
Move XFB settings in DTM header back to where they were
...
7f0834c9
moved the locations of the Real XFB (now XFB to RAM) and
Disabled XFB (now Immediate Mode) settings. There are programs
other than Dolphin that parse DTM headers, so this is not good.
Note that Immediate XFB actually is the inversion of Disabled XFB.
I hope that's not too much of a problem...
2017-11-19 19:03:03 +01:00
Lioncash
d6f10fdc15
D3DUtil: Remove unused defines
2017-11-19 12:14:18 -05:00
Lioncash
01a92af014
D3DUtil: Make file-scope variables internally linked where applicable
...
All file scope variables are able to be made internally linked.
CD3DFont is essentially used as an extension to the utility interface, so
this is able to be made internal as well, removing a global from
external view.
2017-11-19 12:12:39 -05:00
spycrab
9388852e05
Qt: Fix blackscreen
2017-11-19 17:49:51 +01:00
Michael Maltese
c62d83a34b
GCPadEmu: only connected if default device connected
...
This lets Dolphin know if a configured GameCube Controller should actually
be treated as connected or not.
Talked to @JMC47 a bit about this last night. My use-case is that all of
my controllers are the same hardware (Xbox One controllers) so share the
same configuration (modulo device number). Treating them all as always
connected isn't a problem for most games, but in some (Smash Bros.) it
forces me to go find a keyboard/mouse and unconfigure any controllers
that I don't actually have connected. Hotplugging devices (works on macOS,
at least) + this patch remove my need to ever touch the Controller Config
dialog while in a game.
This patch makes the following changes:
- A new `BooleanSetting` in `GCPadEmu` called "Always Connected", which
defaults to false.
- `ControllerEmu` tracks whether the default device is connected on every
call to `UpdateReferences()`.
- `GCPadEmu.GetStatus()` now sets err bit to `PAD_ERR_NO_CONTROLLER` if
the default device isn't connected.
- `SIDevice_GCController` handles `PAD_ERR_NO_CONTROLLER` by imitating the
behaviour of `SIDevice_Null` (as far as I can tell, this is the only use
of the error bit from `GCPadStatus`).
I wanted to add an OSD message akin to the ones when Wiimotes get
connected/disconnected, but I haven't yet found where to put the logic.
2017-11-19 16:07:00 +01:00
Michael Maltese
379e28b58c
Add GCPadStatus.isConnected boolean
2017-11-19 16:01:08 +01:00
Michael Maltese
bb1c794657
Remove unused GCPadStatus.err
2017-11-19 16:01:07 +01:00
Leo Lam
80bcc0d58d
Merge pull request #6186 from lioncash/enum-class
...
VideoConfig: Make AspectMode and StereoMode enum classes
2017-11-19 15:08:16 +01:00
Leo Lam
a75546747e
Merge pull request #6164 from leoetlino/usb-hid
...
IOS/USB: Implement HIDv5
2017-11-19 14:13:57 +01:00
JosJuice
b8c83dd5f3
Merge pull request #5973 from ligfx/renamefifoqueue
...
Rename Common::FifoQueue to Common::SPSCQueue
2017-11-19 13:51:22 +01:00
Markus Wick
9178a6e636
Merge pull request #6197 from degasus/GP
...
Jit: Optimize gather pipe usage.
2017-11-19 11:52:20 +01:00
Markus Wick
40ed0e4251
Merge pull request #6198 from lioncash/cmake
...
D3D: Remove non-existent files from CMakeLists.txt
2017-11-19 10:41:32 +01:00
JosJuice
2ead31c769
Merge pull request #6203 from lioncash/missing-braces-warn
...
VideoCommon: Resolve -Wmissing-brace warnings
2017-11-19 08:45:13 +01:00
JosJuice
2385a03c2b
Merge pull request #6201 from lioncash/headers
...
VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB
2017-11-19 08:44:48 +01:00
JosJuice
4c23516b16
Merge pull request #6202 from lioncash/reorder-warn
...
AbstractTexture: Remove a redundant constructor initializer list entry
2017-11-19 08:44:29 +01:00
Lioncash
518f6a3624
VideoCommon: Resolve -Wmissing-brace warnings
...
Resolves around 5 -Wmissing-brace warnings on macOS.
2017-11-19 01:49:39 -05:00
Lioncash
2bd88bdb9f
AbstractTexture: Remove a redundant constructor initializer list entry
...
This is already initialized in the class definition. This would
previously cause a -Wreorder warning on macOS, as m_config is
defined after m_currently_mapped.
2017-11-19 01:25:55 -05:00
Lioncash
16a0a58b91
VolumeGC: Correct printf specifier in LoadBannerFile()
...
Gets rid of a warning when compiling on macOS.
2017-11-19 00:54:47 -05:00
Lioncash
364eaadfe5
VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB
...
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-19 00:53:10 -05:00
Lioncash
05d0d184d7
DolphinQt2: Fix incorrect description string for the immediate XFB option
2017-11-19 00:40:46 -05:00
Lioncash
2ef8ded8ce
D3D: Remove non-existent files from CMakeLists.txt
...
Just a leftover that was missed in the Hybrid XFB PR.
2017-11-19 00:29:23 -05:00
Lioncash
5337e58284
VideoConfig: Make StereoMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
Lioncash
10697bcbe3
VideoConfig: Make AspectMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:17:56 -05:00
Pierre Bourdon
609a17a0cd
Merge pull request #5498 from iwubcode/hybrid_xfb
...
Hybrid xfb
2017-11-19 04:58:59 +01:00
degasus
6ea3f538b4
JitArm64: Inline GP check in Cleanup.
...
We're calling this function up to 2M times per second. Let's inline the pre-check.
2017-11-18 17:43:38 +01:00
degasus
6c9bb67ca0
JitArm64: Optimize gather pipe writes.
2017-11-18 17:43:38 +01:00
degasus
6ad63c1b35
Jit64: Inline GP fast check in Cleanup.
2017-11-18 17:43:38 +01:00
degasus
36ad887a19
Jit64: Inline GP writes.
...
As we're down to 4 instructions now, it is always worth to inline those writes.
2017-11-18 14:45:09 +01:00
degasus
4feddd7748
PowerPC: Include the gather pipe pointer in the ppc state.
2017-11-18 14:14:45 +01:00
iwubcode
dd54617a08
TextureCacheBase: Set uninitialized XFB memory to fuchsia color
2017-11-17 22:11:34 -06:00
iwubcode
8d1cbeb25e
Hybrid XFB: Fix lint errors
2017-11-17 22:11:34 -06:00
iwubcode
61541ab243
Enhance xfb dumping to distinguish between the xfbs created from memory and the xfbs created from overlapping copies
2017-11-17 22:11:34 -06:00
iwubcode
8678e8ddd3
Texture Cache Base: Optimization to allow stitched or memory xfb textures to be looked up from cache directly if they were defined previously and their hash hasn't changed
2017-11-17 22:11:33 -06:00
iwubcode
bf7db3f888
Software Backend: Remove reinterpret_cast which violates the strict aliasing rule
2017-11-17 22:11:33 -06:00
iwubcode
332af8aa49
TextureCacheBase: Fix issue in Rogue Squadron 2 where overlapping textures caused a hash change which would cause us to do a lookup from memory that gave us an incorrect result in XFB2Ram
2017-11-17 22:11:33 -06:00
iwubcode
ada37ec642
TextureCacheBase: Remove vertical scaling from EFB path and have copy checks only check EFBs
2017-11-17 22:11:33 -06:00
iwubcode
1a1c3560ce
Software Backend: Rename 'copy_region' to 'CopyRegion'
2017-11-17 22:11:33 -06:00
iwubcode
0f7f4ccaf9
Software Backend: allow screenshots/video to be taken with valid data
2017-11-17 22:11:33 -06:00
iwubcode
7248dd47d5
Hybrid XFB: Fix lint errors
2017-11-17 22:11:32 -06:00
iwubcode
2c87a53f11
TextureCacheBase: make sure stitching rectangle bounds don't exceed the
...
texture size they are meant to represent
2017-11-17 22:11:32 -06:00
iwubcode
74610646ce
TextureCacheBase: Add XFB specific functions
2017-11-17 22:11:32 -06:00
iwubcode
4964fc87ae
Video Backends: Remove the right of the xfb region for games where the
...
VI stride does not match the VI width
2017-11-17 22:11:32 -06:00
iwubcode
a129a53e56
Video Common: Improve texture dumping to work with fifoci and
...
fifo_comparer
2017-11-17 22:11:32 -06:00
iwubcode
53684701fa
HybridXFB: Fix lint errors
2017-11-17 22:11:31 -06:00
iwubcode
65418a76f5
Video Common: Use correct aspect ratio when saving screenshots / video
2017-11-17 22:11:31 -06:00
iwubcode
1090549552
Software Backend: Force EFB/XFB to copy to ram
2017-11-17 22:11:31 -06:00
iwubcode
6e686f6ea1
Software Backend: Fix xfb output and add vertical scaling support
2017-11-17 22:11:31 -06:00
iwubcode
e6d85b0915
Video Common: Avoid 'presenting' duplicate frames by detecting when swap
...
hasn't changed since the last frame
2017-11-17 22:11:31 -06:00
iwubcode
2295d60fdc
VideoCommon: Output gamma now comes from the xfb copy
2017-11-17 22:11:30 -06:00
iwubcode
7f0834c919
Add 'immediate xfb' which reduces xfb latency at the cost of graphical errors
2017-11-17 22:11:30 -06:00
iwubcode
a71bc9ebbf
Move XFB UI option to be under XFB group
2017-11-17 22:11:30 -06:00
iwubcode
e33ab4117d
Video Common: Make auto IR work with HybridXFB
2017-11-17 22:11:30 -06:00
iwubcode
76b775d5be
Video Common: Add XFB decoding via the GPU
2017-11-17 22:11:30 -06:00
iwubcode
4d13f69dc1
Remove TODOs
2017-11-17 22:11:29 -06:00
iwubcode
33bc286baa
Remove old XFB logic
2017-11-17 22:11:29 -06:00
iwubcode
081b92b8a7
Video Common: Only update FPS when frame is renderered which yields more
...
accurate results
2017-11-17 22:11:29 -06:00
iwubcode
b285188de1
Video Backends: Implement vertical scaling for xfb copies. This fixes the
...
display of PAL games that run in 50hz mode.
2017-11-17 22:11:29 -06:00
iwubcode
5a372020ea
FifoPlayer: Generate fake VideoInterface updates
2017-11-17 22:11:29 -06:00
iwubcode
2cd9565b18
Add an additional flag fo 'XFB Copy'
2017-11-17 22:11:29 -06:00
iwubcode
65cd085f9b
Add new GUI option to skip XFBToRam and remove old XFB options
2017-11-17 22:11:28 -06:00
iwubcode
198d3b69b4
Add ability to dump xfb copies to texture for debugging purposes
2017-11-17 22:11:28 -06:00
iwubcode
a9f0d1783b
Support frame and video dumping from VideoCommon
2017-11-17 22:11:23 -06:00
iwubcode
79387dddb2
Add support for hybrid XFB
2017-11-17 19:47:56 -06:00
Anthony
aa4088a494
[UI] Remove fullscreen resolution UI.
2017-11-17 13:05:50 -08:00
MerryMage
37419b9a57
Config/Layer: Allow all keys of a section to be iterated over
2017-11-15 18:04:40 +00:00
MerryMage
4c24629b95
Config: Flatten structures
...
Originally, Layer contained a std::map of Sections, which containted a std::map
containing the (key, value) pairs. Here we flattern this structure so that only
one std::map is required, reducing the number of indirections required and
vastly simplifying the code.
2017-11-15 18:04:40 +00:00
MerryMage
f3b52c07d7
CommandLineParser: Use ConfigLocation
2017-11-15 18:04:40 +00:00
MerryMage
e331a76176
ConfigInfo: Switch to doing case-insensitive comparison
2017-11-15 18:04:40 +00:00
MerryMage
ec7b84c5f2
Config: Extract ConfigInfo into own header
2017-11-15 18:04:40 +00:00
MerryMage
c8f970e2b0
Config: Remove recursive layer
2017-11-15 18:04:40 +00:00
Pierre Bourdon
169028e8f5
IOS: Warn on blocking IPC handlers.
...
This should help us identify them and figure out which ones need to be
fixed.
2017-11-15 15:34:10 +01:00
Tom Boshoven
1fc7cf3cb4
Off-by-one in SDHC detection
...
Also update name and description of SDHC constant.
2017-11-14 18:46:41 +01:00
JosJuice
72b7b96571
Remove IsTriviallyCopyable hack for VS
2017-11-13 19:51:16 +01:00
JosJuice
8ad5ea2ede
Call Do for every member of SCPFifoStruct individually
...
We need this because VS currently doesn't consider
std::is_trivially_copyable<typename
std::remove_volatile<SCPFifoStruct>::type>::value
to be true and because no compiler should consider it
to be true if we replace the volatiles with atomics.
2017-11-13 19:51:16 +01:00
JosJuice
983b986303
Don't delete BitField copy assignment operator on VS
2017-11-13 19:51:11 +01:00
Lioncash
2a782b8f16
D3D/main: Remove unused variable in InitBackendInfo()
2017-11-12 13:24:02 -05:00
Lioncash
3dbd6a53cc
D3DUtil: Remove unused file-scope variables
...
These used to be used when the drawShadedTexSubQuad() function existed,
but since it's been removed they now have no use.
2017-11-11 18:56:44 -05:00
JosJuice
2c10ba9be1
Simplify StringUtil::UTF16ToUTF8
2017-11-11 20:30:06 +01:00
JosJuice
65c1df094f
Remove unneeded check in StringUtil::UTF16ToUTF8
...
No code is relying on this unexplained null byte check, since
the only code that calls UTF16ToUTF8 on non-Windows systems
is UTF16BEToUTF8, which explicitly strips null bytes.
2017-11-11 20:30:06 +01:00
Leo Lam
1e24a5f309
Merge pull request #6167 from ligfx/encapsulatedefaultdevice
...
EmulatedController: encapsulate default device behind getters/setters
2017-11-11 17:11:56 +01:00
Rael Gugelmin Cunha
3b2b2de159
Exit on Esc, pause on F10
2017-11-11 12:51:54 -02:00
Leo Lam
338bffd1e7
Merge pull request #6168 from ligfx/movegccwiiu
...
Qt: make GCPadWiiU a standalone dialog
2017-11-11 12:14:55 +01:00
Leo Lam
41c2618b10
Merge pull request #6175 from ligfx/qtinputupdateclear
...
Qt Mapping*: make logic around setting/loading settings more consistent
2017-11-11 12:11:26 +01:00
Scott Pleb
0bede93daa
evdev: Correctly calculate axis range for min values greater than 0.
...
Axis range was previously calculated as max + abs(min), which relies on the assumption that
min will not exceed 0. For (min, max) values like (0, 255) or (-128, 127), which I assume to
be the most common cases, the range is correctly calculated as 255. However, given (20,
235), the range is erroneously calculated as 255, leading to axis values being normalized
incorrectly.
SDL already handles this case correctly. After changing the range calculation to max - min,
the axis values received from the evdev backend are practically identical to the values
received from the SDL backend.
2017-11-11 02:07:04 -05:00
Lioncash
8e654528fc
VideoConfig: Add const specifier to IsVSync() member function
...
This member function doesn't alter VideoConfig's state.
2017-11-10 22:23:15 -05:00
Michael M
8e6677be90
ControllerInterface: don't call InvokeDevicesChangedCallbacks more than once when refreshing
2017-11-10 13:37:42 -08:00
Michael M
fd7cbd633e
ControllerInterface: add mutex around callbacks vector
2017-11-10 13:37:42 -08:00
Michael M
1ed7532af8
ControllerInterface: HotplugCallbacks -> DevicesChangedCallbacks
2017-11-10 13:37:42 -08:00
Michael M
7355b5f70d
ControllerInterface: invoke callbacks in AddDevice/RemoveDevice
...
Some backends already cause this to happen, so make it consistent across
systems.
2017-11-10 13:37:41 -08:00
Anthony
4dc425b9c9
Merge pull request #6158 from Tomcc/master
...
Improved arbitrary mipmap detection (Mario Sunshine water fix)
2017-11-09 18:06:58 -08:00
JosJuice
b28e5fa347
Avoid forbidden characters when extracting disc partitions
...
We shouldn't try to create folder names that contain characters
such as : or / since they are forbidden or have special meanings.
(No officially released disc uses such characters, though.)
2017-11-08 12:04:59 +01:00
Markus Wick
7e7b5af4c7
Merge pull request #6173 from JosJuice/dtk-savestate
...
Fix DTK audio not working after loading a savestate
2017-11-08 12:03:05 +01:00
LAGonauta
9e63c65c36
Also hide latency control on Qt GUI
2017-11-07 14:59:23 -02:00
LAGonauta
e7f0279ffc
The latency setting now appears only if there is at least one backend
...
that supports it.
2017-11-07 14:56:43 -02:00
Greg Wicks
c2dcb97d06
Android: Fix NDK r16b2 build
2017-11-07 11:02:27 -05:00
Anthony
835eff15a1
Merge pull request #6162 from JosJuice/nand-check-save-game-name
...
When NAND is damaged, show title names from save files
2017-11-06 23:11:34 -08:00
Anthony
d378811271
Merge pull request #6165 from JosJuice/auto-ir-handling
...
Fix incorrect handling of auto IR
2017-11-06 23:10:53 -08:00
Anthony
66ad40074d
Merge pull request #6172 from JosJuice/remove-force-ntsc-j
...
Remove "Force Console as NTSC-J"
2017-11-06 23:01:27 -08:00
Anthony
98ffaf9661
Merge pull request #6151 from MayImilae/adjust-cpu-override-text
...
Adjust CPU Override Text
2017-11-06 22:55:36 -08:00
MaJoR
4112936bae
Adjust CPU Override Text
...
There has been a lot of confusion about what the CPU clock override
section does among users, and looking at it… I’m not surprised! It
doesn’t directly state which CPU clock rate is being overridden!
This small change adjusts the language to clarify that the emulated CPU
is being adjusted.
2017-11-06 22:39:12 -08:00
Tommaso Checchi
aa23684d66
Improved detection: it doesn't desaturate the input anymore (woops) also it makes its own whole chain! This way it "notices" much better gradual divergences. Fixes Mario Sunshine, moss on the window in Zelda TP
2017-11-06 21:49:48 -08:00
JosJuice
b00ef39c1c
Fix DTK audio not working after loading a savestate
...
The main problem was that the volume of the mixer wasn't savestated.
The volume is typically 0 at the beginning of a game, so loading a
savestate at the beginning of a game would lead to silent DTK audio.
I also added savestating to StreamADPCM.cpp.
2017-11-06 09:15:14 +01:00
JosJuice
88d851ca45
Remove "Force Console as NTSC-J"
...
Nowadays that Dolphin detects regions of discs properly and doesn't
force programs with unknown regions (such as homebrew) into running
under a certain region, the "Force Console as NTSC-J" option is
practically useless for making anything run correctly. Enabling it
is however an easy way to totally break many non-Japanese games.
2017-11-06 08:23:30 +01:00
JosJuice
5e70af1ce5
Merge pull request #6109 from t27duck/missing_wiiware_makers_2
...
Update maker information to match the wiki
2017-11-06 08:05:19 +01:00
Michael M
14f22ad829
Qt Mapping*: make logic around setting/loading settings more consistent
...
Changes:
- signal for widget value changed: sets controller setting, saves
settings
- Update(): only updates widget from existing controller setting
- Clear(): sets controller setting, saves settings, and calls Update()
2017-11-05 11:32:23 -08:00
Michael M
cb47857e8a
Rename GCPadWiiU -> GCPadWiiUConfigDialog
...
This name better reflects its new standalone functionality.
2017-11-05 08:04:16 -08:00
Michael M
a8b5eab4c4
Qt GCPadWiiU: standalone dialog, not subclass of MappingWidget
...
It uses none of the functionality of MappingWidget or the parent MappingWindow, and complicates the definition of the MappingWidget interface.
2017-11-05 08:04:16 -08:00
Michael M
27e1577da9
Qt MappingWindow: move controller type into constructor
2017-11-05 08:04:16 -08:00
Pierre Bourdon
bb38b39952
Merge pull request #6170 from JosJuice/qt-language-encoding
...
DolphinQt2: Fix broken language encodings on Windows
2017-11-05 16:51:01 +01:00
degasus
3a36c964f5
WiimoteEmu: Don't set pack pragma for STL objects.
2017-11-05 13:13:25 +01:00
JosJuice
c39778395c
DolphinQt2: Fix broken language encodings on Windows
2017-11-05 11:07:41 +01:00
degasus
47f7e5b454
WiiUtils: Be more explicit about packing.
2017-11-05 10:52:37 +01:00
Michael M
1b1dd1d749
EmulatedController: encapsulate default device behind getters/setters
2017-11-04 17:08:55 -07:00
Pierre Bourdon
bb0794715c
Merge pull request #6111 from stenzek/enable-vk-nv-glsl
...
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
2017-11-04 17:14:28 +01:00
JosJuice
1dc2a85ccc
Avoid UB when reading Wii volume names
2017-11-03 23:17:40 +01:00
JosJuice
6902bbb696
When NAND is damaged, show title names from save files
...
The earlier code always tried to use TitleDatabase for getting
title names, but that didn't work for disc-based games, because
there was no way to get the maker ID.
2017-11-03 23:17:36 +01:00
JosJuice
5a6d90900e
Add WiiSaveBanner class
...
This class is similar to the BannerLoaderWii class that was
removed in ee694e32
.
2017-11-03 23:00:43 +01:00
Léo Lam
18a947a1bc
USB: Work around a gcc bug that affects lambdas
...
https://stackoverflow.com/questions/32097759
2017-11-03 19:01:49 +01:00
Léo Lam
5d82635449
USB_HIDv5: Implement CancelEndpoint
2017-11-03 19:01:48 +01:00
Léo Lam
22310dfc3e
USBv5: Read transfer parameters from the correct vector
...
This is why static analysis is essential.
2017-11-03 19:01:48 +01:00
Léo Lam
ac3b866083
USB_HIDv5: Submit interrupt transfers to the correct endpoint
...
Unlike VEN, the endpoint is determined by the value at 8-12.
If it's non-zero, HID submits the request to the interrupt OUT
endpoint. Otherwise, the request is submitted to the IN endpoint.
This commit changes HIDv5 to keep track of endpoints (like IOS does)
and use them when submitting interrupt transfers.
2017-11-03 19:01:48 +01:00
Léo Lam
ff52333b14
USB: Implement HIDv5
...
This implements /dev/usb/hid v5, found in IOS57, IOS58 and IOS59.
This is an initial implementation that ignores some differences
with VEN because I lack understanding of what IOS is actually doing
sometimes. These are documented on the WiiBrew article:
https://wiibrew.org/wiki//dev/usb/hid_(v5)
One major difference that this implementation handles is about IDs.
It turns out Nintendo has decided to include the interface number in
the top byte of HIDv5 device IDs, unlike VEN -- even though everything
else about ioctl 1 is otherwise the same!
2017-11-03 19:01:48 +01:00
Léo Lam
180ad8076c
USB: Move common USBv5 IOS code to prepare for HIDv5
...
USBv5 IOS resource managers share most of their code. Some ioctls
are even completely the same! So let's separate the common code
from the VEN specific stuff to make HIDv5 easier to implement.
2017-11-03 19:01:48 +01:00
Léo Lam
6bb03d900c
USB: Separate the descriptor copy logic
...
The descriptor copy code is not actually the same in HIDv4 and VEN,
so it did not make a lot of sense to put it in USB/Common.cpp.
Separate and move it to HIDv4 and VEN.
This cleanup is important because there are even more differences
between HIDv4 and HIDv5.
2017-11-03 19:01:48 +01:00
Léo Lam
c6038155cc
USB_VEN: Move internal constant to .cpp
2017-11-03 19:01:47 +01:00
Léo Lam
ef8b3cb960
USB_VEN: Construct device IDs properly
...
Fix the device ID struct to reflect the actual structure used by IOS.
It turns out that offset 2 is the internal device index. The reason
that field seemed to be "0x1e - interface_number" is that IOS only
keeps track of 32 devices and always looks for free entries from
the end of the internal array. With each USB interface being exposed
as a separate USBv5 device, "0x1e - interface_number" was mostly
correct... but wrong!
We also made the assumption that the interface number can be
identified from just a USBV5 device ID, which is definitely not true.
VEN (and HID) keep track of the interface number in the internal struct
instead of "reconstructing" it from the device ID (which is normally
not possible if we were generating IDs correctly)
This commit fixes all of these inaccuracies.
2017-11-03 19:01:47 +01:00
JosJuice
a310cbec8e
Fix incorrect handling of auto IR
...
Some lines of code in Dolphin just plainly grabbed the value of
g_ActiveConfig.iEFBScale, which resulted in Auto being treated as
0x rather than the actual automatically selected scale.
2017-11-03 16:04:46 +01:00
Leo Lam
53f0974372
Merge pull request #6159 from JosJuice/consistent-gui-strings
...
Make GUI strings more consistent
2017-11-03 14:18:54 +01:00
Leo Lam
9e4590b2b2
Merge pull request #6160 from JosJuice/gecko-na
...
Don't show "N/A" as description when there is no Gecko code
2017-11-03 14:16:59 +01:00
Leo Lam
a58df9fe3d
Merge pull request #6163 from JosJuice/simple-ini-ir
...
Revert "Convert to/from old EFB scale numbering"
2017-11-03 13:46:40 +01:00
JosJuice
2d3dd5ede7
Revert "Convert to/from old EFB scale numbering"
...
This reverts commit 1fc910b3ea
,
replacing the old INI setting EFBScale with a new INI setting
called InternalResolution, which has a simpler mapping:
| EFBScale | InternalResolution
----------------- | -------------------- | --------------------
Auto (fractional) | 0 |
Auto (integral) | 1 | 0
1x | 2 | 1
1.5x | 3 |
2x | 4 | 2
2.5x | 5 |
3x | 6 | 3
4x | 7 | 4
5x | 8 | 5
6x | 9 | 6
All the fractional IRs were removed in f090a943
.
2017-11-02 21:39:05 +01:00
Léo Lam
f2eee368e0
WiiUtils: Ignore missing contents for DLC titles
...
It is not possible to tell whether DLC contents are supposed to be
present on the NAND or not, because they're treated as "optional".
So this commit changes the NAND check to not consider missing
contents for DLC titles as an issue.
2017-11-02 17:59:53 +01:00
Léo Lam
71d4c47eb5
UI: Tweak the NAND check popup message
...
Inform the user that re-launching titles can also fix the issues.
2017-11-02 16:02:55 +01:00
JosJuice
7253c4bb52
Don't show "N/A" as description when there is no Gecko code
...
"N/A" can be awkward to handle in translations.
I don't think there's much point in showing "N/A" rather than
leaving the description box blank, so let's just leave it blank.
2017-11-02 14:37:45 +01:00
JosJuice
d454e041b0
Make GUI strings more consistent
...
Most of the changes I've made here were because of small
differences between DolphinWX and DolphinQt2.
2017-11-02 14:32:16 +01:00
Léo Lam
1cd4be1d0f
WiiUtils: Unify the check and repair functions
...
Makes it clearer what actions will be taken for every issue
that is found.
2017-11-02 11:34:13 +01:00
Leo Lam
e29cd19f73
Merge pull request #6118 from Tomcc/master
...
Resolution independent mipmaps (high IR Super Mario Galaxy Fix)
2017-10-31 21:37:20 +01:00
iwubcode
b201777b83
D3D Backend: Change encoding parameter types from DWORD to our platform agnostic types
2017-10-30 10:27:02 -05:00
Leo Lam
91dac03c45
Merge pull request #6148 from leoetlino/null-bug
...
NANDImporter: Construct strings correctly
2017-10-29 10:30:03 +01:00
Leo Lam
d6ac8ce928
Merge pull request #6147 from sepalani/send-log
...
Socket: Move IOCTLV_SO_SEND(TO) to INFO_LOG
2017-10-29 10:29:25 +01:00
Léo Lam
7aa083388b
NANDImporter: Construct strings correctly
...
Use std::string(cstring, strnlen(cstring, max_length)) instead of
trying to remove extra null characters manually, which is a bit
ugly and error prone.
And indeed, the original code contained a bug which would cause
extra NULLs to not be removed at all if the string did not
end with a NULL -- causing issues down the road when constructing
paths for sub-entries.
2017-10-28 22:40:05 +02:00
Léo Lam
96d7c39891
NANDImporter: Add support for dumps that don't include keys
...
This adds support for NAND images that only include the NAND
(i.e. without the OTP/SEEPROM dump appended at the end of the file).
2017-10-28 21:27:18 +02:00
Sepalani
d49e4044c6
Socket: Move IOCTLV_SO_SEND(TO) to INFO_LOG
2017-10-28 20:13:42 +02:00
Tommaso Checchi
5fb6ceac45
Fixed fog, lava, water in Mario Galaxy (and possibly other games) in higher IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient.
2017-10-27 00:45:20 -07:00
Markus Wick
802fda26ab
Merge pull request #6093 from endrift/fix-efb-overflow
...
VideoCommon: Fix overflow trying to access outside of EFB bounds
2017-10-26 21:01:27 +02:00
Markus Wick
3f6017343b
Merge pull request #6114 from leoetlino/fix
...
MemArena: Use names that are based on the PID
2017-10-26 20:56:22 +02:00
Leo Lam
c4914fbb8b
Merge pull request #6094 from leoetlino/drop-wad-hack
...
Drop the direct WAD launch hack
2017-10-26 17:15:02 +02:00
Leo Lam
5393575c55
Merge pull request #6130 from ligfx/emptynullsoundstream
...
NullSoundStream: don't call Mixer->Mix
2017-10-24 11:44:22 +02:00
Léo Lam
4cc1bd972a
CommonTitles: Add a named constant for IOS TIDs
2017-10-24 11:41:55 +02:00
Léo Lam
dedb61e5bf
Boot: Install WADs temporarily
...
Because the Wii NAND size is finite, mark titles that were installed
only for booting as temporary, and remove them whenever we need to
install another title (to make room). This is exactly what the
System Menu does for temporary SD card title data.
2017-10-24 11:41:55 +02:00
Léo Lam
4b4a9a6486
UI: Implement a command line option to boot NAND title
2017-10-24 11:41:55 +02:00
Léo Lam
8e0869aff6
DiscIO: Remove comments that state obvious facts
2017-10-24 11:41:54 +02:00
Léo Lam
346ca009f9
Remove NANDContentManager
2017-10-24 11:41:54 +02:00
Léo Lam
c03aa78c8f
[Cleanup] WX: Remove usage of NANDContentManager
...
Also clean up the way the system menu label is updated. We don't want
to access the NAND while emulation is running, and especially not
that many times per second on an unpredictable timing.
2017-10-24 11:41:54 +02:00
Léo Lam
ff6b3eb9ac
[Cleanup] IOS: Clean up the way ARM binaries are loaded
...
This commit removes the last usage of NANDContentManager in IOS code.
Another cleanup change is that loading ARM (IOS) binaries is now done
by the kernel in the BootIOS syscall, instead of being handled as a
special case in the MIOS code. This is more similar to how console
works and lets us easily extend the same logic to other IOS binaries
in the future, if we decide to actually load them.
2017-10-24 11:41:54 +02:00
Léo Lam
63a52fa707
[Cleanup] IOS/ES: Remove usages of NANDContentManager
2017-10-24 11:41:54 +02:00
Léo Lam
a7e21bca13
IOS/ES: Add a helper function to get a content path
2017-10-24 11:41:54 +02:00
Léo Lam
44fc6d878a
IOS/ES: Fix a missing check in ReadCertStore
...
Without this, some operations can fail when trying to read an existing
cert store, as it may not exist when signature checks are disabled.
2017-10-24 11:41:54 +02:00
Léo Lam
689ed2a0ce
[Cleanup] Move FindSignedTicket to IOS/ES
...
For consistency and because NANDContentManager is going to be removed.
2017-10-24 11:41:54 +02:00
Léo Lam
0476c0e60e
[Cleanup] Remove static state in ES
2017-10-24 11:41:54 +02:00
Léo Lam
9000a042e4
Drop the direct WAD launch hack
...
This removes the hack that enables directly booting from WADs
without installing them first for the following reasons:
1. It makes the NAND content handling much more complicated than what
it should be and makes future changes like permissions or booting
NAND titles without a WAD more annoying to implement.
Because of this hack, we needed an extra level of abstraction
(NANDContent*) which has to read tons of things from the NAND, even
most of the time it's useless. This in turn forces us to have
caching, which is known to break titles and requires manual cache
invalidations. Annoying and error prone.
2. It prevents the WAD boot code from being easily accurate. With this
change, we can simply reuse the existing launch code, and ask IOS
to launch the title from the NAND.
3. The hack did not work that well since it did not cover a lot of ES
commands. And it works even less since the ES accuracy fixes.
This results in Dolphin returning inconsistent results: a
lot of the ES "DI" commands will just fail because the active title
is not installed on the NAND. uid.sys is not changed, etc.
And I'm not even talking about FS stuff -- where this would still
totally fail, unless we add even more unnecessary hacks.
This is not just theoretical -- the system menu and the Wii Shop are
known to behave strangely because the hack damages the NAND
structure, and we've already had several users report issues.
This commit makes it so WADs are always installed prior to launching.
A future commit will remove any code that was there only for the hack.
2017-10-24 11:41:54 +02:00
Léo Lam
60ba382799
Boot: Add support for booting NAND titles with just the ID
2017-10-24 11:41:54 +02:00
Léo Lam
62be010ac6
WiiUtils: Improve the error message on import failure
...
Now shows the import return code and also skips showing the message
altogether if the user cancelled the import for an unsigned WAD.
2017-10-24 11:41:54 +02:00
Léo Lam
dd5c468c63
WiiUtils: Allow reusing existing IOS/WAD instance
2017-10-24 11:41:54 +02:00
Léo Lam
6a03a24822
WiiUtils: Warn before overwriting during WAD import
2017-10-24 11:41:54 +02:00
Léo Lam
0bdeb63894
WiiUtils: Skip WAD import if it's already installed
...
The check is fairly quick, and this allows saving a lot of time and
resources for larger WADs.
2017-10-24 11:41:54 +02:00
Anthony
5fdb19f3db
Merge pull request #6108 from JosJuice/tgc-negative-file-area-shift
...
Fix TGC support for Zelda OoT Master Quest
2017-10-23 18:57:54 -07:00
JMC47
a8bf9c5cbe
Fix GameCube Sample Rate
...
The GameCube's sample rate is slightly different due to a hardware bug.
The exact numbers are (54000000 / 1124) for GameCube and (54000000 / 1125)
on Wii. I also modified 32KHz mode. This fixes audio desyncs in several
GameCube games and severe issues in Sonic Mega Collection.
2017-10-23 13:16:40 -04:00
Tony Drake
b66a72eb8f
Update maker information to match the wiki
...
This updates the maker data to (mostly) mirror that of the Wiki:
https://wiki.dolphin-emu.org/index.php?title=GameIDs
Only maker ids from that page are now included in Dolphin. This
means no homebrew/unofficial makers.
Also, separate multiple maker names with a slash
2017-10-22 11:39:16 -04:00
Leo Lam
6e9e681438
Merge pull request #6124 from stenzek/vulkan-shutdown-vxfb
...
Vulkan: Fix crash on shutdown with Virtual XFB enabled
2017-10-22 16:42:24 +02:00
Leo Lam
b002d9d94f
Merge pull request #6132 from ligfx/updatecubeb
...
Externals: update cubeb to kinetiknz/cubeb@c2bd582
2017-10-22 15:39:39 +02:00
Leo Lam
a596424dc2
Merge pull request #6133 from ligfx/soundstreamsetrunning
...
AudioCommon: rename ClearAudioBuffer(mute) to SetSoundStreamRunning(running)
2017-10-22 15:38:34 +02:00
Michael M
82129d30c9
TextureCache: don't create texture decoding resources if not enabled
2017-10-21 23:06:44 -07:00
Michael M
b031d3316c
SoundStream: rename Clear(mute) to SetRunning(running)
2017-10-21 16:28:04 -07:00
Michael M
d6985fc3e8
AudioCommon: rename ClearAudioBuffer(mute) to SetSoundStreamRunning(running)
2017-10-21 16:28:04 -07:00
Michael M
7bcdd1a46a
SoundStream: remove unused m_muted and IsMuted
2017-10-21 16:28:04 -07:00
Michael M
aa40c4a7ce
Externals: update cubeb to kinetiknz/cubeb@c2bd582
...
A bunch of changes, looks mainly like bug fixes and code cleanup.
Notable changes:
- `cubeb_get_min_latency`'s signature was changed to take params via
pointer, requiring Dolphin code to be tweaked in two places.
- A fix for kinetiknz/cubeb#320 , as reported by @shuffle2
- Fixed build on FreeBSD (kinetiknz/cubeb#344 ), as contributed by @endrift
2017-10-21 14:28:39 -07:00
Michael M
6abd1c8c99
NullSoundStream: don't call Mixer->Mix
2017-10-21 13:32:33 -07:00
Stenzek
271f1af8c9
Vulkan: Fix crash on shutdown with Virtual XFB enabled
2017-10-18 22:11:59 +10:00
Léo Lam
28d648b802
MemArena: Use names that are based on the PID
...
Fixes a regression which broke running several Dolphin instances at the
same time on Windows. Thanks to exjam for spotting the issue
pretty much immediately. Sorry about that!
Also changes the file names to be more consistent on all platforms.
2017-10-11 17:40:05 +02:00
Dane Z. Bush
4dfe6c0875
MemArena: Name shared memory handle
...
Assign a name to the CreateFileMapping handle on Win32 so third party
applications can read from Dolphin's memory and integrate with the
current emulation.
Built and tested, multiple sessions are still possible without
collisions.
2017-10-11 16:35:32 +02:00
Stenzek
06bbf111d9
Vulkan: Improve readability of device/instance extension checks
2017-10-11 23:18:01 +10:00
Stenzek
79188d4f55
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
2017-10-11 23:15:41 +10:00
Stenzek
90ca2e8042
Merge pull request #6066 from stenzek/vulkan-resize
...
Vulkan: Fixes for window resizing
2017-10-11 23:02:48 +10:00
Leo Lam
d26eda3023
Merge pull request #6096 from leoetlino/wii-fsck
...
Add a way to check the NAND for issues and fix them
2017-10-11 13:01:39 +02:00
Leo Lam
ceed4d6f93
Merge pull request #6101 from sepalani/symbol-map-data
...
PPCSymbolDB: Handle data symbols in SymbolMap properly
2017-10-11 13:00:40 +02:00
Leo Lam
bc6846ce3b
Merge pull request #5922 from sepalani/mem-base
...
MemoryWindow: base address search added
2017-10-11 12:17:57 +02:00
Leo Lam
1fb9e793ac
Merge pull request #6104 from CyberShadow/pull-20171006-091319
...
CheatSearchTab: Add UI for manually adding an address
2017-10-11 11:51:49 +02:00
Vladimir Panteleev
3c51560857
CheatSearchTab: Add UI for manually adding an address
...
Sometimes an address is already known, e.g. from existing cheat
codes, and only inspecting the variable's value is desired.
2017-10-11 11:41:26 +02:00
Ethan Lee
322c395f33
Qt: Check showFileNameColumn, sort Hidden/ResizeMode calls by enum value
2017-10-11 11:40:07 +02:00
Leo Lam
53ccd41049
Merge pull request #6099 from leoetlino/activate
...
Qt: Don't crash when pressing the Return key
2017-10-11 11:32:09 +02:00
Leo Lam
8163fa1acc
Merge pull request #6100 from leoetlino/vulkan-shutdown
...
Vulkan: Fix crash when Core initialisation fails
2017-10-11 11:31:16 +02:00
Leo Lam
1c14881cc1
Merge pull request #6105 from CyberShadow/pull-20171006-123219
...
ActionReplay: Fix implementation of memory-copy zero codes
2017-10-11 11:28:27 +02:00
Leo Lam
0eafb2f2a2
Merge pull request #6110 from lioncash/texture-config-hash
...
TextureConfig: Specialize std::hash for TextureConfig
2017-10-11 11:07:09 +02:00
Stenzek
edb5f855c2
VideoConfig: Prevent race condition on g_Config when refreshing
...
There was a race condition between the video thread and the host thread,
if corrections need to be made by VerifyValidity(). Briefly, the config
will contain invalid values. Instead, pause emulation first, which will
flush the video thread, update the config and correct it, then resume
emulation, after which the video thread will detect the config has
changed and act accordingly.
2017-10-10 23:56:33 +10:00
Stenzek
4301b8538d
Vulkan: Only use oldSwapchain in response to VK_ERROR_OUT_OF_DATE_KHR
...
Seems to be required on the latest NV driver, otherwise the presented
images are never shown.
2017-10-10 23:21:40 +10:00
Stenzek
cdf34a79f7
Vulkan: Set a flag to resize the swap chain when presenting fails
...
Drivers can return VK_ERROR_OUT_OF_DATE_KHR from vkQueuePresentKHR, and
we should resize the image in this case, as well as when getting it back
from vkAcquireNextImageKHR.
2017-10-10 23:21:40 +10:00
Stenzek
80593f502e
Vulkan: Fix bug where command buffer wouldn't be started after resize
2017-10-10 23:21:40 +10:00
Lioncash
c8af9e5f7b
TextureConfig: Specialize std::hash for TextureConfig
...
This allows the hashing for TextureConfig instances to automatically be resolved instead of needing to directly specify it all the time.
2017-10-08 23:55:14 -04:00
Léo Lam
02e17594b0
WiiUtils: Attempt to fix the NAND more aggressively
...
Change the repair logic to fix issues more aggressively by deleting bad
titles. This is necessary because of a bug in Dolphin's WAD boot code.
The UI code was updated to inform the user about titles that will be
deleted if they continue a repair, before deleting anything.
2017-10-08 18:57:58 +02:00
Léo Lam
e1c0b8d011
TitleDatabase: Add GetTitleName for title IDs
2017-10-08 18:31:43 +02:00
Léo Lam
239167245d
Add a way to check the NAND for issues and fix them
...
Old versions of Dolphin are so broken regarding NAND handling that
we need this to repair common issues and avoid issues with titles
like the System Menu or the Wii Shop.
This isn't an exhaustive check, but this will catch most issues
and offer to fix them automatically (if possible).
2017-10-08 18:31:42 +02:00
Léo Lam
2974c56e50
ESFormats: Make Content easier to compare
2017-10-08 18:31:42 +02:00
FoxP
999c23b182
Add some missing WiiWare makers
...
Some of my WiiWare games does not have a maker :
- Blue's Journey : EAFPJ8
- Magician Lord : EACPJ8
- The King of Fighters '94 : EAGPJ8
- The Last Ninja : C9XPGX
- World Games : C9ZPGX
2017-10-08 13:04:23 +02:00
JosJuice
e743ac80d2
TGCBlob: Fix brace style
2017-10-08 12:38:12 +02:00
Léo Lam
8f56219ea8
Vulkan: Fix crash when Core initialisation fails
...
The Vulkan backend was not shutting down the AsyncShaderCompiler and
some other instances, causing asserts to hit, followed by a hard crash.
2017-10-08 12:34:06 +02:00
JosJuice
0023d5b5cb
TGCBlob: Make m_file_area_shift signed
...
Part two of fixing TGC files where file_area_virtual_offset is
smaller than file_area_real_offset, such as Zelda OoT Master Quest.
2017-10-08 12:30:53 +02:00
JosJuice
18c7608516
TGCBlob: Use file_area_real_offset as split point
...
Part one of fixing TGC files where file_area_virtual_offset is
smaller than file_area_real_offset, such as Zelda OoT Master Quest.
2017-10-08 12:16:10 +02:00
JosJuice
ec7ed7b47a
TGCBlob: Improve variable names
2017-10-08 12:08:13 +02:00
Léo Lam
468bf75a43
Qt: Don't crash when pressing the Return key
2017-10-07 14:53:30 +02:00
Vladimir Panteleev
187a599b36
ActionReplay: Fix logging in Subtype_AddCode
...
The addition was being repeated (for logging) after it was committed
to memory, thus causing bogus values to appear in the log.
2017-10-06 13:17:15 +00:00
Vladimir Panteleev
e691ec126f
ActionReplay: Fix implementation of memory-copy zero codes
...
This fixes the implementation of the non-standard size-3 zero codes to
conform to kenobi's specification.
2017-10-06 12:47:10 +00:00
Leo Lam
5f0de43828
Merge pull request #6098 from aleios/master
...
WX: Reshow cursor after game termination (issue 10503)
2017-10-05 21:11:20 +02:00
Sepalani
f65dcdcdca
DebugInterface: Rename InsertBLR to Patch
2017-10-05 20:22:16 +02:00
Sepalani
0a301c0eec
PPCSymbolDB: Save data symbols properly
...
Data symbols were previously saved as function symbols.
2017-10-05 19:55:34 +02:00
Sepalani
aed0ac0543
PPCSymbolDB: Load more SymbolMap symbols
...
Allows to load data symbols from symbol map files.
Symbols from all sections are loaded.
The data/function symbol type is set accordingly.
2017-10-05 19:55:33 +02:00
aleios
6d04d4b9a2
Fix mouse cursor invisble in WX after game termination
2017-10-05 18:46:37 +02:00
Leo Lam
1e6b670795
Merge pull request #6092 from t27duck/missing_wiiware_makers
...
Add some missing WiiWare makers
2017-10-04 13:11:18 +02:00
Tony Drake
4035d0781c
Update the cache revisions for WX and QT
2017-10-03 17:35:14 -04:00
Leo Lam
d790660b59
Merge pull request #6088 from leoetlino/personalised-import
...
IOS: Assume ticket is unpersonalised for WAD imports
2017-10-03 19:59:52 +02:00
JosJuice
e50fe00e93
Disable "Eject Disc" when emulation is not running
2017-10-03 17:20:36 +02:00
Vicki Pfau
e0a326a493
VideoCommon: Fix overflow trying to access outside of EFB bounds
2017-10-01 12:09:16 -07:00
Tony Drake
b73a4ff5d6
Add some missing WiiWare makers
...
I noticed the Strong Bad games, FAST - Racing League, and Tetris Party
were lacking info in the game lists' maker column.
This adds the information based on the games' MakerID.
2017-10-01 14:53:01 -04:00
JosJuice
db77549502
Show event name when scheduling from wrong thread
2017-09-30 16:14:59 +02:00
Mush Man
0e7e7f6fc6
Change Wii Save Import alerts
...
Bracketed plurals in dialogue boxes and removed a prompt by moving a
backup message to another warning.
2017-09-29 20:13:14 +10:00
PEmu1
93e1235a54
More Capitalization Changes
2017-09-27 21:37:44 +02:00
Michael M
806a8a7f32
MappingWindow: store profile filename in QComboBox userdata
2017-09-27 21:04:34 +02:00
Leo Lam
743568f9d4
Merge pull request #5984 from spycrab/qt_gecko
...
Qt/GameList: Implement "Gecko codes" Tab
2017-09-27 20:50:28 +02:00
Leo Lam
1501ff7f8e
Merge pull request #5714 from ligfx/qtadvancedconfig
...
Qt: Advanced config pane
2017-09-27 20:24:48 +02:00
Léo Lam
c0c1cb3010
IOS: Assume ticket is unpersonalised for WAD imports
...
The newer title dumpers don't clobber tickets anymore (that's good!),
which means personalised tickets still have the console specific data
used to decrypt the title key in them. Dolphin should ignore that data
when importing WADs, because the title key has already been decrypted,
and we must not try to decrypt it *again*.
2017-09-27 10:48:52 +02:00
Léo Lam
5c2e03380f
Qt: Always show the stop button in the toolbar
...
Reverts a previous Qt change that was likely not intended to match WX.
2017-09-26 17:44:18 +02:00
Léo Lam
8dcd5cdd1d
Qt: Reduce spacing between toolbar actions
2017-09-26 17:43:51 +02:00
Léo Lam
b05207325d
Qt: Fix render to main
...
The render widget was not hidden at the right moment.
2017-09-26 17:43:50 +02:00
Léo Lam
f28839acf9
Qt: Make toolbar buttons wider
...
Makes the toolbar look more comfortable instead of all squished
together, and more similar to our current look.
Instead of setting a hardcoded minimal size for buttons, MakeActions()
now uses the maximum size hint width.
2017-09-26 17:43:50 +02:00
Léo Lam
587b275c8e
Qt: Increase the height of game list items
...
This makes the images in the game list look less weird (since they are
not squashed together anymore). The list also looks more like WX now.
2017-09-26 17:43:50 +02:00
Léo Lam
6cfd7baac9
Qt/Config: Fix inconsistent spacing between options
2017-09-26 17:43:50 +02:00
Léo Lam
ca3be07e59
Qt/GameList: Fix broken File Name column
2017-09-26 17:43:50 +02:00
Léo Lam
6db55fc2d0
Qt/About: Fix text size to better match WX
2017-09-26 17:43:49 +02:00
Léo Lam
a158b87f9b
Qt/About: Fix the HTML
...
* remove useless units after 'zero' values
* reduce the size of 'Dolphin' to be more reasonable and look better
* avoid hardcoding the normal and small font sizes
2017-09-26 17:43:49 +02:00
Léo Lam
8f2558dc89
Qt: Simplify AboutDialog creation
...
Just create the AboutDialog on the stack -- the actual object lives on
the heap anyway, since Qt uses the pimpl idiom. Removes the need for
an explicit new and a special delete on close attribute.
2017-09-26 17:43:49 +02:00
Léo Lam
730b7fc833
Qt: Remove __DATE__ to make builds reproducible
...
See also PR #3259 .
Also makes the copyright text identical to DolphinWX.
2017-09-26 17:43:49 +02:00
Michael M
9245210c49
Qt: bold graphics settings on ConfigChanged, not EmulationStateChanged
...
EmulationStateChanged is functionally correct right now, but
ConfigChanged expresses more semantically why the config setting gets
re-read and the widgets updated.
2017-09-25 21:48:13 +02:00
Michael M
a334ec3daa
Qt: add ConfigChanged signal to Settings
2017-09-25 21:46:23 +02:00
Léo Lam
6484776920
DSP: Fix a missing mask for the predscale register
2017-09-24 20:48:29 +02:00
Léo Lam
de6e807364
DSP: Handle two accelerator loop edge cases properly
...
There are two special cases that the DSP accelerator handles in a
special way: when the end address is of the form xxxxxxx0 or
xxxxxxx1.
For these two cases, the normal overflow handling doesn't apply.
Instead, the overflow check is different, the ACCOV exception never
fires at all, the predscale register is not updated, reads are not
suspended, and if the end address is 16-byte aligned, the DSP loops
back to start_address + 1 instead of the regular start_address.
2017-09-24 20:48:29 +02:00
Léo Lam
bd03f2e46e
DSP: Fix ACCOV not suspending accelerator reads
...
When an ACCOV is triggered, the accelerator stops reading back anything
and updating the current address until the YN2 register is set.
This is kept track of internally by the DSP; this state is not exposed
via any register.
However, we need to emulate this behaviour correctly because some
ucodes rely on it (notably AX GC); failure to emulate it will result
in reading past the end and start address for non-looped voices.
2017-09-24 20:48:29 +02:00
Léo Lam
8310a672b0
DSP: Fix the predscale update logic
...
When the current address is xxxxxxxf, after doing the standard ADPCM
decoding and incrementing the current address as usual to get the
next address, the DSP will update the predscale register by reading
2 bytes from memory, and add two to get the next address.
This means xxxxxx10 cannot be a current address, as the DSP goes
from 0f to 12 directly.
A more serious issue with the old code is that if the start address
is 16-byte aligned, some samples will always be skipped, even when
that should not be the case.
An easy way to test whether this behaviour is correct is to check
the current address register and the predscale after each read.
Old code:
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000010, predscale=<another value>
ACCA=00000013, predscale=<another value>
ACCA=00000014, predscale=<another value>
...
New code (and console):
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000012, predscale=<another value>
ACCA=00000013, predscale=<another value>
...
2017-09-24 20:48:29 +02:00
Léo Lam
003dba5275
DSP: Convert accelerator to a C++ class
...
Slightly cleaner, allows DSP accelerator behaviour to be
added to both HLE and LLE pretty easily, and makes the accelerator
easier to unit test.
I chose to include all accelerator state as private members, and
to expose state that is accessible via registers with getters/setters.
It's more verbose, yes, but it makes it very clear what is part of
the accelerator state and what isn't (e.g. coefs).
This works quite well for registers, since the accelerator can do
whatever it wants internally. For example, the start/end/current
addresses are masked -- having a getter/setter makes it easier to
enforce the mask.
2017-09-24 20:48:28 +02:00
Léo Lam
017bfcda2b
DSP: Fix gdsp_ifx_write to take a u16 value
...
And change the JIT to clear the upper 16 bits when calling the write
function to work around bugs in some compilers like clang.
2017-09-24 20:48:28 +02:00
Leo Lam
969a72faed
Merge pull request #6079 from spycrab/qt_fix_log
...
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-21 17:29:24 +02:00
Anthony
56d0cb8d61
Cleanup var naming in ISOProperties
2017-09-20 16:46:46 -07:00
Anthony
47a2a16b77
[Qt] Fix bolding of GraphicsChoice.cpp
2017-09-20 09:13:23 -07:00
spycrab
0b43e1bcf4
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-20 15:12:26 +02:00
spycrab
6c7e392f0c
Qt/GraphicsSettings: Fix overriden settings not being bolded
2017-09-20 15:12:05 +02:00
Markus Wick
d1abd71ccb
Merge pull request #6070 from lioncash/ogl-tcache
...
OGL/TextureCache: Move file statics to the TextureCache class
2017-09-20 10:19:39 +02:00
Leo Lam
c9f790dca4
Merge pull request #6072 from JosJuice/eject-disc
...
Add an option to eject the disc
2017-09-18 12:47:47 +02:00
Pierre Bourdon
43f067c6e1
StringUtil: support TryParse(u16*)
2017-09-18 05:04:11 +02:00
Pierre Bourdon
3f481a70be
Fix sample wrapping with new DSP ADPCM decoding
...
Fixes possible regression from #6069 .
2017-09-18 02:54:58 +02:00
Pierre Bourdon
755253948b
Merge pull request #6069 from leoetlino/common-accelerator
...
DSP: Deduplicate the accelerator code
2017-09-17 23:20:37 +02:00
JosJuice
e4faabb763
Add an option to eject the disc
2017-09-17 11:44:48 +02:00
JosJuice
3c770693a2
DVDInterface: Remove a (mostly) outdated comment
2017-09-17 11:44:32 +02:00
JosJuice
b6bc3bc7c9
Remove DVDInterface::ChangeDiscAsHost
...
There isn't much point in keeping this utility function around
now that RunAsCPUThread provides a simple way of running things
on the CPU thread.
2017-09-17 11:44:27 +02:00
Lioncash
6c326e7215
InputConfigDiag: Fix building DolphinWX on the latest MSVC
...
const char[1] and wxString() can both be converted to multiple common
types, so this results in an ambiguous conditional expression
compilation error (C2445)
2017-09-17 02:38:12 -04:00
Lioncash
dbd9aeb210
OGL/TextureCache: use std::array for the palette shader array
2017-09-17 02:34:02 -04:00
Lioncash
6d9ed9dc32
OGL/TextureCache: Move file statics to the TextureCache class
...
These rely on instance state, or are used within instance-based class
member functions, so they should belong to the instance itself instead
of being file statics.
2017-09-17 02:33:56 -04:00
Léo Lam
7022a18e9a
IOS/SSL: Show built-in cert error once per session
...
See: https://bugs.dolphin-emu.org/issues/10546
2017-09-16 20:43:49 +02:00
Léo Lam
38a7196ec6
DSP: Deduplicate the accelerator code
...
The logic is entirely the same; only the inputs and outputs are
different, so deduplicating makes sense.
This will make fixing accelerator issues easier.
2017-09-16 16:47:43 +02:00
Leo Lam
764e058865
Merge pull request #6063 from ligfx/queuemethodonobject
...
Qt QueueOnObject/RunOnObject: accept pointers to member functions
2017-09-16 16:46:44 +02:00
Leo Lam
68baf7d8fc
Merge pull request #6062 from ligfx/fixqtcorestate
...
Settings: register the Core::State type with Qt
2017-09-15 22:38:42 +02:00
Leo Lam
93574bf016
Merge pull request #6064 from JosJuice/filesystemwidget-nullptr
...
DolphinQt2: Check for file systems being nullptr
2017-09-15 20:58:52 +02:00
Léo Lam
6f1b156020
VolumeGC: Add a default constructor for ConvertedGCBanner
...
Without this, it fails to build with the following error in g++ 7.2.0:
> constructor required before non-static data member has been parsed
2017-09-15 20:47:49 +02:00
spycrab
f90e81b9db
Qt/Properties: Implement "Gecko codes" tab
2017-09-15 19:45:46 +02:00
JosJuice
a0cddc579f
DolphinQt2: Check for file systems being nullptr
...
nullptr gets returned for file systems that are deemed invalid.
2017-09-15 19:44:23 +02:00
Michael M
7f812a7a03
RunOnObject: accept pointers to member functions
2017-09-15 10:36:33 -07:00
Michael M
1e27e87d93
QueueOnObject: accept pointers to member functions
2017-09-15 10:36:32 -07:00
Michael M
6191f04524
Settings: register the Core::State type with Qt
2017-09-15 10:35:38 -07:00
Michael M
4ea8166b93
Qt: Advanced config pane
2017-09-15 10:35:01 -07:00
Leo Lam
7cb8d6612c
Merge pull request #5870 from JosJuice/lazy-filesystem
...
DiscIO: Use Common::Lazy more
2017-09-15 19:30:05 +02:00
JosJuice
f294599e73
DiscIO: Use Common::Lazy for loading GC banners
2017-09-15 19:21:50 +02:00
Arthur Carlsson
79a646a67d
Prevent multiple HID elements of same usage type on OSX
...
On OSX, iterate the HID device's elements and only store the last of
each type to accommodate for flaky hardware
2017-09-15 19:19:46 +02:00
Leo Lam
2b4bf8662a
Merge pull request #5577 from ligfx/separateexpressionparsingandbinding
...
ControlReference/ExpressionParser: separate parsing from binding
2017-09-15 19:11:57 +02:00
spycrab
5aecd61ede
Qt/Settings: Implement cheat settings
2017-09-15 19:01:23 +02:00
spycrab
8687f6aae7
Qt: Implement CheatWarningWidget
2017-09-15 19:01:23 +02:00
spycrab
8580e159fe
Qt/SettingsWindow: Add SelectGeneralPane method
2017-09-15 19:01:22 +02:00
JosJuice
ca36c977d9
DiscIO: Remove m_partition and m_volume from FileSystem
...
The last commit made m_partition unnecessary, and m_volume
has been unnecessary ever since the PR that added DiscExtractor.
2017-09-15 18:57:05 +02:00
JosJuice
38304da947
DiscIO: Use Common::Lazy for loading filesystems
...
This simplifies FileMonitor a lot and also lets us
clean up FilesystemPanel.
2017-09-15 18:57:05 +02:00
Leo Lam
0d07821935
Merge pull request #6024 from ligfx/coreonstatechangedcallback
...
Qt: use Settings::EmulationStateChanged
2017-09-15 18:45:17 +02:00
Leo Lam
30dd544931
Merge pull request #5990 from spycrab/qt_logger_cleanup
...
Qt: Make Log and Log Configuration widget separate from dock
2017-09-15 18:30:45 +02:00
Michael M
738acb6c07
FifoRecorder: move function definitions out of header
2017-09-14 17:28:39 -07:00
Michael M
a47ce0d625
FifoRecorder: remove use of volatile
2017-09-14 17:28:39 -07:00
Michael M
60cba5722c
Qt: use translations
2017-09-14 17:15:21 -07:00
Michael M
bdcd6df459
InterfaceConfigPane: remove unneeded comment
...
It notes that using "no" for Norwegian is not allowed by wxWidgets, but
"nb" is the correct code for Norwegian Bokmål anyways.
2017-09-14 17:15:21 -07:00
Michael M
b22ed9683d
InterfacePane: add all interface languages
2017-09-14 17:15:21 -07:00
Michael M
294b1895ef
ExpressionParser: std::move() tokens vector to parser
2017-09-14 12:53:36 -07:00
Michael M
31f1c06226
ControlReference: don't reparse expression when references are updated
2017-09-14 12:53:35 -07:00
Michael M
c332580b83
ControlReference/ExpressionParser: separate parsing from binding
2017-09-14 12:53:35 -07:00
Michael M
ba87a50338
ExpressionParser: add FallbackExpression node type
2017-09-14 12:53:35 -07:00
Michael M
7e74961eb1
ExpressionParser: expose ExpressionNode directly
2017-09-14 12:53:35 -07:00
Michael M
85301e2bae
ParseStatus: replace NoDevice with EmptyExpression
2017-09-14 12:53:35 -07:00
Michael M
754efd75c5
ExpressionParser: remove DummyExpression
2017-09-14 12:53:35 -07:00
Michael M
f1ff1e3d08
ExpressionParser: clean up ControlExpression
2017-09-14 12:53:35 -07:00
Michael M
3df945f8d0
ExpressionParser: replace bare pointers with unique_ptrs
2017-09-14 12:53:35 -07:00
Michael M
c33e391d26
InputConfigDiag: don't use entire ExpressionParse namespace
2017-09-14 12:53:35 -07:00
Michael M
bbb7c17235
ExpressionParser: use internal ParseResult struct instead of out-params
2017-09-14 12:53:35 -07:00
Michael M
d2821e14fa
ParseExpression: return a std::pair
2017-09-14 12:53:34 -07:00
spycrab
48d57f223d
Qt: Make Log and Log Configuration widget separate
2017-09-14 20:56:48 +02:00
Michael M
3e1072b24d
Qt: use Settings::EmulationStateChanged
2017-09-13 17:30:18 -07:00
Michael M
8e805dcbf4
Core: SetOnStoppedCallback -> SetOnStateChangedCallback
2017-09-13 17:30:18 -07:00
Michael M
22a9a08b24
Add Core::State::Starting
2017-09-13 17:30:18 -07:00
Michael M
d217e797f2
move Movie::DoFrameStep to Core::DoFrameStep
2017-09-13 17:30:18 -07:00
Leo Lam
5a89d13655
Merge pull request #6059 from spycrab/qt_columns
...
Qt: Bring column selection up to par with Wx
2017-09-13 22:13:27 +02:00
spycrab
e7318fda34
Qt: Bring column selection up to par with Wx
2017-09-13 22:05:45 +02:00
Lioncash
343bde2712
Software/TextureSampler: const correctness
2017-09-11 20:13:47 -04:00
gamemasterplc
4908d79a71
Remove Function Address Symbol Mask
...
The upper 4 bits were masked out of function addresses prior when generating symbols.
2017-09-11 15:39:22 -05:00
Markus Wick
b0f93f2acc
Merge pull request #6053 from spycrab/qt_action
...
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 15:18:09 +02:00
spycrab
2a7ad0b721
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 14:25:30 +02:00
Stenzek
24ddea04ce
VideoBackends: Move SamplerState to common
2017-09-11 20:01:54 +10:00
Stenzek
340aabbb06
VideoCommon: Add helpers for generating common render states
2017-09-11 20:01:52 +10:00
Stenzek
b7a099814a
Vulkan: Clear contents of EFB convert framebuffer at create time
...
Fixes a validation layer warning when converting pixel formats.
2017-09-11 20:01:50 +10:00
Stenzek
e584090822
Vulkan: Fix interface mismatch in RGB->YUYV shader
2017-09-11 20:01:48 +10:00
Stenzek
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
Stenzek
2869c570f1
Renderer: Move depth state to VideoCommon and seperate from bpmem
2017-09-11 19:40:26 +10:00
Stenzek
4d36f0cc87
Bitfield: Cast value to storage type in assignment operator
...
This allows us to use enum classes in bitfields.
2017-09-11 19:40:25 +10:00
Ryan Meredith
f8b89b7b1a
Update -d argument help message
2017-09-10 12:28:53 +02:00
Léo Lam
cc40931d64
PPCSymbolDB: Optimise symbol lookups
2017-09-10 11:42:12 +02:00
Léo Lam
8cd8e9d905
JIT: Don't always look up symbols for blocks
...
With tons of symbols, this results in noticeable stuttering, so
skip lookups if the perf dir option isn't set anyway.
2017-09-10 11:42:12 +02:00
Markus Wick
432117047b
Merge pull request #6045 from lioncash/sw-vertloader
...
SWVertexLoader: Minor cleanup
2017-09-10 11:23:25 +02:00
Markus Wick
88624f638f
Merge pull request #6041 from stenzek/streambuffer-fence
...
StreamBuffer: Don't wait on fences twice when reserve > commit
2017-09-10 11:20:01 +02:00
Mat M
a9b339fb65
Merge pull request #6048 from spycrab/qt_fix_tools
...
Qt: Fix "Load Wii System Menu" being in the wrong place
2017-09-10 02:18:13 -04:00
Stenzek
7141e6d57e
Merge pull request #6032 from stenzek/postprocess-save
...
VideoConfigDiag: Fix bug where postprocessing shader wasn't saved to INI
2017-09-10 16:05:03 +10:00
spycrab
c3a08f8653
Qt: Fix "Load Wii System Menu" being in the wrong place
2017-09-10 06:43:29 +02:00
Lioncash
696e1b40b5
Common: Move version strings to their own header
...
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label
This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.
This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
2017-09-09 19:28:10 -04:00
Lioncash
46579fe41c
SWVertexLoader: Make SWVertexLoader a final class
...
It doesn't make sense to allow extending this class based off the way
the VertexLoader API is set up.
2017-09-09 15:33:30 -04:00
Lioncash
dd8b41326c
SWVertexLoader: Make SetFormat() and ResetBuffer() private
...
SetFormat() is only ever used internally. ResetBuffer() is only
used to implement the VertexManagerBase class interface, so
there's no need to make it protected.
2017-09-09 15:33:30 -04:00
Lioncash
29a362be43
SWVertexLoader: Remove GetIndexBuffer()
...
It's only ever used in one place internally and is arguably unnecessary.
2017-09-09 15:33:22 -04:00
Lioncash
4d2a4924cb
SWVertexLoader: Normalize class variable names
...
Follows our coding style.
2017-09-09 15:32:41 -04:00
Jonathan Hamilton
d2d355bb50
Buildfix for X11 where HAVE_XRANDR is disabled
...
The "X.h" header *just* contains protocol constants, not functions or
typedefs - so stuff like "Display" and "Window" are not defined unless
you include "Xlib.h".
"Xrandr.h" happens to include "Xlib.h" itself, so enabling xrandr
effectively worked around this issue.
2017-09-09 11:49:20 -07:00
Stenzek
9e1c09e347
StreamBuffer: Don't wait on fences twice when reserve > commit
...
If we allocate a large amount of memory (A), commit a smaller amount,
then allocate memory smaller than allocation A, we will have already
waited for these fences in A, but not used the space. In this case,
don't set m_free_iterator to a position before that which we know is
safe to use, which would result in waiting on the same fence(s) next
time.
2017-09-09 13:26:30 +10:00
Stenzek
b969040534
Merge pull request #5923 from degasus/profiler
...
JitCommon: Update the block profiler
2017-09-08 18:20:35 +10:00
Markus Wick
62a331deed
Merge pull request #6035 from leoetlino/warning-fixes
...
Core: Fix warnings
2017-09-08 09:17:31 +02:00
spycrab
16e99985f9
Qt/GameList: Use AddAction for "Change Disc"
2017-09-07 20:42:11 +02:00
Léo Lam
a8849f87f1
Core: Fix warnings
...
Fixes two -Wmissing-declarations warnings
2017-09-07 20:35:17 +02:00
spycrab
0b2b72b366
Qt: Fix Wii Disc options being disabled while core is running
2017-09-07 19:46:06 +02:00
Leo Lam
14bd0fbf4b
Merge pull request #6029 from spycrab/qt_change_disc
...
Qt/GameList: Add "Change Disc" option
2017-09-07 19:24:25 +02:00
Leo Lam
c472462498
Merge pull request #6021 from spycrab/qt_build_by_default
...
CMake: Build DolphinQt2 by default
2017-09-07 19:23:07 +02:00
Leo Lam
0de3593b45
Merge pull request #6008 from spycrab/qt_older
...
Qt: Support versions < 5.6
2017-09-07 19:22:40 +02:00
Leo Lam
7971a4d66c
Merge pull request #5981 from spycrab/qt_filesystem
...
Qt/GameList: Implement "Filesystem" tab
2017-09-07 19:19:48 +02:00
Stenzek
0de31d87bd
VideoConfigDiag: Fix bug where postprocessing shader wasn't saved to INI
2017-09-08 01:19:26 +10:00
Stenzek
134daf3b00
Vulkan: Extend the NVIDIA MSAA bug to render-pass based clears
...
Calling vkCmdClearAttachments with a partial rect, or specifying a
render area in a render pass with the load op set to clear can cause the
GPU to lock up, or raise a bounds violation. This only occurs on MSAA
framebuffers, and it seems when there are multiple clears in a single
command buffer. Worked around by back to the slow path (drawing quads)
when MSAA is enabled.
2017-09-07 17:05:43 +10:00
Stenzek
b573319f8f
D3D: Fix shader compile error with logicop and alpha test enabled
2017-09-07 11:48:01 +10:00
Stenzek
c15ea2f1ed
D3D: Fix crash if shaders fail to compile
2017-09-07 11:45:43 +10:00
spycrab
8f8e96f59f
Qt/GameList: Add "Change Disc" option
2017-09-07 01:25:22 +02:00
Jules Blok
c97a799c5f
Merge pull request #6016 from Armada651/allow-tearing
...
D3DBase: Support the "allow tearing" DXGI flags.
2017-09-06 13:22:23 +02:00
Jules Blok
e103a58d87
Merge pull request #6012 from stenzek/drop-nv-glsl
...
Vulkan: Drop VK_NV_glsl extension support
2017-09-06 13:19:47 +02:00
Stenzek
1073053df9
Merge pull request #6026 from stenzek/d3d-ubershader-logicop
...
ShaderGen: Output uint when logic op is enabled for D3D ubershaders
2017-09-06 18:33:47 +10:00
Stenzek
2e20cd0ffd
Merge pull request #6025 from spxtr/present_queue
...
Vulkan: Use a separate queue for presenting.
2017-09-06 18:32:43 +10:00
iwubcode
1ccfccdcf0
D3D: Properly handle dual source blending
2017-09-05 23:51:31 -05:00
Jonathan Hamilton
7925de66b2
RFC: Call the previously-set sigaction in fastmem handler if it's not our address
...
This "fixes" the android crash handler, so it now correctly shows a
backtrace and other debug info on crash instead of scary kernel messages
on arm64
2017-09-05 17:37:24 -07:00
JosJuice
b96e4a2bce
Merge pull request #5927 from spycrab/qt_gamelist_cache
...
Qt: Implement gamelist caching
2017-09-05 21:16:22 +02:00
spxtr
a5be5a3a76
Vulkan: Use a separate queue for presenting.
...
Before this change, we simply fail if the device does not expose one
queue family that supports both graphics and present. Currently this is
fine, since devices tend to lay out their queues in this way. NV, for
instance, tends to have one queue family for all graphics operations and
one more for transfer only. However, it's not a hard requirement, and it
is cheap to use a separate queue, so we might as well.
2017-09-05 12:00:09 -07:00
Stenzek
84f8ebd95f
VideoBackends: Clear uid bits that are unused for the current backend
...
Currently, this is only the logic op bit, but this will be extended to
the framebuffer fetch/blend modes. In the future, when/if we move to
VideoCommon pipelines, this state will be part of the pipeline UID
anyway, and we can mask it out in the backend by using a two-level map,
so the shaders/programs are shared.
2017-09-05 23:49:42 +10:00
Stenzek
6d32cce2f5
ShaderGen: Output uint when logic op is enabled for D3D ubershaders
2017-09-05 23:49:42 +10:00
Jules Blok
347fd065df
D3DBase: Support the "allow tearing" DXGI flags.
...
This makes sure our framerate is unlocked when we disable V-Sync.
2017-09-04 23:12:52 +02:00
spycrab
28799bbe79
CMake: Build DolphinQt2 by default
2017-09-04 22:28:48 +02:00
spycrab
a361a1deed
Qt/SettingsWindow: Fix window not being detected as a dialog by some window managers
2017-09-04 19:50:24 +02:00
spycrab
4fdd4e2718
Qt: Support versions < 5.6
2017-09-04 10:40:47 +02:00
spycrab
f00456e6bf
Qt/ControllersWindow: Use std::map instead of std::unordered_map
2017-09-04 08:58:52 +02:00
Anthony
ee6930a231
Merge pull request #6013 from stenzek/d3d-logic-op
...
D3D: Implement logic op support
2017-09-03 19:26:50 -07:00
Anthony
26e777d80b
Merge pull request #5337 from stenzek/d3d-common-blending-state
...
D3D: Use blending state from VideoCommon
2017-09-03 19:25:46 -07:00
Stenzek
90051536bf
D3D: Support logic op through integer render target view
...
This brings D3D to parity with OpenGL and Vulkan.
2017-09-04 10:07:36 +10:00
Léo Lam
3475ba8918
DSP: Fix missing masking for accelerator registers
...
Based on hardware tests, masking occurs for the accelerator registers.
This fixes Red Steel and Far Cry Vengeance, which rely on this behavior
when reading back the current playback position from the DSP.
2017-09-04 00:26:13 +02:00
Markus Wick
9e0df284aa
Merge pull request #6018 from lioncash/const
...
Software/Tev: const correctness
2017-09-03 21:43:10 +02:00
Pierre Bourdon
5b6764a4fe
Merge pull request #6015 from JosJuice/dvd-0-length
...
Fix handling of DVD commands that read 0 bytes
2017-09-03 21:04:25 +02:00
Markus Wick
745cde81e5
Merge pull request #6017 from lioncash/d3d-texture
...
D3DTexture: Remove unused class member
2017-09-03 21:03:36 +02:00
Lioncash
baee3a9c74
Software/Tev: const correctness
2017-09-03 14:15:21 -04:00
Mat M
edf4bfaf5f
Merge pull request #5989 from lioncash/constantmgr
...
ConstantManager: Use std::array where applicable
2017-09-03 13:18:10 -04:00
Lioncash
36e299ca80
D3DTexture: Remove unused bindflags D3DTexture2D member variable
2017-09-03 13:12:26 -04:00
Lioncash
52099d1b0a
D3DTexture: in-class initialize class members where applicable
2017-09-03 13:08:06 -04:00
JosJuice
3528c93edf
DVDThread: Don't show an error message for all 0-length reads
2017-09-03 15:09:14 +02:00
JosJuice
0341a6052b
DVDInterface: Reply to 0-length commands
...
This regression from the chunking PR was making a few games hang.
2017-09-03 15:09:14 +02:00
Jules Blok
8906b26ea5
D3DBase: Use the correct version of CreateDXGIFactory.
2017-09-03 14:33:06 +02:00
Stenzek
99d61906cc
Merge pull request #5948 from Armada651/d3d-explicit-stereo
...
D3DBase: Only use a stereo swapchain if quad-buffering is enabled.
2017-09-03 21:07:24 +10:00
Jules Blok
75574ec6cc
Merge pull request #5946 from stenzek/ubershader-stereo-texture-samples
...
UberShaderPixel: Fix sampling of EFB copies in stereo modes
2017-09-03 12:26:52 +02:00
Stenzek
c9d649d27c
D3D: Use Direct3D 11.1 where supported
2017-09-03 16:33:47 +10:00
Stenzek
0622979d3b
ShaderGen: Support writing integer colors when logic op is enabled
...
This is required for D3D to support logic op.
2017-09-03 16:33:25 +10:00
Stenzek
254160691a
Revert "Vulkan: Use VK_NV_glsl extension where available, and skip glslang"
...
This reverts commit d23fd17e1a
.
Dynamic sampler indexing is broken in VK_NV_glsl as of 385.41. The
performance gap doesn't seem to be as wide with the updated driver, so
to save maintaining two code paths, it's easier to just drop the
extension support completely.
2017-09-03 15:31:19 +10:00
Stenzek
3dd675e613
Renderer: Change SetBlendState to accept a BlendingState
...
This decouples the state generation (from the emulated GPU) from the
management of internal backend state.
2017-09-03 14:14:54 +10:00
Stenzek
22b8cbae35
RenderBase: Drop SetColorMask and SetLogicOpMode
...
These are now incorporated into the blend state for all backends.
2017-09-03 14:14:54 +10:00
Stenzek
5c9bc8b79c
D3D11: Use blending state from VideoCommon
2017-09-03 14:14:54 +10:00
Stenzek
c90b0bf532
D3D11: Create debug device when validation layer is enabled in options
2017-09-03 14:14:19 +10:00
Stenzek
ce59121748
Merge pull request #6004 from lioncash/d3d
...
D3D: Eliminate redundant ID3D11DeviceChild* casts
2017-09-03 14:13:17 +10:00
Stenzek
005d0b39f7
Merge pull request #6009 from lioncash/async
...
AsyncShaderCompiler: Make WorkItem-derived class constructors explicit
2017-09-03 14:11:41 +10:00
Stenzek
7a4348b641
Merge pull request #5649 from JonnyH/WIP/disable-vk-clear-renderpass
...
Add DriverDetails::BUG to Disable "LoadOp" clear renderpass in vulkan
2017-09-03 13:49:51 +10:00
Pierre Bourdon
ed07bd4270
Merge pull request #6005 from spycrab/qt_warning_disable
...
Qt/DevelopmentWarning: Add "Don't show me this warning again" option
2017-09-03 03:50:29 +02:00
spycrab
0d3c4a3883
Qt/DevelopmentWarning: Add "Don't show me this warning again" option
2017-09-03 03:46:23 +02:00
Pierre Bourdon
425a8cb378
Merge pull request #5718 from mimimi085181/partial-updates-update
...
Update to partial texture updates
2017-09-03 03:16:55 +02:00
Pierre Bourdon
ab27f0f78c
Merge pull request #6010 from lioncash/vertex
...
OGL/VertexManager: Make vertex and index buffer handles private
2017-09-03 03:13:40 +02:00
spycrab
1b593fd56b
Qt: Implement TAS/Movie shortcuts
2017-09-03 02:58:38 +02:00
spycrab
0e7ed3514f
Qt: Implement "Movie" menu
2017-09-03 02:57:44 +02:00
Lioncash
2237a6a04c
OGL/VertexManager: Make vertex and index buffer handles private
...
These are only ever read, but not written to outside of the VertexManager class.
2017-09-02 20:51:54 -04:00
spycrab
4163ee42bc
Qt/GameList: Implement SelectionChanged()
2017-09-03 01:49:04 +02:00
Pierre Bourdon
3ae82ea669
Merge pull request #6007 from spycrab/qt_win_icon
...
Qt/MSVC: Add icon
2017-09-03 01:36:11 +02:00
spycrab
018c2cfd65
Qt/MSVC: Add icon
2017-09-02 23:51:59 +02:00
Lioncash
2d45204f12
VideoBackends: Add the explicit keyword to WorkItem-derived class constructors
...
Prevents implicit conversions
2017-09-02 17:35:20 -04:00
Lioncash
5059332d95
OGL/ProgramShaderCache: Remove unnecessary virtual keyword
...
This is superfluous, considering the override keyword is present.
2017-09-02 17:27:19 -04:00
Mat M
657195fad5
Merge pull request #6006 from JonnyH/WIP/parse-imgtec-gl_version-string
...
Parse IMGTEC's GL_VERSION string format
2017-09-02 17:10:59 -04:00
Markus Wick
30e01834e2
Merge pull request #6002 from lioncash/include
...
CommandProcessor: Remove unnecessary include
2017-09-02 23:05:58 +02:00
Jonathan Hamilton
658a4a6e29
Mark an ImgTec driver bug as fixed in 1.8@4693462
...
Now we correctly parse ImgTec's GL_VERSION string we can actually use
the BugInfo's version stuff correctly here
2017-09-02 14:05:16 -07:00
Jonathan Hamilton
662abcb2fe
Parse IMGTEC's GL_VERSION string format
...
ImgTec's driver uses a major.minor@changeID versioning system
This is packed into a double so "1.9@4850625" becomes "109.4850625"
The next release brnach is expected to be 1.10, hence the need for 2
digits for the branch minor.
The changeID should be unique for each build, but is shared over all
branches, so only makes sense to compare withing a branch.
It's likely branch 'major' versions will be used for major hardware
revisions, and the drivers for both maintained in parallel. Thus it
may not make sense to compare versions between different major
verisons - if/when this happens we can hook up a DriverDetails::Family
as needed.
2017-09-02 14:05:16 -07:00
Lioncash
64de8a9d0b
D3D: Eliminate redundant ID3D11DeviceChild* casts
2017-09-02 14:45:14 -04:00
Lioncash
6f97e3faa6
AsyncShaderCompiler: use std::make_unique in CreateWorkItem()
...
Same behavior, simpler code.
2017-09-02 14:08:00 -04:00
Lioncash
62615c601e
AsyncShaderCompiler: Forward arguments to the specified type's constructor in CreateWorkItem()
...
As this just hands off the arguments to another type's constructor,
perfect forwarding should be used here to preserve any potential move semantics.
2017-09-02 14:06:48 -04:00
Lioncash
f6e3a39c0e
CommandProcessor: Remove unnecessary include
...
Gets rid of some indirect inclusion.
2017-09-02 13:34:21 -04:00
degasus
992893ba41
Jit64: Use ImmPtr.
2017-09-02 14:33:07 +02:00
degasus
da79ddbde7
JitArm64: Rewrite Exit functions.
...
The gpr must not be touched in the Exit functions as they are maybe conditional.
So just allocate everything here manually.
2017-09-02 13:45:24 +02:00
degasus
304e601ad3
JitArm64: Reimplement aarch64 cycle counters.
...
CNTVCT_EL0 is force-enabled on all linux plattforms.
Windows is untested, but as this is the best way to get *any* low
overhead performance counters, they likely use it as well.
2017-09-02 13:24:37 +02:00
degasus
9080192a65
Jit64: Move profiler to the end of th block.
...
Within Cleanup(), it is called at *every* end of the block. This generates bigger code,
but it is the only way to handle blocks with multiple exit nodes.
2017-09-02 13:05:58 +02:00
degasus
958b75b707
JitCommon: Restructure the profiler calls.
2017-09-02 13:05:58 +02:00
degasus
95ce860265
DolphinWX: Enable branch following in the JIT debug interface.
2017-09-02 13:05:58 +02:00
degasus
8ab34b1a3e
Jit64: Inline the profiler calls.
2017-09-02 13:05:58 +02:00
spycrab
fcdd247f93
Qt: Fix building on <= 5.7.x
2017-09-02 03:20:20 +02:00
Leo Lam
8e9857d3cd
Merge pull request #5954 from khg8m3r/OSXKeyboard
...
Clean up OSX input selection
2017-09-01 21:31:17 +02:00
spycrab
1173c2f790
Qt: Implement "Extract Certificates from NAND"
2017-08-29 08:31:50 +02:00
spycrab
561d31f887
Qt: Implement "Import BootMii NAND Backup"
2017-08-29 08:31:45 +02:00
Jonathan Hamilton
62e8d25cd1
Add Bug to Disable "LoadOp" clear renderpass in vulkan
...
This optimisation doesn't work on PowerVR's Vulkan implementation. We
(incorrectly) disallow Framebuffer objects to be used with a different
load or store op than that which they were created with, despite the
spec allowing such.
This fixes the windwaker intro "smearing"
2017-08-28 18:01:35 -07:00
Jonathan Hamilton
11057649ee
Add VideoLogic (ImgTec) PCI ID
2017-08-28 18:01:16 -07:00
spycrab
a2b7632850
Qt: Implement "Load GameCube Main Menu"
2017-08-29 02:57:46 +02:00
spycrab
0dfde1d34e
Qt: Implement "Export All Wii Saves"
2017-08-28 23:00:14 +02:00
spycrab
9469fc3d6f
Qt: Implement "Import Wii Save"
2017-08-28 23:00:14 +02:00
Leo Lam
378416f986
Merge pull request #5972 from leoetlino/close
...
WiimoteReal: Fix device handles not being closed
2017-08-28 21:01:12 +02:00
Lioncash
9c1f9c1c00
ConstantManager: Use std::array where applicable
...
Modernizes the arrays and makes future simplifications possible (e.g. usages within the software renderer).
It also makes cases where we use array->pointer decay explicit.
2017-08-27 15:41:36 -04:00
spycrab
95a53a435c
Qt/GraphicsWidget: Fix bad layout column
2017-08-27 10:04:06 +02:00
Stenzek
21b3cd4759
OGL: Fix EFB pokes using incorrect color/depth
2017-08-27 11:55:24 +10:00
spycrab
8b346b7058
Qt/GameList: Implement "Filesystem" tab
2017-08-26 14:56:33 +02:00
spycrab
56aad4a958
Qt/PropertiesDialog: Make title more like Wx
2017-08-26 14:44:38 +02:00
spycrab
2630fa0ce9
Qt: Only show "Filesystem" Tab when game is disc based
2017-08-25 20:35:41 +02:00
JosJuice
87d982982d
Fix regression in File::CopyDir
...
This apparently fixes https://bugs.dolphin-emu.org/issues/10499 somehow.
The first changed line of this commit is just for performance - the
second changed line is where the difference in behavior is.
2017-08-25 19:14:14 +02:00
Léo Lam
31b04149b3
DiscIO: Fix TMD extraction
...
The offset that we read from the header is relative to the partition.
2017-08-25 17:31:50 +02:00
Chris Burgener
cc03e49024
Remove FFMPEG check for Renderer::IsFrameDumping()
2017-08-24 11:15:50 -04:00
spycrab
b9c5a2af05
Qt: Implement gamelist caching
2017-08-24 07:17:31 +02:00
Nick
ef95bf26cb
Implement GamePAd and MultiAxisController detection
2017-08-24 00:31:59 -04:00
Michael M
b58f8d19ab
Rename Common::FifoQueue to Common::SPSCQueue
...
Since all queues are FIFO data structures, the name wasn't informative
as to why you'd use it over a normal queue. I originally thought it had
something to do with the hardware graphics FIFO.
This renames it using the common acronym SPSC, which stands for
single-producer single-consumer, and is most commonly used to talk about
lock-free data structures, both of which this is.
2017-08-23 17:00:52 -07:00
Jonathan Hamilton
5b41c5ae0d
Fix vulkan crash on drivers without atomic load/store support
...
This would not allocate a SSBO buffer, but still try to update the
descriptor said with a NULL buffer. Which naturally crashed.
2017-08-23 14:49:22 -07:00
Léo Lam
52f26d462e
WiimoteReal: Fix device handles not being closed
...
fail.
I have no idea how this didn't cause issues for more people.
2017-08-23 23:05:29 +02:00
JosJuice
fb2016838e
Merge pull request #5864 from JosJuice/directoryblob-disccontentcontainer
...
DirectoryBlob: Improve ReadInternal
2017-08-23 18:48:24 +02:00
Anthony
935c1da357
Merge pull request #5951 from ligfx/gametrackerworkqueuethread
...
GameTracker: use new Common::WorkQueueThread instead of signals/slots
2017-08-23 08:02:36 -07:00
Léo Lam
e4ea4da782
IOS: Check for available features when adding devices
...
Prevents resource managers that shouldn't be visible from being exposed
to titles.
This adds a new function to get features for an IOS version, and also
moves the version checks from the modules themselves to VersionInfo.
This hopefully documents some of the differences between IOS better
and should be slightly cleaner than having random version checks.
2017-08-23 15:18:12 +02:00
Léo Lam
24e7b465be
IOS: Rename MemoryValues to VersionInfo
2017-08-23 14:44:51 +02:00
Pierre Bourdon
187e65f495
Merge pull request #5941 from delroth/wfs
...
WFS updates
2017-08-23 11:14:01 +02:00
Nick
3abde44641
formatting cleanup
2017-08-23 00:19:34 -04:00
Lioncash
bc57ab3923
Clipper: Copy both color sequences in CopyVertex as opposed to one
...
This is likely an oversight.
2017-08-22 22:45:28 -04:00
Lioncash
ffaa9a3bea
SW NativeVertexFormat: Utilize std::array where applicable
...
Gets rid of some hardcoded looping bounds, and also simplifies code in
some places, sometimes allowing for removal of a loop altogether.
2017-08-22 22:39:28 -04:00
Léo Lam
ef888ef168
WFS: Fix logging types.
2017-08-22 23:41:38 +02:00
Léo Lam
344228ec10
WFSI: Implement noop ioctl 0x8f.
2017-08-22 23:41:38 +02:00
Léo Lam
70cb0cb126
WFSI: Implement GET_VERSION.
...
This ioctl writes a constant value to the output buffer.
2017-08-22 23:41:38 +02:00
Léo Lam
8a5d24ab4b
WFSI: Implement IOCTL_WFSI_IMPORT_TITLE_CANCEL.
...
It gets called for cleaning up whenever something goes wrong, and
also when cancelling an update.
2017-08-22 23:41:38 +02:00
Léo Lam
5cc18bf116
WFSI: Add missing functionality to ImportTitleInit.
2017-08-22 23:41:38 +02:00
Léo Lam
f0aeeeaef6
WFSI: Implement internal Cancel{Title,Patch}Import.
2017-08-22 23:41:38 +02:00
Léo Lam
c1817b2c6d
WFSI: Rename 2 ioctls to better reflect their purposes.
...
* IOCTL_WFSI_PREPARE_DEVICE -> IOCTL_WFSI_IMPORT_TITLE_INIT
(equivalent of ES_ImportTitleInit, also the official name)
* IOCTL_WFSI_IMPORT_TITLE -> IOCTL_WFSI_IMPORT_TITLE_CANCEL
(equivalent of ES_ImportTitleCancel)
2017-08-22 23:41:38 +02:00
Léo Lam
7423563386
WFSI: Fix the TMD size check.
2017-08-22 23:41:37 +02:00
Pierre Bourdon
a641609857
WFSI: Implement patch install finalization.
2017-08-22 23:41:37 +02:00
Pierre Bourdon
76bbfbb511
WFSI: Adapt FINALIZE_TITLE_INSTALL for patch support.
2017-08-22 23:14:00 +02:00
Pierre Bourdon
db24c94c6e
WFSI: More work to support patching: split off current_tid/gid and import_tid/gid
2017-08-22 23:14:00 +02:00
Pierre Bourdon
aa445806a5
WFSI: Rename a few ioctl handlers.
2017-08-22 23:14:00 +02:00
Pierre Bourdon
5ed3a3f12d
WFSI: Get the patch info from PREPARE_DEVICE.
2017-08-22 23:14:00 +02:00
Léo Lam
e004709b69
WFSI: Implement CHECK_HAS_SPACE.
2017-08-22 23:13:59 +02:00
Léo Lam
15f25783a8
WFS: Implement RENAME.
2017-08-22 23:13:58 +02:00
Pierre Bourdon
2a8d9a53b7
WFS: Share error codes with WFSI.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
e6e00f6c8d
WFSI: Implement install finalization.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
88580b8d5f
WFSI: Fix install directories creation.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
e79392cb8e
WFS: Implement WRITE and WRITE_ABSOLUTE.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
dca70844a6
WFS: Implement CREATE_OPEN along with OPEN.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
ef3232cd74
WFSI: Create meta/work/save dirs when applying title profile.
2017-08-22 23:13:14 +02:00
Pierre Bourdon
c0b3a68441
WFS: Implement MKDIR.
2017-08-22 23:13:13 +02:00
Pierre Bourdon
e45bb77512
WFS: Add a basic GET_ATTRIBUTES implementation.
2017-08-22 23:13:13 +02:00
Pierre Bourdon
56aa3cc558
WFSI: Implement both GET_TMD ioctls.
2017-08-22 23:13:13 +02:00
Pierre Bourdon
c81636d9a8
WFSI: Stub out SET_FST_BUFFER.
2017-08-22 23:13:13 +02:00
Pierre Bourdon
92387cb052
WFS: Implement CLOSE_2 as a clone of CLOSE.
2017-08-22 23:13:13 +02:00
Leo Lam
c12418788a
Merge pull request #5963 from JMC47/mtmsrfix
...
Fix JIT64 mtmsr issue after PIE support.
2017-08-22 22:12:13 +02:00
Leo Lam
788af71f30
Merge pull request #5949 from ligfx/gamelistmodelupdategame
...
GameListModel: make UpdateGame update existing files as well
2017-08-22 21:39:29 +02:00
Nick
3d01eeef00
Fix OSX hotkey defaults
2017-08-22 21:31:19 +02:00
Leo Lam
6e1cdfadc9
Merge pull request #5955 from leoetlino/copy
...
FileUtil: Simplify File::Copy on non-Windows platforms
2017-08-22 21:29:46 +02:00
Leo Lam
b3a8209821
Merge pull request #5960 from ligfx/gamefiledontstorefilepathparts
...
GameFile: don't store file path parts
2017-08-22 21:29:30 +02:00
Leo Lam
232b81999a
Merge pull request #5961 from ligfx/gamefilebanner
...
GameFile: handle missing banners in UI instead
2017-08-22 21:26:38 +02:00
Michael M
d00ecb7231
GameFile: remove unused m_company
2017-08-22 12:18:49 -07:00
Markus Wick
3094d6531d
Merge pull request #5962 from degasus/arm-fixes
...
JitArm64: Fix rlwinmx.
2017-08-22 20:27:45 +02:00
Nick
3cddb62aea
keyboard fixes v2
2017-08-22 12:26:44 -04:00
JosJuice
09f3f9b41a
Remove NonCopyable
...
The class NonCopyable is, like the name says, supposed to disallow
copying. But should it allow moving?
For a long time, NonCopyable used to not allow moving. (It declared
a deleted copy constructor and assigment operator without declaring
a move constructor and assignment operator, making the compiler
implicitly delete the move constructor and assignment operator.)
That's fine if the classes that inherit from NonCopyable don't need
to be movable or if writing the move constructor and assignment
operator by hand is fine, but that's not the case for all classes,
as I discovered when I was working on the DirectoryBlob PR.
Because of that, I decided to make NonCopyable movable in c7602cc
,
allowing me to use NonCopyable in DirectoryBlob.h. That was however
an unfortunate decision, because some of the classes that inherit
from NonCopyable have incorrect behavior when moved by default-
generated move constructors and assignment operators, and do not
explicitly delete the move constructors and assignment operators,
relying on NonCopyable being non-movable.
So what can we do about this? There are four solutions that I can
think of:
1. Make NonCopyable non-movable and tell DirectoryBlob to suck it.
2. Keep allowing moving NonCopyable, and expect that classes that
don't support moving will delete the move constructor and
assignment operator manually. Not only is this inconsistent
(having classes disallow copying one way and disallow moving
another way), but deleting the move constructor and assignment
operator manually is too easy to forget compared to how tricky
the resulting problems are.
3. Have one "MovableNonCopyable" and one "NonMovableNonCopyable".
It works, but it feels rather silly...
4. Don't have a NonCopyable class at all. Considering that deleting
the copy constructor and assignment operator only takes two lines
of code, I don't see much of a reason to keep NonCopyable. I
suppose that there was more of a point in having NonCopyable back
in the pre-C++11 days, when it wasn't possible to use "= delete".
I decided to go with the fourth one (like the commit title says).
The implementation of the commit is fairly straight-forward, though
I would like to point out that I skipped adding "= delete" lines
for classes whose only reason for being uncopyable is that they
contain uncopyable classes like File::IOFile and std::unique_ptr,
because the compiler makes such classes uncopyable automatically.
2017-08-22 16:40:34 +02:00
JosJuice
6e6864fcbf
Revert "DirectoryBlob: Use NonCopyable"
...
This reverts commit a7a8e467b6
.
2017-08-22 16:35:37 +02:00
JosJuice
51a7150990
Fix DolphinWX build issue
...
I'm not sure why this hasn't popped up as an error on the buildbots,
but the build fails on my new install of VS2017. The error is C2445:
result type of conditional expression is ambiguous: types 'wxString'
and 'const char [1]' can be converted to multiple common types
2017-08-22 13:35:20 +02:00
JMC47
f7b133b39a
Fix JIT64 mtmsr - PIE support caused the codesize
...
to get bigger, breaking an optimization. This forces the emitter to use a
32bit pointer instead of an 8bit one, fixing the issue at the expense of
efficiency.
2017-08-22 06:44:38 -04:00
Michael M
5f30ebed23
GameFile: don't store file path parts
2017-08-21 23:55:45 -07:00
Michael M
e88b5f4254
GameFile: add missing include for QFileInfo
2017-08-21 23:55:45 -07:00
degasus
b00c60618b
JitArm64: Fix rlwinmx.
...
Seems like I was wrong that ANDI2R doesn't require a temporary register here.
There is *one* case when the mask won't fit in the ARM AND instruction:
mask = 0xFFFFFFFF
But let's just use MOV instead of AND here for this case...
2017-08-22 08:47:43 +02:00
Michael M
061da1300a
GameFile: handle missing banners in UI instead
...
Currently, GameFile returns a generic banner if the file didn't have one
available (either because the file format doesn't support it, or because
it's a Wii file without an associated save).
It makes more sense to handle the lack of banner in the UI layer. The
game list will use the generic missing banner explicitly (no change from before), and the game info window now omits the banner display entirely if the file didn't have one (since it's not useful to display/allow the user to save the "missing banner" banner).
2017-08-21 18:00:04 -07:00
N.E.C
ebda7db437
VideoCommon: Fix bug #10464 (RA4 format not handled in TextureDecoder)
2017-08-21 10:22:15 -07:00
Léo Lam
6f923ffae4
FileUtil: Simplify File::Copy on non-Windows platforms
...
The old way of doing it is error prone and unnecessarily complex.
2017-08-21 18:31:46 +02:00
Pierre Bourdon
873521ce0b
Revert "Try to fix File::Copy with non-1024-byte aligned sizes"
2017-08-21 18:29:58 +02:00
Jules Blok
d0fc223fe1
Merge pull request #5956 from Armada651/fix-remove-clr-usage
...
RenderState: Fix incorrect blending factors when removing the color usage.
2017-08-21 17:06:44 +02:00
Markus Wick
8280d15357
Merge pull request #5939 from JonnyH/WIP/broken-fstream-copy
...
Try to fix File::Copy with non-1024-byte aligned sizes
2017-08-21 17:01:16 +02:00
Jules Blok
390f3f13ba
RenderState: Fix incorrect blending factors when removing the color usage.
2017-08-21 16:33:10 +02:00
Leo Lam
92b375b07a
Merge pull request #5952 from lioncash/futureproofing
...
CommonTypes: Qualify standard integral types in typedefs with std::
2017-08-21 11:07:34 +02:00
Nick
0df4f7db4f
Depreciate old OSX Keyboard and Mouse
2017-08-21 01:44:03 -04:00
Mat M
5aed9a67ef
Merge pull request #5904 from leoetlino/indirect-include
...
PowerPC: Fix indirect includes for GDBStub
2017-08-20 19:59:53 -04:00
Lioncash
7a5577498b
CommonTypes: Qualify standard integral types in typedefs with std::
...
Given a relatively recent proposal (P0657R0), which calls for deprecation of putting stuff into the global namespace when using C++ headers, this just futureproofs our code a little more.
Technically this is what we should have been doing initially, since an
implementation is allowed to not provide these types in the global
namespace and still be compliant.
2017-08-20 19:34:52 -04:00
Leo Lam
08004d409e
Merge pull request #5937 from ligfx/miniupnpccmake
...
CMake: use miniupnpc target instead of global vars
2017-08-20 23:44:06 +02:00
Leo Lam
aab4cced11
Merge pull request #5938 from sepalani/err-msg
...
CommonFuncs: LastStrerrorString added
2017-08-20 23:41:47 +02:00
Michael M
8c13e0230c
GameTracker: use WorkQueueThread
2017-08-20 14:40:56 -07:00
Michael M
de9378bf63
Common: add WorkQueueThread
2017-08-20 14:40:56 -07:00
Leo Lam
165a995cc4
Merge pull request #5950 from ligfx/gamelistmodelfilenamefallback
...
GameListModel: fallback to file name if long name is empty
2017-08-20 23:29:27 +02:00
Michael M
1a59ea3adb
GameFile: don't assign English long name for ELF/DOLs
2017-08-20 13:50:24 -07:00
Michael M
f3ab974bc6
GameListModel: fallback to file name if long name is empty
2017-08-20 13:50:24 -07:00
Michael M
6bfb280cec
GameListModel: make UpdateGame take a const ref
2017-08-20 13:46:49 -07:00
Michael M
f724a06108
GameListModel: make UpdateGame update existing files as well
2017-08-20 13:46:49 -07:00
Jules Blok
f4f6782ae6
D3DBase: Only use a stereo swapchain if quad-buffering is enabled.
2017-08-20 18:25:49 +02:00
Stenzek
a7f217c3f4
UberShaderPixel: Fix sampling of EFB copies in stereo modes
2017-08-20 18:08:24 +10:00
Michael M
623026f420
Connect to Settings::PathAdded/Removed directly in GameListModel
...
It no longer makes sense to connect these signals in GameList, since
GameListModel is now owned by Settings.
2017-08-19 15:59:40 -07:00
Michael M
7d9ad88bc5
Add initial paths to GameTracker after construction
...
It's strange to see GameTracker add its own initial paths in
construction, because you might expect a race condition where the
GameLoaded signal is emitted before it gets connected to in
GameListModel.
In fact, this doesn't happen, but only because of how it abuses the Qt
signals mechanism to load files asynchronously: GameLoader emits a
GameLoaded signal which gets forwarded to the GameTracker::GameLoaded
signal _after_ control returns to the event loop, at which point
GameListModel has connected.
This commit moves the logic of adding initial paths out of GameTracker
to a point after the signals are connected, which is more obvious and
doesn't rely on how GameTracker implements concurrency.
2017-08-19 15:59:40 -07:00
Sepalani
4e5fe6366a
CommonFuncs: LastStrerrorString added
2017-08-18 20:08:50 +01:00
Michael M
abf55be70d
RunOnObject: add missing QThread include
2017-08-17 16:41:35 -07:00
Jonathan Hamilton
643b3ba9f8
Try to fix File::Copy with non-1024-byte aligned sizes
...
ifstream::read() sets the failbit if trying to read over the end, which
means that (!input) would be hit for the 'last' block if it wasn't
exactly BSIZE (1024) bytes.
2017-08-17 14:08:56 -07:00
Michael M
fc306faad8
CMake: use miniupnpc target instead of global vars
2017-08-17 13:15:02 -07:00
Léo Lam
4b4e488189
WFS: Use a separate log type for WFS related logs
...
Makes it easier to turn off general IOS messages that can be
distracting (e.g. /dev/net/ssl being opened hundreds of time...)
without losing the ability to view WFS messages.
2017-08-16 22:27:29 +02:00
Leo Lam
918b0375e4
Merge pull request #5742 from ToadKing/fix-bad-controllers
...
Ignore capabilities reported by an XInput device
2017-08-17 03:42:02 +08:00
Leo Lam
799b01b6af
Merge pull request #5751 from leoetlino/region
...
Config: Fall back to the system menu region
2017-08-17 03:40:19 +08:00
Leo Lam
a53b01360c
Merge pull request #5898 from ligfx/extractupnp
...
Common: extract UPnP namespace from NetPlayServer
2017-08-17 03:11:41 +08:00
Leo Lam
70931f460d
Merge pull request #5929 from JonnyH/PR/fix-oprofile-build-linked-as-needed
...
Fix OPROFILE linux build with -Wl,--as-needed
2017-08-17 03:06:59 +08:00
Léo Lam
d2452b8ecf
Qt: Fix old usage of GetSelectedGame
...
Waited too long before merging a PR, which managed to break the build
because GetSelectedGame was changed without introducing any conflict :(
2017-08-16 13:21:14 +02:00
Leo Lam
3748384008
Merge pull request #5746 from leoetlino/disc-updates
...
Add support for installing disc updates from the game list
2017-08-16 19:02:42 +08:00
Sepalani
93b5a5369b
SymbolDB: Blank stripped symbol name fixed
2017-08-16 04:07:19 +01:00
Pierre Bourdon
9b79e0ac72
Merge pull request #5930 from delroth/wfs
...
Fix Dragon Quest X offline mode on Dolphin
2017-08-15 22:40:56 +02:00
Pierre Bourdon
40c70469e5
WFS: Implement GET_HOMEDIR.
2017-08-15 22:35:45 +02:00
Pierre Bourdon
1e75455ef5
WFS: Return a proper ENOENT code on failed OPEN.
2017-08-15 22:35:45 +02:00
Pierre Bourdon
397f5e54e0
WFS: Implement READ_ABSOLUTE (merged with READ implementation).
2017-08-15 22:35:45 +02:00
Pierre Bourdon
49a4712f33
WFS: Implemented the GET_SIZE ioctl.
2017-08-15 22:35:45 +02:00
Pierre Bourdon
2f5ddf12a9
WFS: Normalize paths before opening.
2017-08-15 22:35:45 +02:00
Pierre Bourdon
425cf18bf7
USB: Add a stub HIDv5 implementation and use it for IOS59.
2017-08-15 22:35:45 +02:00
Pierre Bourdon
f810f1edb2
WFS/NAND: Better handle GID.
2017-08-15 22:29:10 +02:00
Pierre Bourdon
f8e5f4296f
WFS: Document WFSSRV ioctl 0x0c as being mkdir.
2017-08-15 22:29:10 +02:00
Pierre Bourdon
c14ab0dd53
WFS: Implement current/home path expansion.
2017-08-15 22:29:10 +02:00
Jonathan Hamilton
2a66b88d01
Fix OPROFILE linux build with -Wl,--as-needed
...
The opagent library was (incorrectly) marked as a dependency for "Core"
instead of "Common".
When linked with --as-needed, any symbols the linker can tell are not
used are discarded. As the link is done in command-line order, and the
Core library (and dependencies) are processed before Common, it would
link in Core, then opagent, but as at that point no opagent symbols are
used the whole opagent library would be discarded.
Moving the opagent library to be a dependency of Common fixes this, as
after the Common library is linked, there *are* opagent symbols used.
2017-08-14 14:38:44 -07:00
Jonathan Hamilton
5c213a5ad5
Qt frontend build fix for USE_UPNP=OFF
...
A couple of missing "#ifdef USE_UPNP" around
NetPlaySetupDialog::m_host_upnp
2017-08-14 13:31:55 -07:00
Anthony
6a272f22de
Merge pull request #5478 from stenzek/vulkan-nvidia
...
Vulkan: Don't use vkCmdClearAttachments on NVIDIA with MSAA
2017-08-14 13:12:41 -07:00
Anthony
a7bdd2ee1c
Merge pull request #5868 from stenzek/d3d-require-new-compiler
...
D3DBase: Raise error if d3dcompiler_47.dll cannot be loaded
2017-08-14 09:55:31 -07:00
Leo Lam
5bfd00f4e6
Merge pull request #5926 from ligfx/lintallsource
...
Fix two small lint errors
2017-08-14 23:18:04 +08:00
Anthony
fc9f9b6683
Merge pull request #5880 from stenzek/nv-ubershaders
...
Ubershader optimizations for NVIDIA
2017-08-14 08:17:10 -07:00
Michael M
1ade08c607
Fix two small lint errors
2017-08-13 19:06:10 -07:00
Michael M
8702ffccc3
UPnP: use value-initialization instead of std::memset
2017-08-13 18:50:53 -07:00
Michael M
0e51082bbb
UPnP: move variable declaration to where it's used
2017-08-13 18:50:52 -07:00
Michael M
7ce9f1f984
UPnP: remove unneeded vector in InitUPnP()
2017-08-13 18:50:52 -07:00
Michael M
b5d070b0cf
NetPlayServer: handle port forwarding in constructor
2017-08-13 18:50:52 -07:00
Michael M
4b50e77a26
NetPlayClient/Server: apply Parameter Object pattern to traversal parameters
2017-08-13 18:50:52 -07:00
Michael M
fdb5828d62
Qt MainWindow: clean up Netplay settings logic
2017-08-13 18:50:52 -07:00
Michael M
a09f8744b9
UPnP: cleanup variable name desc_xml
2017-08-13 18:50:52 -07:00
Michael M
ff1d1a7a4d
UPnP: use std::to_string
2017-08-13 18:50:52 -07:00
Michael M
862e0bec79
UPnP: cleanup function names
2017-08-13 18:50:52 -07:00
Michael M
281f90efc3
UPnP: coalesce s_our_ip and cIP
2017-08-13 18:50:51 -07:00
Michael M
106ae9636e
UPnP: cleanup variable names
2017-08-13 18:50:51 -07:00
Michael M
3386543a9c
Common: extract UPnP namespace from NetPlayServer
2017-08-13 18:50:51 -07:00
Michael M
9afb2ff40e
Common/CMakeLists: sort source files
2017-08-13 18:50:51 -07:00
Markus Wick
06da1973a8
Merge pull request #5919 from degasus/arm
...
JitArm64: Small performance optimizations.
2017-08-14 00:01:27 +02:00
Markus Wick
f92562c652
Merge pull request #5917 from degasus/cmp
...
JitArm64: Fix and improve the cmpXX instructions.
2017-08-14 00:00:54 +02:00
Sepalani
c71ce9a8eb
MemoryWindow: base address search added
2017-08-12 18:22:30 +01:00
Pierre Bourdon
5a4900bc96
WFS: Stub WFSSRV's flush command.
2017-08-12 15:17:34 +02:00
Pierre Bourdon
f3224dc726
WFS: Stub out unimplemented ioctl 0x08.
2017-08-12 15:17:34 +02:00
Pierre Bourdon
f0ba0f617f
WFS: Fix shutdown behavior with long hanging requests.
2017-08-12 15:17:34 +02:00
Pierre Bourdon
385f063be1
ES: Split out GetTitleId to a separate method.
2017-08-12 15:17:34 +02:00
Pierre Bourdon
58624ef409
ES: Fix wrong log message.
2017-08-12 15:17:34 +02:00
Markus Wick
d791e5d3a8
JitArm64: Use the updated wrappers.
...
They are faster, no need to use the slow path in the CPU.
2017-08-12 00:00:41 +02:00
Markus Wick
d78009877b
JitArm64: Fix LSL/LSR/ROR/ASR wrappers.
...
The other method has a latency of 2 cycles. This also improves the
throughput a lot.
2017-08-12 00:00:41 +02:00
Markus Wick
5ee7f86199
JitArm64: Optimize rlwinmx.
...
The new code adds fast paths for most usages which fits in one
instruction with one cycle latency.
2017-08-12 00:00:41 +02:00
Markus Wick
ec5cfd2aae
JitArm64: Update CR helpers to reflect their usage.
...
This helpers are not for general CR calculation, they are just for the
common case of the sign extended result of integer instructions if the
rc bit is set.
They must not be used by other instructions like cmp, so there is no
need to be as flexible.
2017-08-11 21:17:13 +02:00
Markus Wick
7d4c14feba
JitArm64: Fix and improve the cmpXX instructions.
2017-08-11 21:17:13 +02:00
Ryan Meredith
7154c0f0ff
m_bt_wiimote_motor rename and tooltip addition
2017-08-11 15:15:51 -04:00
Markus Wick
b89e4b5258
Interpreter: Fix cmpi.
...
cmpi shall compare two signed 32 bit values. The used difference a-b
may overflow and so the resulting 32 bit value can't represent it.
A correct way would be cr = s64(a) - s64(b) and it should be done in
this way in the JITs, but the Interpreter shall implement the most
readable way.
Also drops the now unused helper function.
2017-08-11 17:35:22 +02:00
Stenzek
f8a64ab1fc
UberShaderPixel: Use an if trees instead of switch statements on GL
...
The switch statements in these functions appear to get transformed into
an if..else chain on NVIDIA's OpenGL/Vulkan drivers, resulting in lower
performance than the D3D counterparts. Transforming the switch into a
binary tree of ifs can increase performance by up to 20%.
2017-08-12 00:16:19 +10:00
Leo Lam
5767309670
Merge pull request #5914 from sepalani/rso-data
...
RSO: Import data symbols
2017-08-11 21:02:28 +08:00
Léo Lam
1bd7fefec1
Config: Set DOL/ELF region to UNKNOWN
...
This allows the region to be chosen by the user.
2017-08-11 20:28:33 +08:00
Léo Lam
bec35b287e
Config: Fall back to the system menu region
...
Since we don't want users to have to configure the region manually
and always enforce one automatically, we should fall back to a region
that was likely to be chosen by the user instead of always using
PAL whenever the title region cannot be detected.
Dolphin doesn't mess with installed NAND titles like the system menu,
so it is a reliable indicator of what region the user wants.
2017-08-11 20:28:33 +08:00
Leo Lam
86e932b833
Merge pull request #5915 from JosJuice/pad-size
...
DolphinQt2: Replace "Pad size" with "Buffer size"
2017-08-11 20:27:52 +08:00
JosJuice
3570a9b636
DolphinWX: Replace "Pad buffer" with "Buffer size"
2017-08-11 12:36:42 +02:00
Leo Lam
c91211b6ce
Merge pull request #5867 from leoetlino/widescreen
...
GameINI: Replace Wii.Widescreen with AspectRatio
2017-08-11 18:23:54 +08:00
JosJuice
9747a4c697
DolphinQt2: Replace "Pad size" with "Buffer size"
...
"Pad size" just doesn't make much sense. Let's go with "Buffer size"
instead, since the control for it is labeled "Buffer".
(Another possibility is "Pad buffer size", but I'm against that,
because we've stopped referring to controllers as "pads" in almost
all GUI strings.)
2017-08-11 12:22:44 +02:00
Leo Lam
438610a58d
Merge pull request #5748 from nitrousox1de/hide-mouse-delay-fullscreen
...
Hide mouse delay fullscreen
2017-08-11 17:34:46 +08:00
Leo Lam
54778303ee
Merge pull request #5871 from JosJuice/read-swapped-and-shifted
...
DiscIO: Add a Volume::ReadSwappedAndShifted function
2017-08-11 15:58:42 +08:00
Léo Lam
940cc843ed
Config: Fix Movie config loading/saving
...
* Add missing Language setting loading/saving. This was added after the
original OnionConfig PR, which is why support for it was missing.
* Change MovieConfigLoader to reuse ConfigInfos. Less duplication.
* Extract MovieConfigLoader::Save into SaveToDTM. The DTM should use
the current config and not just the movie layer. This makes more
sense than just saving the movie layer, which may not always exist,
and also fixes a crash that would happen when creating a new
recording because the movie layer wouldn't exist in that case.
(Plus, having to get the loader from the layer and call ChangeDTM
on it manually is not very pretty.)
2017-08-11 15:36:32 +08:00
Léo Lam
fa7e3e55d2
Config: Add MainSettings
...
Not really used anywhere yet, but useful for not having to duplicate
config locations and for getting rid of conflicts when I get around
to rebase my Main.Core and Main.DSP porting PR.
2017-08-11 15:36:32 +08:00
Léo Lam
e471505632
WX: Reload Wii config pane on config change
2017-08-11 15:36:32 +08:00
Léo Lam
b2c41cec0a
Config: Include SYSCONF in base layer
...
Settings that come from the SYSCONF are now included in Dolphin's
config system as part of the base layer. They are handled in a
special way compared to other settings to make sure they are only
loaded from and saved to the SYSCONF (to avoid different, possibly
contradicting sources of truth).
2017-08-11 15:36:31 +08:00
Léo Lam
c900e77ac5
Config: Add Get/Set on Layer
...
For convenience, when getting/setting from ConfigInfos.
2017-08-11 15:28:11 +08:00
Leo Lam
e86f5ac04b
Merge pull request #5913 from ligfx/qtselectedgamegamefile
...
GameList: make GetSelectedGame a pointer to GameFile
2017-08-11 15:25:15 +08:00
Sepalani
ae4790ff25
RSO: Import data symbols
2017-08-10 21:30:32 +01:00
Michael M
3c002f0213
GameList: make GetSelectedGame a pointer to GameFile
2017-08-10 13:22:35 -07:00
Michael M
fcb1eb9d3b
dsp_rom: skip bootucode_ax when running from entrypoint
...
This could cause the first branch of the bootucode procedure, which
takes its parameters from the AX registers, to run during the ROM init
sequence. Since the ROM doesn't set any of the AX registers, the values
aren't meaningful, and can cause bad DMA transfers and crashes.
2017-08-10 10:53:12 -07:00
Léo Lam
5ba6182bbc
Qt: Fix WiiUpdate progress dialog cancel button
...
We didn't properly remove the default cancellation handler, which would
cause crashes if the dialog was gone too early.
2017-08-10 23:47:18 +08:00
Léo Lam
ea3b351d92
Qt: Add menu item to perform system update from disc
2017-08-10 23:47:18 +08:00
Léo Lam
0e71c0760e
WX: Add menu item to perform system update from disc
2017-08-10 23:47:18 +08:00
Léo Lam
0fdae2adb8
UI: Refactor Wii update code
...
This moves the progress dialog logic and the result dialog to separate
functions that can easily be reused for disc updates.
2017-08-10 23:47:18 +08:00
Léo Lam
916deb9004
WiiUtils: Add a disc updater
2017-08-10 23:47:18 +08:00
Léo Lam
eb1ba4b0e9
DiscIO: Add a blob reader for Volume files
2017-08-10 23:47:18 +08:00
Léo Lam
ca0438e26d
WiiWad: Allow using WiiWad with more than just files
...
This adds a WiiWad constructor that takes a BlobReader, so that the
class can be used with more than just files from the host filesystem.
Required for using WiiWad with WADs from update partitions.
2017-08-10 23:47:18 +08:00
Léo Lam
5976d3934d
WiiUtils: Refactor InstallWAD
...
Allows using an existing instance of IOS and WiiWAD.
2017-08-10 23:47:18 +08:00
Léo Lam
bc588948c9
WiiUtils: Move ShouldInstallTitle to the online updater
...
The disc updater uses different conditions.
2017-08-10 23:47:18 +08:00
Léo Lam
71f403d05b
BTBase: Fix a file deletion issue on Windows
...
> The process cannot access the file because it is being used by another process.
2017-08-10 23:30:52 +08:00
JosJuice
e806928071
Make DolphinQt2 netplay strings more like in DolphinWX
2017-08-10 15:58:04 +02:00
spycrab
366d4c7744
Qt/NetPlay: Use TraversalClient::FailureReason
2017-08-10 15:41:01 +02:00
Leo Lam
e41a9905c0
Merge pull request #5744 from JosJuice/remove-non-integer-irs
...
Remove non-integer IRs
2017-08-10 17:10:26 +08:00
Leo Lam
d0304c9b38
Merge pull request #5810 from spycrab/qt_netplay
...
Qt: Implement Netplay
2017-08-10 14:45:52 +08:00
Leo Lam
15e46cb216
Merge pull request #5900 from ligfx/fixupnpinit
...
Fix UPnP init
2017-08-10 14:41:50 +08:00
Leo Lam
13b0ba3f55
Merge pull request #5908 from beholdnec/fix-i8-typo
...
VideoCommon: Fix typos in comments introduced by #5849
2017-08-10 14:39:30 +08:00
spycrab
9b65f38382
Make Visual Studio happy
2017-08-10 06:49:57 +02:00
spycrab
78cc759d56
Settings: Implement NetPlay globals
2017-08-10 06:49:57 +02:00
spycrab
2e29509b75
Qt/GameList: Add "Host with NetPlay" option
2017-08-10 06:49:57 +02:00
spycrab
13fac93a29
Qt: Implement NetPlay
2017-08-10 06:49:57 +02:00
Michael Lelli
4fb2d1e361
Ignore capabilities reported by an XInput device
2017-08-09 22:51:01 -05:00
spycrab
d5629017b9
Qt/NetPlay: Implement MD5 dialog
2017-08-09 23:13:20 +02:00
N.E.C
b52aff7966
VideoCommon: Fix typo in comments introduced by #5849
2017-08-09 00:02:27 -07:00
Michael M
6faacbeea5
TraversalClient: make FailureReason an enum class
2017-08-08 15:29:56 -07:00
spycrab
962af060a0
Qt/GameList: Add method to get unique ID for item
2017-08-09 00:05:48 +02:00
spycrab
e9138f7512
Qt/GameList: Implement GetModel()
2017-08-09 00:05:48 +02:00
spycrab
655778f7f1
Qt: Implement GetUniqueID()
2017-08-09 00:05:48 +02:00
spycrab
ca1646d99b
Qt: Add "Start NetPlay" option to the menubar
2017-08-09 00:05:48 +02:00
Léo Lam
58b7350562
SettingsHandler: Fix generated serial numbers
...
Must be 9 characters at most; otherwise the serial number will be
rejected by SDK libraries, as there is a check to ensure the string
length is strictly lower than 10.
2017-08-08 23:25:40 +08:00
JosJuice
1fc910b3ea
Convert to/from old EFB scale numbering
2017-08-08 12:09:50 +02:00
JosJuice
f090a94319
Remove non-integer IRs
2017-08-08 12:09:50 +02:00
Léo Lam
e10e42c09e
PowerPC: Fix indirect includes for GDBStub
2017-08-08 17:47:20 +08:00
Michael M
9e81fec816
NetPlayServer: encapsulate m_upnp_inited in initUPnP()
2017-08-07 11:35:13 -07:00
Michael M
6a8c0ca70b
NetPlayServer: actually set m_upnp_inited
2017-08-07 11:35:13 -07:00
Emmanuel Gil Peyrot
1b32751367
VideoCommon: Round values in swizzlers.
...
This was breaking Metroid Prime 2: Echoes’s scanner in some rooms, such
as the one in https://fifoci.dolphin-emu.org/dff/mp2-scanner/
It was found on Ivy Bridge on Mesa, the alpha value read back from the
EFB was off-by-4 in multiple objects, which was a conversion error
because int4() is equivalent to floor() and the value wasn’t always
higher.
2017-08-07 20:20:36 +02:00
Leo Lam
a25f7b9b4c
Merge pull request #5892 from leoetlino/sysmenu-emu-fixes
...
Boot/BS2: Accuracy fixes
2017-08-08 01:33:05 +08:00
JosJuice
cbe43e58a7
Merge pull request #5890 from leoetlino/sd-fixes
...
IOS/SDIO: Small fixes
2017-08-07 17:03:18 +02:00
Leo Lam
f64b189850
Merge pull request #5895 from lioncash/sw
...
TransformUnit: Get rid of most pointer casting in TransformColor()
2017-08-07 14:18:35 +08:00
Michael M
2abf13ae36
NetPlayServer: remove goto statements
2017-08-06 23:06:38 -07:00
Leo Lam
dbb26a2b54
Merge pull request #5837 from leoetlino/auto-pause
...
WX: Automatically pause the core for the JIT menu items
2017-08-07 13:21:54 +08:00
Scott Mansell
3b5cad6682
Merge pull request #5860 from jturcotte/fix-macos-nswitch-axis
...
Fix axis not working with Switch Pro controller on macOS
2017-08-07 13:44:07 +12:00
Lioncash
745f92b4e5
TransformUnit: Get rid of pointer casting in TransformColor() where applicable
...
The casts to u32* are technically undefined behavior. The u8* cast is
left, as char/unsigned char is exempted from this rule to allow for
bvtewise inspection of objects (and this is what s8/u8 are typedefs of
on platforms we support).
2017-08-06 19:04:31 -04:00
Lioncash
4d35a3105e
TransformUnit: Make LightColor()'s chan parameter const
...
Also marks references/pointers const where applicable
2017-08-06 18:15:05 -04:00
Andrew
d38987e1e8
Hide mouse cursor after delay in DolphinQt
2017-08-06 17:52:37 -04:00
Lioncash
2363be4c63
ElidedButton: Make constructor explicit
...
Prevents implicit conversions to ElidedButton.
2017-08-06 17:31:29 -04:00
Lioncash
5153271278
ElidedButton: Add missing override specifier on paintEvent()
2017-08-06 17:26:07 -04:00
Leo Lam
1385444d86
Merge pull request #5883 from sepalani/term-close
...
DolphinWX: Prevent Dolphin to be shutdown when closing cmd.exe
2017-08-07 00:50:31 +08:00
Léo Lam
9f36499f9e
IOS/SDIO: Make GetCSDv1/v2 const member functions
2017-08-07 00:48:51 +08:00
Léo Lam
c24418a822
IOS/SDIO: Fix warnings about missing braces
2017-08-07 00:48:16 +08:00
Léo Lam
d86d5d62ad
IOS/SDIO: Add missing save calls in DoState
2017-08-07 00:48:16 +08:00
Leo Lam
1833354ef9
Merge pull request #5891 from lioncash/const
...
File: Make GetSize() a const member function
2017-08-07 00:46:49 +08:00
Léo Lam
6d73c3e8e3
Boot/BS2: Don't write part of the debugger hook
...
Writing to 0x60 does actually not "init exception[s]" or anything like
that. Not at all. Rather, it *breaks* a check in Nintendo's SDK, which
makes it fail to realise that the hook hasn't been set up.
This prevents the SDK initialisation routines from writing the rest of
the hook instructions (total: 0x20 bytes), which in turn causes an
anti-piracy check to fail in some Ubisoft games (including Tintin).
Dolphin can be really amazing sometimes.
2017-08-07 00:36:35 +08:00
Léo Lam
d612416ce8
Boot/BS2: Write to 0x3194 and 0x3198
2017-08-07 00:36:35 +08:00
Léo Lam
0bdcabdfa9
Boot/BS2: Write the "devkit boot program version"
2017-08-07 00:36:34 +08:00
Léo Lam
81b298f747
Boot/BS2: Set the proper value for 0x000030d8
...
No clue where people got the 0 value from, or why it's labelled as
"time". As far as I can tell, it is always set to 0xffffffff by
official NAND titles, including the system menu.
2017-08-07 00:36:34 +08:00
Léo Lam
29b1276548
Boot/BS2: Update state file
2017-08-07 00:36:34 +08:00
Léo Lam
363bf27cce
Boot/BS2: Write empty play record
2017-08-07 00:36:34 +08:00
Léo Lam
8489d9da90
Boot: Move StateFlags from Boot_WiiWAD to Boot
...
It's not specific to WADs. The BS2 emulation boot code will also need
to update the state file.
Move the struct to Boot and add a helper function that will handle
reading + computing the checksum + writing the state file.
2017-08-07 00:36:34 +08:00
Lioncash
f0308151a8
File: Make GetSize() a const member function
2017-08-06 07:57:43 -04:00
JosJuice
fa4723ffb4
DolphinQt2: Rename "Table"/"List" to "List View"/"Grid View"
...
Sentret_C posted this comment on Transifex recently:
"What Dolphin refers to as "Table View" and "List View" are
similar to "List View" and "Grid View" in Steam, and I think
the Steam names describe them better."
I agree with that, so here's a commit that changes the names.
2017-08-06 11:35:45 +02:00
Leo Lam
84ecc0ecc9
Merge pull request #5842 from TBoshoven/sdhc-support
...
Add support for SDHC
2017-08-06 11:17:50 +08:00
mimimi085181
cdbd9863b4
Keep textures that are overwritten by efb copies, if the stride matches
...
This is supposed to get efb2tex to the same texture as efb2ram, by applying the related efb copies as updates after each other, in the order of their creation.
2017-08-06 03:13:57 +02:00
mimimi085181
4e8ff42503
Do not load overwritten textures by hash
...
In this case, comparing the hash is not enough to check, if two textures are identical.
2017-08-06 03:13:57 +02:00
mimimi085181
a21ac22e07
fix stored memory stride for normal textures
2017-08-06 03:13:57 +02:00
Tom Boshoven
10c615d7db
Added proper SDHC initialization to protocol v2.
2017-08-05 19:55:08 +02:00
degasus
cc4b3b180b
VideoSW: Drop log level of missing anti aliasing support.
...
We don't want to emit such a high priority warning here, else fifoci will die.
2017-08-05 19:20:19 +02:00
Tom Boshoven
b29c8c1a63
Redid initialization logic.
...
Looks like initialization is done automatically by IOS versions that support SDHC.
2017-08-05 18:51:24 +02:00
Lioncash
01c262fe47
Filesystem: Declare FileInfo iterator's move constructor and assignment operator noexcept
...
Prevents potential extra copies being created in the context of
std::move_if_noexcept.
2017-08-05 12:29:02 -04:00
Tom Boshoven
47e056a654
Re-enable SDIO events.
2017-08-05 14:52:03 +02:00
Tom Boshoven
494e935ca7
Use std::array for CSD.
...
Fix double negative in comment.
Fixed member variable names, added some const correctness.
2017-08-05 14:49:38 +02:00
Stenzek
6d91c1b079
ProgramShaderCache: Call glTexImage3D after glTexParameter
...
Was missed before merge.
2017-08-05 18:18:30 +10:00
Anthony
3c5112bb21
Merge pull request #5856 from stenzek/optimus-crash
...
Fix ubershader crashes with primus/bumblebee
2017-08-05 00:54:28 -07:00
Léo Lam
e58ba76f07
Don't force the aspect ratio in GameINIs
...
Instead, add a SuggestedAspectRatio option which tells Dolphin which
aspect ratio to use when the aspect ratio option is set to Auto.
2017-08-05 14:27:16 +08:00
Anthony
737e045bd8
Merge pull request #5849 from beholdnec/tex-format-bookkeeping
...
Video: Clearly separate Texture and EFB Copy formats
2017-08-04 22:34:34 -07:00
Sepalani
eb3975eee8
DolphinWX: Prevent Dolphin to be shutdown when closing cmd.exe
2017-08-04 18:35:02 +01:00
Leo Lam
9bab7ffa83
Merge pull request #5794 from spycrab/qt_menubar
...
Qt: Overhaul menubar
2017-08-04 14:42:58 +08:00
Leo Lam
284aa99a0d
Merge pull request #5169 from ligfx/sidevicegbastate
...
SI_DeviceGBA: refactor and make GBASockServer a member rather than parent
2017-08-04 14:40:51 +08:00
iwubcode
bc3622c2a8
Fix the size of s_last_connect_request_counter to be 5 (wiimotes + balance board)
2017-08-04 00:32:20 -05:00
Leo Lam
f274bbcbe1
Merge pull request #5872 from ligfx/wxnetplayonionconfig
...
WX: make Netplay use new-style config
2017-08-04 10:07:05 +08:00
Leo Lam
51af8d4aeb
Merge pull request #5829 from ligfx/qtmsgalerthandler
...
Qt: register MsgAlertHandler
2017-08-04 09:53:24 +08:00
Leo Lam
fac085940e
Merge pull request #5877 from JosJuice/log-strings
...
DolphinQt2: Make logging strings more like in DolphinWX
2017-08-04 09:50:08 +08:00
N.E.C
c3a57bbad5
Video: Clearly separate Texture and EFB Copy formats
...
Improve bookkeeping around formats. Hopefully make code less confusing.
- Rename TlutFormat -> TLUTFormat to follow conventions.
- Use enum classes to prevent using a Texture format where an EFB Copy format
is expected or vice-versa.
- Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-08-03 18:35:29 -07:00
Michael M
7bdfd862d7
Qt: register MsgAlertHandler
...
This is the thing that pops up a message box when something goes wrong,
or when you want to override a previously dumped file, etc.
2017-08-03 13:29:59 -07:00
Michael M
737651f298
MsgHandler: small cleanup
2017-08-03 13:29:59 -07:00
Michael M
76459d88bf
QtUtils: add RunOnObject
2017-08-03 13:29:59 -07:00
Michael M
dde3471b62
WX: make Netplay use new-style config
2017-08-03 13:16:17 -07:00
Michael M
f8fea83e67
NetPlayLauncher: store window geometry in native wxConfig
2017-08-03 13:16:17 -07:00
Michael M
9867677211
WxUtils: add WxStrToUL
2017-08-03 13:16:17 -07:00
Michael M
7d509a7a94
Config/Section: support u16 values
2017-08-03 13:16:16 -07:00
Markus Wick
9649494f67
Merge pull request #5827 from JonnyH/WIP/fix-glMultiDrawElementsBaseVertex-invalid-OES-suffix
...
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
2017-08-03 18:45:32 +02:00
JosJuice
b29ca4f830
DolphinQt2: Make logging strings more like in DolphinWX
...
Like PR 5817 but for strings that were added after that PR was merged.
2017-08-03 16:43:50 +02:00
Stenzek
7f88711186
Vulkan: Add a driver bug for NV when MSAA is enabled
...
This causes the card to lock up when vkCmdClearAttachments is called,
when multisampling is enabled. Seems to be restricted to Maxwell and
newer?
2017-08-03 17:40:15 +10:00
Leo Lam
6a76ca7bb7
Merge pull request #5873 from mimimi085181/fix-real-wiimote
...
Properly handle g_wiimotes_mutex again for real wiimotes
2017-08-03 13:09:57 +08:00
mimimi085181
576bf32ab2
Properly handle g_wiimotes_mutex again for reconnect on button press for real wiimotes
...
Sorry, i overlooked the mutex in PR https://github.com/dolphin-emu/dolphin/pull/4949
This pr fixes issue 10434: https://bugs.dolphin-emu.org/issues/10434
2017-08-03 01:54:49 +02:00
JosJuice
5e3c98af1d
DiscIO: Add a Volume::ReadSwappedAndShifted function
...
This is a fairly common operation, so let's make a utility
function for it to cut down on code duplication.
2017-08-02 22:00:51 +02:00
Stenzek
fee08cf63d
Vulkan: Use optimal tiling for dummy texture
...
Fixes a crash on some NVIDIA drivers. Apparently calling
vkCmdClearColorImage on an image with linear tiling causes the
GPU/driver to lock up.
2017-08-02 21:33:10 +10:00
Stenzek
287859c5e1
GLInterface: Support surfaceless contexts on GLX
2017-08-02 20:12:28 +10:00
Stenzek
67997529b8
ProgramShaderCache: Create a FBO for shared contexts to draw into
...
This way it allows us to use surfaceless contexts in EGL/GLX. It also
ensures that the shared context shares a similar setup to the main
context's framebuffer, potentially reducing the number of variants a
driver needs to generate.
2017-08-02 20:12:28 +10:00
Stenzek
d0bcdc7f89
Merge pull request #5858 from stenzek/ubershader-6-bit-color
...
Ubershaders: Fix 6-bit color truncation not being applied
2017-08-02 20:10:34 +10:00
Stenzek
57f34d748b
D3DBase: Raise error if d3dcompiler_47.dll cannot be loaded
...
Previously we were falling back to an earlier version of the compiler.
The older version cannot compile our ubershaders without various
graphical issues.
2017-08-02 19:54:55 +10:00
Leo Lam
a8e4a3c915
Merge pull request #5759 from AwesomeMarioFan/master
...
Fix Time in Forecast Channel
2017-08-02 12:54:26 +08:00
Leo Lam
7565d97733
Merge pull request #4980 from FunctionalDragon/patch-2
...
send stop message before saving recording
2017-08-02 12:49:46 +08:00
Leo Lam
d3bb964d79
Merge pull request #5809 from HannesMann/master
...
Send rumble data to the adapter on a separate thread
2017-08-02 12:36:35 +08:00
FunctionalDragon
11cab1c68d
Send stop message before saving recording
...
When recording during netplay, the stop message was only sent after you
have chosen a filename for the replay, causing the other player(s)
to freeze for a few seconds. This takes care of the annoyance.
2017-08-02 12:29:49 +08:00
Leo Lam
d6e051c942
Merge pull request #5703 from ligfx/blockuserinputfilter
...
QtUtils: add BlockUserInputFilter
2017-08-02 12:13:56 +08:00
Leo Lam
4ddf4e9604
Merge pull request #5862 from JosJuice/bs2-cleanup
...
Emulated BS2 cleanup
2017-08-02 12:03:50 +08:00
Leo Lam
407bc7a544
Merge pull request #4949 from mimimi085181/netplay-reconnect-on-button-press
...
Wiimote Netplay: Sync button press for reconnect
2017-08-02 12:00:28 +08:00
Leo Lam
f208ed8924
Merge pull request #5861 from JosJuice/pr-5817-fixup
...
PR #5817 fixup
2017-08-02 11:57:14 +08:00
Leo Lam
02e80af104
Merge pull request #5863 from MerryMage/oop
...
Config: Missed a line in #5770
2017-08-02 11:56:31 +08:00
Leo Lam
c7602cce04
Merge pull request #5865 from JosJuice/noncopyable-move
...
DirectoryBlob: Use NonCopyable
2017-08-02 11:56:16 +08:00
Hannes Mann
56239d1ae1
Send rumble data to the adapter on a separate thread
2017-08-02 00:44:46 +02:00
JosJuice
2bcccd893a
DirectoryBlob: Remove unused DiscContent member
2017-08-01 22:01:34 +02:00
JosJuice
f7032f8deb
FileSystemGCWii: Don't add 0-size files to m_offset_file_info_cache
...
This is done in order to reduce the risk of files not being added
due to them having the same end offset as another file.
2017-08-01 21:58:25 +02:00
JosJuice
b155c46aca
DirectoryBlob: Fix reading beyond the end of the disc
...
There were two problems with this:
1. If the starting offset was beyond the end of the disc,
we would dereference an invalid iterator.
2. The data beyond the end of the disc was non-deterministic.
2017-08-01 21:58:18 +02:00
JosJuice
74ada98e84
DirectoryBlob: Remove redundant assert
...
DiscContent::Read contains an equivalent assertion.
2017-08-01 21:58:12 +02:00
JosJuice
6b0a60d2ee
DirectoryBlob: Don't add DiscContents with size 0
...
Having DiscContents with size 0 would mean that some DiscContents
might not get added to the std::set because of them comparing
identically to another DiscContent.
This replaces an older piece of code in WriteDirectory that ensures
that no two files have the same starting offset. (We now care about
the ending offset, not the starting offset. The new solution both
ensures that no two files have the same ending offset and that no
two files have the same starting offset.)
2017-08-01 21:58:04 +02:00
JosJuice
78fa98f559
DirectoryBlob: Change the return type of Add/CheckSizeAndAdd
...
Only return the information that isn't already known to the caller.
2017-08-01 21:57:54 +02:00
JosJuice
1b1a75ee3a
DirectoryBlob: Lookup DiscContents by offset + size instead of offset
...
This simplifies DiscContentContainer::Read.
2017-08-01 21:57:48 +02:00
JosJuice
d6260e02ce
DirectoryBlob: Replace std::set<DiscContent> with a new class
2017-08-01 21:57:24 +02:00
JosJuice
a7a8e467b6
DirectoryBlob: Use NonCopyable
2017-08-01 21:52:30 +02:00
mimimi085181
acde0b8b6c
Sync info about pressed wiimote button
2017-08-01 20:56:45 +02:00
JosJuice
b0ee8bd0a0
NonCopyable: Allow moving
...
NonCopyable is only supposed to prevent classes from being copied,
not make it hard for classes to be moveable.
2017-08-01 20:50:11 +02:00
mimimi085181
8b1e61b00a
Change wiimote reconnect on button press code
...
This moves the reconnect logic into a single function, so the netplay code doesn't need to be written 2 times
2017-08-01 20:41:05 +02:00
MerryMage
31ec3e2501
Config: Missed a line in #5770
2017-08-01 18:07:53 +01:00
Leo Lam
9b0fae3183
Merge pull request #5730 from spycrab/qt_logging
...
Qt: Implement logging window
2017-08-01 23:51:35 +08:00
JosJuice
363547a5b2
Boot: Make EmulatedBS2 require a volume
2017-08-01 16:05:53 +02:00
JosJuice
eb6f0a7258
Boot: Remove volume parameter from SetupWiiMemory
2017-08-01 16:05:20 +02:00
JosJuice
42d7dc2e08
Boot: Remove skip_app_loader parameter
2017-08-01 16:04:15 +02:00
JosJuice
fea75d045c
Boot: Split out some code to a new function SetupGCMemory
...
Just like the existing function SetupWiiMemory.
2017-08-01 16:03:55 +02:00
JosJuice
a345ab2515
PR 5817 fixup
2017-08-01 14:34:44 +02:00
Leo Lam
a8606f5d13
Merge pull request #5844 from leoetlino/video-analytics
...
Analytics: Report a few more video settings
2017-08-01 19:23:59 +08:00
JosJuice
b6c6a04f95
DirectoryBlob: Standardize the spelling of disc
...
DirectoryBlob was using disk in some places and disc in other places.
2017-08-01 11:36:40 +02:00
JosJuice
d0c322f6e6
DirectoryBlob: Don't silently set GC region to NTSC-J if bi2.bin is missing
...
We were already handling the Wii region in region.bin in this way.
2017-08-01 11:36:40 +02:00
JosJuice
3fd0d39a85
DirectoryBlob: Write partition headers properly
2017-08-01 11:36:40 +02:00
JosJuice
09832caf41
DolphinQt2: Fix memory leak in GameLoader::LoadGame
2017-08-01 11:36:40 +02:00
JosJuice
a6be1513bf
DolphinWX: Increment game list cache version
...
This is so that DirectoryBlobs won't look like valid discs
in old versions that don't support the DirectoryBlob format.
2017-08-01 11:36:40 +02:00
JosJuice
5fe3745750
Don't show "extra" files from DirectoryBlobs in game list
...
For instance, we don't want to show TGC files that might be
inside the /files/ directory of a GameCube DirectoryBlob,
and we don't want to show the /sys/main.dol files for extra
partitions of Wii DirectoryBlobs.
2017-08-01 11:36:40 +02:00
JosJuice
1ea44f425d
DirectoryBlob: Change ConvertUTF8NamesToSHIFTJIS's parameter to pointer
2017-08-01 11:36:40 +02:00
JosJuice
34fd08e7eb
DirectoryBlob: Support multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
955ab72b1d
DirectoryBlob: Remove m_root_directory from DirectoryBlob
2017-08-01 11:36:40 +02:00
JosJuice
e15b957d53
DirectoryBlob: Implement GetDataSize()
2017-08-01 11:36:40 +02:00
JosJuice
d84bee3ff4
DirectoryBlob: Prepare more for supporting multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
a3ee61e1a9
DirectoryBlob: Let DirectoryBlob force GC/Wii for partition
2017-08-01 11:36:40 +02:00
JosJuice
fb09874f79
DirectoryBlob: Reorder functions in .cpp file
...
They're now grouped by which class they belong to.
2017-08-01 11:36:40 +02:00
JosJuice
ba0ee3f54b
DirectoryBlob: Prepare for supporting multiple partitions
2017-08-01 11:36:40 +02:00
JosJuice
953ca9cee1
DirectoryBlob: Make PadToAddress and Write32 static
2017-08-01 11:36:40 +02:00
JosJuice
ab4762c4c2
DirectoryBlob: Split out setting BI2 to new function
2017-08-01 11:36:40 +02:00
JosJuice
2ea0a1a086
DirectoryBlob: Make some constants local
2017-08-01 11:36:40 +02:00
JosJuice
0d4ad0e39e
DirectoryBlob: Remove m_fst_name_offset
2017-08-01 11:36:40 +02:00
JosJuice
ef39b4da46
DirectoryBlob: Improve SetApploader
...
The code gets simpler by using IOFile instead of ReadFileToString.
Also, we now write -1 in all cases where loading fails.
2017-08-01 11:36:40 +02:00
JosJuice
31d8322c5a
DirectoryBlob: Don't use member variables for addresses
...
Now it's clearer that SetDOL depends on SetApploader
and BuildFST depends on SetDOL.
As a side note, we now load the DOL even if there's
no apploader. (I don't think it matters whether we
do it, but it was easier to implement this way.)
2017-08-01 11:36:40 +02:00
JosJuice
b28ec0b7ee
DirectoryBlob: Split out setting partition table to new function
2017-08-01 11:36:40 +02:00
JosJuice
c4879aa48d
DirectoryBlob: Split out setting TMD and ticket to new function
2017-08-01 11:36:40 +02:00
JosJuice
5a00bda490
DirectoryBlob: Move content emplacement out of the constructor
2017-08-01 11:36:40 +02:00
JosJuice
1258d18f21
DirectoryBlob: Restructure SetApploader
2017-08-01 11:36:40 +02:00
JosJuice
8747b1b6ab
DirectoryBlob: Support region.bin
2017-08-01 11:36:40 +02:00
JosJuice
c73f6b6c26
DirectoryBlob: Add ReadFileToVector function
2017-08-01 11:36:40 +02:00
JosJuice
8afa230787
DirectoryBlob: Rename DISKHEADERINFO_ADDRESS to BI2_ADDRESS
...
Because DISKHEADERINFO is too easy confuse with DISKHEADER.
Also adding BI2_SIZE and DISKHEADER_SIZE contants.
2017-08-01 11:36:40 +02:00
JosJuice
975b2b40fa
DirectoryBlob: Support bi2.bin
2017-08-01 11:36:40 +02:00
JosJuice
251828ccc0
Don't check validity twice when creating DirectoryBlob
2017-08-01 11:36:40 +02:00
JosJuice
a6bbf7e21b
DirectoryBlob: Don't keep DOL in memory
2017-08-01 11:36:40 +02:00
JosJuice
4cc8d3091c
DirectoryBlob: Require header file (boot.bin)
2017-08-01 11:36:40 +02:00
JosJuice
71578b468d
DirectoryBlob: Support tickets and TMDs
2017-08-01 11:36:40 +02:00
JosJuice
02610d4b28
DirectoryBlob: Use DISCIO instead of DVDINTERFACE for logging
2017-08-01 11:36:40 +02:00
JosJuice
3f9eec9ae4
DirectoryBlob: Use DiscContent for ReadNonPartition too
...
ReadPartition and ReadNonPartition are now unified into
ReadInternal, with a parameter controlling whether
the read is in a partition or not.
2017-08-01 11:36:40 +02:00
JosJuice
a0fa350ca6
DirectoryBlob: Use DiscContent for everything in ReadPartition
2017-08-01 11:36:40 +02:00
JosJuice
936ef5b9dd
DirectoryBlob: Let DiscContent be backed by memory instead of file
2017-08-01 11:36:40 +02:00
JosJuice
e1321b131d
DirectoryBlob: Create a DiscContent class for use in m_virtual_disc
2017-08-01 11:36:40 +02:00
JosJuice
b56214789e
DirectoryBlob: Make some functions private
2017-08-01 11:36:40 +02:00
JosJuice
b8d8c7370f
DirectoryBlob: Move constants to .cpp file
2017-08-01 11:36:40 +02:00
JosJuice
12cbeb2288
Remove DVD root and apploader path settings
2017-08-01 11:36:40 +02:00
JosJuice
37c09343d8
Turn VolumeDirectory into DirectoryBlob
...
This lets VolumeDirectory/DirectoryBlob skip implementing
various volume functions like GetGameID, GetBanner, etc.
It also lets us view extracted discs in the game list.
This ends up breaking the boot process for Wii
DirectoryBlobs due to workarounds being removed from the
boot process, but that will be fixed later by adding
proper DirectoryBlob support for things like TMDs.
We now expect the directories to be laid out in a certain
format (based on the format that WIT uses) instead of requiring
the user to set the DVD root and apploader path settings.
2017-08-01 11:36:40 +02:00
JosJuice
5f8935932d
Blob: Add interface for reading decrypted Wii data directly
...
This is useful for blob types that store Wii data unencrypted
(such as WIA and discs extracted to directories) so that
we don't have to waste CPU time encrypting in the blob code
just to decrypt right afterwards in the volume code.
2017-08-01 11:36:40 +02:00
JosJuice
878869488d
Boot: Consider DOL/ELF files as possible volumes
...
The old approach to detecting DOL/ELF files doesn't fit
with the new way of implementing extracted discs.
The game list is already doing it in a way that's similar
to the approach that this commit uses.
2017-08-01 11:36:40 +02:00
Leo Lam
764c93f932
Merge pull request #5683 from JosJuice/volume-wii-defer
...
VolumeWii: Defer loading tickets, TMDs and keys until when needed
2017-08-01 17:11:30 +08:00
Leo Lam
c4b2aa88ec
Merge pull request #5690 from ligfx/removecoreaudio
...
Remove CoreAudio audio backend
2017-08-01 16:42:01 +08:00
Leo Lam
4dcc931d97
Merge pull request #5855 from leoetlino/config-reload
...
Config: Reload game INI on title change
2017-08-01 13:40:05 +08:00
Stenzek
fe65b26d53
Merge pull request #5834 from stenzek/bc7
...
Support loading BC7 (BPTC) textures from DDS files
2017-08-01 12:39:19 +10:00
Stenzek
b93d118cef
Merge pull request #5857 from stenzek/drop-force-ubershader-settings
...
VideoConfig: Drop force vertex/pixel ubershader settings
2017-08-01 12:01:33 +10:00
Stenzek
63305e9173
HiresTextures: Support loading BC7 (BPTC) from DDS files
2017-08-01 11:59:38 +10:00
Stenzek
d18988f41e
GLExtensions: Add GL_ARB_texture_compression_bptc
2017-08-01 11:58:57 +10:00
Jocelyn Turcotte
200fb26148
Fix axis not working with Switch Pro controller on macOS
...
Each axis would appear as multiple elements with 0 min/max.
Filter the list of elements using the correct usage page like
done for buttons.
2017-08-01 01:58:30 +02:00
spycrab
84b44fa467
Qt: Implement logging widget (+ configuration)
2017-08-01 01:36:08 +02:00
spycrab
962d684ca2
Qt: Implement logging settings and signals
2017-08-01 01:36:08 +02:00
spycrab
5b733b8710
Qt: Add log menubar options
2017-08-01 01:36:08 +02:00
Léo Lam
4129aa2438
Config: Reload game INI on title change
...
Enables any code that uses OnionConfig to use the correct config for
the current title, not just the first title that was booted.
2017-07-31 22:44:32 +08:00
Leo Lam
131c97e87c
Merge pull request #5853 from leoetlino/onionconfig-fix
...
Config: Fix the loader Load() being called twice
2017-07-31 22:43:32 +08:00
Léo Lam
f5fd183571
Config: Fix the loader Load() being called twice
...
The Config::AddLoadLayer functions call Load on the layer
explicitly, but Load is already called in the constructor,
so they'd cause the loader's Load function to be called twice,
which is potentially expensive considering we have to read an INI
from the host filesystem.
This commit removes the Config::AddLoadLayer functions because
they don't appear to be necessary.
2017-07-31 22:32:05 +08:00
Stenzek
852e30bb8c
Ubershaders: Fix 6-bit color truncation not being applied
2017-08-01 00:01:09 +10:00
Stenzek
d62dcd397d
VideoConfig: Drop force vertex/pixel ubershader settings
...
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
Léo Lam
23ae756192
WX: Automatically pause the core for the JIT menu items
...
Removes the need to manually pause the core, select the menu item and
then unpause.
2017-07-31 17:31:26 +08:00
Léo Lam
f777c01c5d
WX/Debugger: Clean up event handling
...
Boot to Pause and Automatic Start are not JIT or CPU menu items,
so they are supposed to be handled by OnCPUMode.
2017-07-31 17:31:26 +08:00
Léo Lam
603762ec4d
Config: Fix returned game INI filenames for title IDs
...
Using the first letter or the 3 letters of the ID only makes sense
if the ID is an actual game ID (which has 6 characters).
2017-07-31 17:00:44 +08:00
Leo Lam
ed331918f0
Merge pull request #5851 from leoetlino/sysconf-fix
...
SysConf: Fix writing a new SYSCONF
2017-07-31 16:45:06 +08:00
Leo Lam
279c80b414
Merge pull request #5852 from leoetlino/wiimotes
...
Core: Reset s_wants_determinism on shutdown
2017-07-31 16:44:05 +08:00
Leo Lam
c11172497f
Merge pull request #5840 from leoetlino/wx-focus-fix
...
WX: Fix 'renderer has focus' returning false after start
2017-07-31 16:43:53 +08:00
Leo Lam
ca49de80c5
Merge pull request #5826 from JonnyH/WIP/add-option-to-prefer-GLES-when-using-EGL
...
Add "PreferGLES" option to EGL GLInterface
2017-07-31 16:43:38 +08:00
Léo Lam
311cfe9223
Core: Reset s_wants_determinism on shutdown
...
Without doing this, Core::WantsDeterminism() will keep returning true
and some GUI options may be disabled for no reason.
2017-07-31 15:38:39 +08:00
Léo Lam
b5e7c417ff
SysConf: Fix writing a new SYSCONF
...
On Windows, File::GetTempFilenameForAtomicWrite returns a path
somewhere in C:\Users\XXX\AppData\Local\Temp\{UUID here}\
in which all writes just fail.
Just use the SYSCONF path + ".tmp" for the temporary file name.
2017-07-31 15:18:43 +08:00
Lioncash
f6c21e002b
General: Remove unnecessary semicolons
2017-07-30 16:39:53 -04:00
Lioncash
b3c1bff34b
SysConf: Add explicit to single-argument constructor
...
Prevents implicit construction from FromWhichRoot values.
2017-07-30 15:35:16 -04:00
Léo Lam
072991fa31
Force ticket to have a correct key index for importing
...
This commit changes the import code to ensure the common key index
in the ticket is correct, as it's checked by IOS.
2017-07-31 00:50:19 +08:00
Léo Lam
a1f75f3370
Analytics: Report a few more video settings
...
* per-pixel lighting
* usershader mode
* fast depth
* vertex rounding
2017-07-30 21:50:33 +08:00
Tom Boshoven
fa683adaf5
SDHC documentation and cleanups.
...
Added some more comments.
Cleanups based on PR feedback.
Comment was unclear.
2017-07-30 13:06:38 +02:00
Léo Lam
f0aa454662
WX: Fix 'renderer has focus' returning false after start
...
The main window was already active, so the activate event was never
emitted, and m_renderer_has_focus was never changed.
2017-07-30 17:48:54 +08:00
Stenzek
b154edb4fb
VideoCommon: Move WM_USER_CREATE message to after backend initialization
...
Fixes the mouse cursor being left visible after ubershader
precompilation when the hide option is checked.
2017-07-30 17:43:59 +10:00
Stenzek
d54ca2a16a
PixelShaderGen: Don't include host early z support in UID
...
Disable it at shader generation time instead. This way the UIDs are
sharable.
2017-07-30 17:43:59 +10:00
Stenzek
e968c191ff
Ubershaders: Support per-pixel lighting
2017-07-30 17:43:59 +10:00
Stenzek
c8f31656cb
VideoBackends: Support a different number of threads for precompiling
...
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
Stenzek
e17efb1d8d
ShaderGen: Use consistent variable names for texture coordinates
2017-07-30 17:43:59 +10:00
Stenzek
25338c53e0
NativeVertexFormat: Drop unused virtual method SetupVertexPointers
2017-07-30 17:43:59 +10:00
Stenzek
33f6668544
Vulkan: Multithreaded creation of UID pipeline caches
...
Should give a decent speedup to boot time.
2017-07-30 17:43:59 +10:00
Stenzek
81b4ed2a81
Vulkan: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
4bf5625895
D3D: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
cd502990fa
OGL: Uber shader support
2017-07-30 17:43:59 +10:00
Stenzek
901bf9c257
VideoConfig: Add config options for ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
745d541527
ShaderGen: Implement vertex ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
7d78cf0f6f
ShaderGen: Implement pixel ubershaders
2017-07-30 17:43:59 +10:00
Stenzek
07591e7d5c
PixelShaderGen: Move header generation to seperate function
2017-07-30 17:43:59 +10:00
Stenzek
c783cd2aaf
GeometryShaderGen: Add UID enumeration functions
2017-07-30 17:43:59 +10:00
Stenzek
38c48ff72e
VertexLoaderManager: Add methods to generate "uber" vertex formats
...
These vertex formats enable all attributes. Inactive attributes are set
to offset=0, and the smallest type possible. This "optimization" stops
the NV compiler from generating variants of vertex shaders.
2017-07-30 17:43:59 +10:00
Stenzek
f48ef65bec
XFMemory: Convert several registers to bitfields
2017-07-30 17:43:59 +10:00
Scott Mansell
479abde9f4
BPMemory: Convert a number of unions to BitFields
2017-07-30 17:43:59 +10:00
Stenzek
0a9574eaa1
VideoCommon: Add AsyncShaderCompiler class implementation
2017-07-30 17:43:59 +10:00
Anthony
5bad2ee4a4
Merge pull request #5832 from stenzek/ubershader-prereq
...
Ubershader prerequisites
2017-07-30 00:42:36 -07:00
Stenzek
357c55442f
Vulkan: Clear decoding texture before usage
...
Fixes a validation layer warning.
2017-07-30 12:38:50 +10:00
Stenzek
447aeb8f77
EGLInterface: Create shared context with same attributes as main context
2017-07-30 12:38:50 +10:00
Stenzek
aff44684a4
Vulkan: Move shader/pipeline-related methods to ShaderCache
2017-07-30 12:38:49 +10:00
Stenzek
d23fd17e1a
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
...
Seems to produce faster ubershaders, at least.
2017-07-30 12:38:49 +10:00
Stenzek
416afa065c
BitField: Add StartBit() and NumBits() accessors
2017-07-30 12:38:49 +10:00
Stenzek
3e508fc0a2
GLInterface: Support shared contexts on AGL
2017-07-30 12:38:49 +10:00
Ryan Houdek
01ae02482c
GLInterface: Support shared contexts in GLX
2017-07-30 12:38:49 +10:00
Stenzek
621287e7eb
VideoCommon: Improve precision of FPS counter
2017-07-30 12:38:48 +10:00
Stenzek
1fccbd5be3
DolphinWX: Add a progress dialog host command
...
Allows feedback from backends to be communicated to the user when
long-running operation are performed (e.g. shader compilation).
2017-07-30 12:38:48 +10:00
Tom Boshoven
4cbb66637b
Add support for SDHC.
...
This add support for SD protocol 2 while staying compatible with protocol 1.01.
Most of this is quite hacky, but it seems to be working well.
The original implementation was quite confusing, so I didn't touch most of the stuff I did not understand.
2017-07-29 21:24:01 +02:00
spycrab
b3e93c5273
Qt: Overhaul menubar
2017-07-29 21:19:05 +02:00
Léo Lam
5a90a26080
IOS: Fix the error code for ES_DEVICE_ID_MISMATCH
2017-07-30 00:24:47 +08:00
ligfx
2f932273bb
LogManager: remove stand-alone semicolon
...
My bad!
2017-07-27 21:15:05 -07:00
Anthony
97ea97564f
Merge pull request #5833 from leoetlino/unused
...
Qt/Config: Remove unused members
2017-07-27 12:00:33 -07:00
Anthony
6fe33f844f
Merge pull request #5770 from ligfx/lognewconfig
...
LogManager: use layered config
2017-07-27 11:58:57 -07:00
Léo Lam
27924a1e2e
Qt/Config: Remove unused members
2017-07-27 17:26:28 +08:00
Leo Lam
7a51b0bcec
Merge pull request #5807 from leoetlino/connect-wiimote
...
Move the Wiimote connect code out of Host
2017-07-27 15:02:28 +08:00
Leo Lam
5c29ea54c5
Merge pull request #5817 from JosJuice/qt-strings-match-wx
...
Make DolphinQt2 strings more like DolphinWX strings
2017-07-27 15:01:56 +08:00
Leo Lam
b140a6eb04
Merge pull request #5830 from lioncash/prototypes
...
DolphinQt2: Remove unimplemented prototypes
2017-07-27 15:01:29 +08:00
Leo Lam
bf7c0c8024
Merge pull request #5831 from lioncash/include
...
DolphinQt2: Add missing include guards
2017-07-27 15:00:52 +08:00
Stenzek
a11bde7d16
Merge pull request #5679 from stenzek/no-host-state-in-uids
...
ShaderGen: Decouple host state from shader UIDs
2017-07-27 13:30:38 +10:00
Jonathan Hamilton
0fbd0cab6a
Add "PreferGLES" option to EGL GLInterface
...
This makes the EGL interface select OpenGL|ES contexts over "desktop"
OpenGL ones.
Possibly not useful for anyone outside my own debugging, but you never
know
2017-07-26 19:26:36 -07:00
Lioncash
fb42c3eddc
DolphinQt2: Add missing include guards
2017-07-26 16:31:58 -04:00
Lioncash
80b938b403
DolphinQt2: Remove unimplemented prototypes
...
Also removes an unnecessary includes in related files
2017-07-26 16:26:55 -04:00
Michael M
0437f4c486
IOWindow: use BlockUserInputFilter
2017-07-26 10:30:02 -07:00
Michael M
c624ef43f0
MappingButton: use BlockUserInputFilter
2017-07-26 10:30:02 -07:00
Michael M
7d438da911
QtUtils: Add BlockUserInputFilter
2017-07-26 10:30:01 -07:00
JosJuice
de6bd80f9c
DolphinQt2: Add i18n comments for Table/List
...
To avoid confusion with the verb "list" and the kind of table
that's a type of furniture.
2017-07-26 08:04:10 +02:00
JosJuice
b32fe5e41d
DolphinQt2: Remove the %1 from "%1 Banner Details"
...
It's not particularily useful to list the platform here,
and these kinds of messages that use words as parameters
are more likely to be mistranslated than the average string.
2017-07-26 08:04:10 +02:00
JosJuice
960525859b
Make DolphinWX strings more like DolphinQt2 strings
...
Same as the previous commit, except I'm copying strings
in the other direction because the DolphinWX variants
of these strings could use some improvement.
2017-07-26 08:04:10 +02:00
JosJuice
ce11b34e74
Make DolphinQt2 strings more like DolphinWX strings
...
Without this, we would be pushing a lot of extra strings onto
translators now that 55fb6ef
is merged.
2017-07-26 08:04:10 +02:00
JosJuice
fb80c5398a
DolphinWX: Use title case for hotkey group names
2017-07-26 08:00:17 +02:00
JosJuice
d7d88aeb7d
DolphinWX: Mark AF choices as translatable
...
For consistency with DolphinQt2.
2017-07-26 08:00:17 +02:00
JosJuice
8deba867e8
DolphinQt2: Remove ellipses from settings menu options
...
The action that these menu options perform is to open a
settings window, and that action is completed instantly,
so we shouldn't have ellipses.
2017-07-26 08:00:17 +02:00
Leo Lam
10db1bcbca
Merge pull request #5828 from ligfx/qtqueueonobject
...
Qt: add QueueOnObject
2017-07-26 12:56:08 +08:00
Leo Lam
be8324380d
Merge pull request #5786 from grimpunch/qt_viewoptions
...
Qt: Implement Show Platforms / Show Regions
2017-07-26 12:02:14 +08:00
Michael M
2c03cfacc2
Qt WiiUpdate: use QueueOnObject instead of Core::QueueHostJob
2017-07-25 17:44:07 -07:00
Michael M
734c9e1459
QtUtils: add QueueOnObject
2017-07-25 17:44:07 -07:00
Jonathan Hamilton
184e4d7b4a
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
...
The spec says it should have an EXT not OES suffix, as it's enabled as
an interaction with GL_EXT_multi_draw_arrays.
On some drivers GetProcAddress() returns NULL, which causes the
GLExtensions init to fail
This 'happened' to work if GetProcAddress() doesn't return NULL on missing
functions (as allowed in EGL) - as the function appears to never be called so
this would not have been noticed.
Mesa also (incorrectly?) exports the EXT version, so this would all
happen to work there, but appears to be contrary to the spec.
This invalid prefix even ended up in the upstream khronos registry, the
issue was reported here:
https://github.com/KhronosGroup/OpenGL-Registry/issues/81
2017-07-25 12:52:39 -07:00
JosJuice
8292d378ea
Merge pull request #5824 from lioncash/include-guard
...
ListProxyModel: Add missing include guard
2017-07-25 08:23:49 +02:00
Mat M
63f1f122fa
Merge pull request #5729 from ligfx/qtremoveoldsyntax
...
DolphinQt2: update old SLOT/SIGNAL syntax
2017-07-24 18:48:20 -05:00
Lioncash
7373474888
ListProxyModel: Add missing include guard
2017-07-24 19:46:25 -04:00
Christian Murphy
df35a26628
Qt: Implement Show Platforms / Show Regions
...
Porting the View config logic from WX to Qt.
Adds to the View Menu
2017-07-24 14:36:09 +01:00
Leo Lam
c27dd9dc20
Merge pull request #5785 from leoetlino/sysconf-fix
...
SysConf: Minor fixes
2017-07-24 14:03:33 +08:00
Leo Lam
a23a38da23
Merge pull request #5821 from JosJuice/qt-builtin-database-placement
...
DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
2017-07-24 11:06:20 +08:00
Michael Maltese
aafb61c187
DolphinQt2: Remove 'slots:' syntax from headers
...
With Qt5's new connection syntax, method pointers and functors are
connected directly. There's no need to declare slots.
2017-07-23 15:07:49 -07:00
Michael Maltese
f0fd38698e
DolphinQt2: use new connection syntax instead of old syntax
2017-07-23 15:07:49 -07:00
Michael Maltese
a365686956
GameList: fix Decompress slot typo
...
There is no such `DecompressISO` slot.
2017-07-23 15:07:49 -07:00
Leo Lam
7c70e77c74
Merge pull request #5818 from JosJuice/qt-localization-fixes
...
DolphinQt2: Fix localization issues
2017-07-23 22:04:17 +08:00
Leo Lam
96a8fb720d
Merge pull request #5819 from JosJuice/qt-analytics-message
...
DolphinQt2: Reword the analytics message
2017-07-23 22:02:02 +08:00
JosJuice
bb3bbb2887
DolphinQt2: Fix saving "Use Built-In Database of Game Names"
...
This one is my fault too
2017-07-23 15:29:43 +02:00
JosJuice
22fbd65d47
DolphinQt2: Change the placement of "Use Built-In Database of Game Names"
...
When I added this setting, I didn't notice that the interface
pane in DolphinQt2 was split into two different sections.
2017-07-23 15:28:34 +02:00
JosJuice
34cacd4944
DolphinQt2: Reword the analytics message
...
"this" made sense when "Do you authorize..." was on the bottom,
but it doesn't make sense when it's at the top.
Also removing unnecessary newlines.
2017-07-23 15:18:12 +02:00
JosJuice
20172196f5
DolphinQt2: Let game properties show names for WADs
2017-07-23 15:11:18 +02:00
JosJuice
5938c58f99
DolphinQt2: Fix localization issues
2017-07-23 10:50:20 +02:00
Léo Lam
02f32a9b26
Handle BT.DINF properly
...
The section is 0x461 bytes long, not 0x460. The config data is also now
initialised to zero to avoid garbage being written to the SYSCONF.
Because our handling has been wrong forever, we discard older BT.DINF
section backups as using them would result in the section being the
wrong size / incomplete again.
2017-07-23 15:58:04 +08:00
Léo Lam
c759739ee9
SysConf: Handle array entries properly
...
It turns out that the last byte of array entries isn't unused (as we
thought); instead, it looks like it's actually part of the main data,
and the length stored next to the name is in fact the length minus one.
Getting it wrong and always storing a null byte in there won't affect
most entries (since the last byte is zeroed most of the time), except:
- IPL.NIK: the length is stored in the last byte, and it must be kept.
- BT.DINF: u8 unknown[0x45] should be another Bluetooth device entry.
- Possibly other unknown affected entries.
2017-07-23 15:57:29 +08:00
Léo Lam
1c33dfc787
Wiimote: Remove useless disconnections
...
ChangeWiimoteSource does not need to disconnect a Wiimote if it isn't
connected.
2017-07-23 15:52:15 +08:00
Léo Lam
ee868e2362
Move the Wiimote connect code out of Host
...
I don't know who thought it would be a good idea to put the Wiimote
connect code as part of the Host interface, and have that called
from both the UI code and the core. And then hack around it by having
"force connect" events whenever Host_ConnectWiimote is called
from the core...
2017-07-23 15:47:32 +08:00
Léo Lam
9357fa3514
Qt/AboutDialog: Fix the copyright string
2017-07-23 14:58:01 +08:00
Leo Lam
673210afea
Merge pull request #5814 from ligfx/macremovecfbundlelocalizations
...
Remove CFBundleLocalizations from Info.plist
2017-07-23 14:48:38 +08:00
Leo Lam
2c35983126
Merge pull request #5787 from ligfx/wxsortfallbacktotitle
...
Wx: make GameListCtrl fallback to sorting by title
2017-07-23 14:47:31 +08:00
Leo Lam
81abecbf46
Merge pull request #5739 from leoetlino/correct-key
...
IOS/ES: Use the correct import/export key (fix DLC)
2017-07-23 14:47:10 +08:00
Leo Lam
3cbf56a9ad
Merge pull request #5797 from ligfx/qtoptionsmenu
...
Qt: implement remainder of 'Options' menu
2017-07-23 14:46:48 +08:00
Leo Lam
55fb6efea3
Merge pull request #5812 from ligfx/gettexttizeqt
...
gettextize: extract arguments to Qt's `tr`
2017-07-23 14:35:44 +08:00
Leo Lam
a7c3d035c8
Merge pull request #5806 from Starsam80/qt-movable-headers
...
Qt: Allow the game list headers to be rearranged
2017-07-23 14:19:46 +08:00
Leo Lam
68e00b3ee6
Merge pull request #5808 from leoetlino/hci-array
...
BT: Use a std::array for all Bluetooth addresses
2017-07-23 14:19:24 +08:00
Michael Maltese
03f26ec5b3
Remove CFBundleLocalizations from Info.plist
...
It's only needed for apps that don't use .lproj folders.
2017-07-22 23:15:14 -07:00
Michael Maltese
4776fdc130
Qt/AboutDialog: remove literal UTF-8 characters
2017-07-22 22:35:25 -07:00
Lioncash
5859914da5
TraversalClient: Fix memory leaks in ReleaseTraversalClient()
...
release() relinquishes ownership of a pointer, it doesn't actually free
it.
2017-07-22 18:19:25 -04:00
Léo Lam
b6ae70ac7e
BT: Use a std::array for all Bluetooth addresses
...
BluetoothEmu had its own bdaddr_t type which is a old style C struct
and typedef, which makes comparisons and copies a bit ugly.
On the other hand, BTReal had its own btaddr_t type using std::array.
To make things very slightly nicer, this commit changes the Bluetooth
code to use a single type (std::array<u8, 6>) for all BT addresses.
2017-07-23 02:07:02 +08:00
Leo Lam
efd318df64
Merge pull request #5791 from leoetlino/wiimote-indicator
...
Remove Wii Remote connection status from status bar
2017-07-22 22:03:25 +08:00
Starsam80
d9a09cff14
Qt: Allow the game list headers to be rearranged
2017-07-22 00:38:09 -06:00
Léo Lam
fbcc6bbd57
IOS/ES: Use the correct key for imports/exports
...
Imports/exports don't always use the title key. Exporting a title and
importing it back uses the PRNG key (aka backup key handle or key #5 ),
not the title key (at all).
To make things even more fun, some versions of IOS have a bug that
causes it to use a zeroed key instead of the PRNG key. When Nintendo
decided to fix it, they added checks to keep using the zeroed key only
in affected titles to avoid making existing exports useless.
(Thanks to tueidj for drawing my attention to this.
I missed this edge case during the initial implementation.)
This commit implements these checks so we are using the correct key
in all of these cases.
We now also use IOSC for decryption/encryption since built-in key
handles are used. And we now reject any invalid common key index,
just like ES.
2017-07-21 17:42:59 +08:00
Léo Lam
e608d79f42
IOSC: Load the backup/PRNG key
2017-07-21 17:42:59 +08:00
Léo Lam
05016e8dca
EcWii: Add function to get the backup key
2017-07-21 17:42:59 +08:00
Léo Lam
5b09657a1f
ESFormats: Add entry for unknown title flag
2017-07-21 17:42:59 +08:00
Léo Lam
5cbbe2dda2
IOSC: Add support for importing decrypted keys directly
2017-07-21 17:42:59 +08:00
Léo Lam
5729ac0fc6
Core: Replace recursive locking from PauseAndLock
...
PauseAndLock cannot be called recursively anymore.
2017-07-21 16:45:59 +08:00
Léo Lam
f106a9637d
Replace balanced Core::PauseAndLock calls with RunAsCPUThread
...
Core::PauseAndLock requires all calls to it to be balanced, like this:
const bool was_unpaused = Core::PauseAndLock(true);
// do stuff on the CPU thread
Core::PauseAndLock(false, was_unpaused);
Aside from being a bit cumbersome, it turns out all callers really
don't need to know about was_unpaused at all. They just need to do
something on the CPU thread safely, including locking/unlocking.
So this commit replaces Core::PauseAndLock with a function that
makes both the purpose and the scope of what is being run on the
CPU thread visually clear. This makes it harder to accidentally run
something on the wrong thread, or forget the second call to
PauseAndLock to unpause, or forget that it needs to be passed
was_unpaused at the end.
We also don't need comments to indicate code X is being run on the
CPU thread anymore, as the function name makes it obvious.
2017-07-21 16:45:59 +08:00
JosJuice
1fc5830d0c
Remove region mismatch check for GCI folders
...
The region mismatch check that we used can give false positives.
Skipping the check won't lead to any harm - games will ignore
save files that have a non-matching fourth game ID character.
2017-07-20 15:24:07 +02:00
Stenzek
3ea9d86faa
ShaderGen: Pass host config to shader generation functions
...
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
Stenzek
d01b0bf60f
VideoCommon: Move shader cache filename generation to common
2017-07-20 17:46:59 +10:00
Stenzek
7c5bbafdd1
Vulkan: Don't save/load pipeline UID cache when shader cache is disabled
2017-07-20 17:46:59 +10:00
Stenzek
b380f292b4
Vulkan: Reload pipeline cache when relevant host config changes
2017-07-20 17:46:59 +10:00
Stenzek
a8343cc19a
Vulkan: Don't save pipeline cache if shader cache is disabled
...
We still create a pipeline cache object, since that speeds up driver's
creation of pipelines at runtime. However, we should not save it.
2017-07-20 17:46:59 +10:00
Stenzek
d9a3b29a07
Vulkan: Emit input/output locations for EFB poke geometry shader
2017-07-20 17:46:59 +10:00
Stenzek
228ddb8aba
D3D11: Reload shader cache when relevant config changes
2017-07-20 17:46:59 +10:00
Stenzek
62a901508b
OGL: Reload shader cache when relevant video config changes
2017-07-20 17:46:59 +10:00
Stenzek
d1381f5021
VideoConfig: Add host config union
...
Contains all host state that can affect shadergen.
2017-07-20 17:46:59 +10:00
Stenzek
82c27182a8
ShaderGen: Remove host state from shader uids
2017-07-20 17:46:59 +10:00
Leo Lam
c207a1072d
Merge pull request #5795 from JosJuice/gc-region-detection
...
Improve GameCube region detection
2017-07-20 14:13:11 +08:00
Anthony
39e17ccc41
Merge pull request #5793 from spycrab/qt_fullscreen_fix
...
Qt: Fix missing window border after exiting fullscreen under Windows
2017-07-19 08:52:22 -07:00
Leo Lam
baf950c417
Merge pull request #5796 from JosJuice/findfileinfo-find
...
Use find_first_not_of in FileSystemGCWii::FindFileInfo
2017-07-19 21:52:13 +08:00
Michael Maltese
e1554c04a1
Qt: implement remainder of 'Options' menu
2017-07-16 18:23:59 -07:00
Michael Maltese
2b712bdbaa
ListTabWidget: disallow deselecting items
2017-07-16 18:23:59 -07:00
Michael Maltese
19dc580a4e
Qt: extract ListTabWidget from SettingsWindow
2017-07-16 18:23:59 -07:00
Starsam80
c6478cac2f
Qt: Shrink settings window and make widgets stretch
2017-07-16 14:50:52 -06:00
JosJuice
c83cac7cca
Fix the handling of NTSC-K for GCI folders
2017-07-16 16:31:12 +02:00
JosJuice
be8e93f472
Ensure that Volume::GetRegion doesn't return invalid enum values
2017-07-16 14:52:17 +02:00
JosJuice
db1c534b3e
Add warning comments to RegionSwitch and code that uses it
2017-07-16 14:49:28 +02:00
JosJuice
cd60810d9d
Improve Japanese check in TitleDatabase
...
We should check the language of a game rather than the region.
RegionSwitchGC counts W as NTSC-J, and W games aren't in Japanese.
2017-07-16 14:33:14 +02:00
JosJuice
c8b4645039
Detect Korean GC releases as Korean when possible
...
According to http://scanlines16.com/en/blog-3/retro-gaming/game-cube/gamecube-korean-master-list/ ,
Korean GC releases use the following country codes:
- E or W for games in English
- K for games in Korean
- Unknown value for games in Japanese (my guess is that they might
have made the discs bit-for-bit identical to Japanese releases
because the regions of these games are already set to NTSC-J)
As far as I know, the GC has no Taiwanese releases, which is what
the W country code is used for on the Wii. But I could be wrong.
A small note: The country_byte == 'K' check in the code isn't
actually necessary as long as RegionSwitchGC returns NTSC_J
for 'K', but I thought it would be better to not rely on that.
2017-07-16 14:30:41 +02:00
JosJuice
ebf0f64a01
Detect GC region based on the actual region value
...
The county code isn't 100% reliable for detecting the region.
For instance, some games released in Korea have the country
code E even though they're region-locked to NTSC-J consoles.
This commit makes the GC disc region detection match the Wii
disc region detection (apart from the region value being in
a different place on the disc).
2017-07-16 14:29:43 +02:00
JosJuice
fe10e8aa6c
Fix RegionSwitchGC for the value 'K'
...
Korean GameCube releases have their region set to NTSC-J.
2017-07-16 13:52:53 +02:00
JosJuice
c64d668c3c
Use find_first_not_of in FileSystemGCWii::FindFileInfo
2017-07-16 13:19:18 +02:00
spycrab
e3cf1e4f37
Qt: Fix missing window border after exiting fullscreen under Windows
2017-07-16 01:09:36 +02:00
Jules Blok
ba356f78d1
Merge pull request #5774 from Armada651/d3d-fs-fixes
...
D3DBase: Set the fullscreen state in Create()
2017-07-15 15:01:46 +02:00
Léo Lam
91f8283a1d
Remove Wii Remote connection status from status bar
...
Showing the Wii remote connection status leads to inconsistent UX,
because we don't do anything like that for GameCube controllers
or with Bluetooth passthrough.
It's also questionable how useful it is given that:
* it doesn't print the number of connected remotes, just that one
remote is connected, connecting or not connected, so the only info
it provides is actually wrong when using multiple remotes;
* this user-facing feature is actually broken in master and no one has
complained AFAIK, which means people don't really rely on it;
* the status bar isn't visible most of the time unless the user is
using render to main or deliberately keeping the main window's
status bar visible by moving the render window and they're not too
far away from their screen;
* emulated Wii remotes now reconnect on input, which means that there
is less of a need to actually know at all times whether a remote
is connected, since pressing any button will reconnect it and provide
immediate, visible feedback via OSD messages and the Wii remote
pointer appearing.
2017-07-15 13:01:56 +08:00
Andrew
3095f585dd
Hide mouse cursor after delay in DolphinWX
2017-07-14 22:28:52 -04:00
Michael Maltese
41917cb43c
Wx: make GameListCtrl fallback to sorting by title
...
Fixes an issue with game items moving around randomly when resorted.
2017-07-14 15:29:48 -07:00
Michael Maltese
becb1a744b
SI_DeviceGBA: if a client doesn't respond within 1s, disconnect them
...
Rather than returning 0 / not creating an expected SI interrupt. You can
test this by running VBA-M in a debugger and stopping it while it's
connected to Dolphin: on current master, Dolphin will freeze-up until it
gets a response. With this PR, Dolphin will gracefully disconnect the device, and reconnect if it starts responding again.
2017-07-14 13:57:17 -07:00
Michael Maltese
f004dfa92b
SI_DeviceGBA: use SI_ERROR_NO_RESPONSE when client isn't connected
...
Slight behavior change, but fills a gaping hole in the state logic.
2017-07-14 13:57:17 -07:00
Michael Maltese
8dee8e6494
SI_DeviceGBA: extract magic numbers SEND_MAX_SIZE, RECV_MAX_SIZE
2017-07-14 13:57:17 -07:00
Michael Maltese
05ab03a551
SI_DeviceGBA: make GBASockServer a member instead of parent
2017-07-14 13:57:17 -07:00
Michael Maltese
ff78327643
SI_DeviceGBA: remove duplication of GBASockServer destructor logic
2017-07-14 13:57:17 -07:00
Michael Maltese
e6cfc3a75b
SI_DeviceGBA: clean up GetTransferTime()
2017-07-14 13:57:17 -07:00
Michael Maltese
d30e0ea28e
GBASockServer: clean up Receive() return value
2017-07-14 13:57:16 -07:00
Michael Maltese
89ca32daa6
GBASockServer: cleanup GetNextSock and GetNextClock
2017-07-14 13:57:16 -07:00
Michael Maltese
751377256b
Move GBASockServer logging into SI_DeviceGBA
2017-07-14 13:57:16 -07:00
Michael Maltese
72946a40f6
SI_DeviceGBA: clarify request-response state machine
...
Inspired by "#5147: GBASockServer: remove m_device_number (fixes
warning)," trying to wrap my head around how this file works.
2017-07-14 13:57:16 -07:00
Leo Lam
bacc35d99e
Merge pull request #5733 from leoetlino/import-context
...
IOS/ES: Merge the title import and export contexts
2017-07-14 23:34:37 +08:00
Léo Lam
777d150f83
Movie: Get rid of the manual buffer management
...
Tracking a buffer's size manually and storing it under a name that
does not make it obvious it is related to the buffer is really... meh.
Also gets rid of the need to manually manage its capacity and
new/delete an array.
2017-07-14 16:15:05 +08:00
Léo Lam
1ba1b51606
IOS/ES: Rename context.title_import
...
This makes it obvious that the same context is used for both
title imports and exports.
2017-07-14 13:23:21 +08:00
Léo Lam
dc1707faa8
IOS/ES: Merge the title import and export contexts
...
This commit merges the import and export contexts into a single context
because this is what IOS does, which means we can only reproduce its
behaviour correctly if we use a single context for both operations.
The other reason is that having two separate and very similar structs
is not really a good idea.
While working on this commit, I was notified that our handling of
ImportTmd/ExportTitleInit is not correct. In particular, we always use
the title key for both importing and exporting, which is wrong. To make
this easier to fix in a follow-up PR, the context now also has a title
key field, just like ES. This also lets us avoid computing it every
single time in ImportContentDone.
2017-07-14 13:23:21 +08:00
Léo Lam
0dff8a3bde
IOS/ES: Separate title content functions from IPC handlers
...
Allows them to be reused easily. Still a bit too much duplicated code
in my opinion (OpenContent/SeekContent/ReadContent should just call
FS code), but this is a start.
2017-07-14 13:23:21 +08:00
Leo Lam
460b81ac06
Merge pull request #5778 from ligfx/fixinputbitmaps
...
DolphinWX: fix input bitmaps not working when background input is off
2017-07-14 13:08:13 +08:00
Leo Lam
d7efac6ed5
Merge pull request #5780 from spycrab/qt_header_save
...
Qt: Save sorting order
2017-07-14 13:05:41 +08:00
Michael Maltese
ebeac18472
DolphinQt2/Host: cleanup
2017-07-13 12:58:32 -07:00
Michael Maltese
8e55374662
RenderWidget: watch for activation/deactivation, not focus in/out
...
"Focus" refers mainly to keyboard focus. "Window focus" is exposed
through the window activation and deactivation events.
2017-07-13 12:58:32 -07:00
Michael Maltese
8d5fe1f1c4
RenderWidget: mark 'event' function as override
2017-07-13 12:58:32 -07:00
JosJuice
100b0a52d3
Merge pull request #5777 from JosJuice/unify-getgameinifilenames
...
Unify GetGameIniFilenames
2017-07-12 19:24:46 +02:00
spycrab
8ca6814673
Qt: Save sorting order
2017-07-12 18:25:54 +02:00
Michael Maltese
0019c34c73
DolphinWX: fix input bitmaps not working when background input is off
2017-07-12 00:12:07 -07:00
Anthony
ab5a5ee3ea
Merge pull request #5726 from mimimi085181/minimal-tmem-cache-emulation
...
Implement minimal emulation of TMEM caching
2017-07-11 22:49:19 -07:00
JosJuice
d4f5038571
Unify GetGameIniFilenames
...
This deduplicates code and fixes the new config system's lack of
1-char game ID INI support.
2017-07-11 13:10:11 +02:00
Leo Lam
1de9bf2cca
Merge pull request #5743 from spycrab/qt_fix_shutdown
...
Qt: Fix multiple emulation shutdown bugs
2017-07-11 09:13:07 +02:00
Leo Lam
ce4732dd96
Merge pull request #5776 from sepalani/kd-log
...
NetKDTime: Log IOCtl
2017-07-11 00:40:37 +02:00
Leo Lam
b6c3479bb4
Merge pull request #5720 from JosJuice/file-metadata
...
FileUtil: Redesign Exists/IsDirectory/GetSize
2017-07-11 00:28:34 +02:00
Leo Lam
12f6d0b56b
Merge pull request #5773 from JosJuice/builtin-titledatabase-optional
...
Make the built-in wiitdb files optional
2017-07-11 00:20:09 +02:00
Leo Lam
38e32c6324
Merge pull request #5775 from leoetlino/hardcoded-fs-usage
...
IOS/FS: Remove hardcoded FS usage data
2017-07-11 00:18:55 +02:00
Sepalani
b7ae49c4d2
NetKDTime: Log IOCtl
2017-07-10 23:14:26 +01:00
Léo Lam
1376484f76
IOS/FS: Remove hardcoded FS usage data
...
I think I do not need to explain why hardcoding space usage for two
random directories when we can calculate it and when IOS doesn't
actually do that is wrong.
2017-07-10 23:08:25 +02:00
Jules Blok
3fc9a48da0
D3DBase: Use the swapchain discard mode when possible.
2017-07-10 14:25:28 +02:00
Jules Blok
65495a1297
D3D: Resize the swapchain when the fullscreen state is changed
2017-07-10 14:24:11 +02:00
Jules Blok
07c5dcd739
D3DBase: Set the fullscreen state in Create()
2017-07-10 14:03:04 +02:00
JosJuice
1d7a57869a
Make the built-in wiitdb files optional
...
There are some cases where overriding the opening.bnr names
isn't desirable, such as when someone has several modded
versions of a game that differ in names but not game IDs.
2017-07-10 10:16:06 +02:00
spycrab
ebe169a218
Qt: Fix multiple emulation shutdown bugs
2017-07-10 08:16:51 +02:00
Michael Maltese
06f1761f9f
LogWindow: don't unconfigure logger on destruction
...
This was causing Dolphin to always save "WriteToWindow = False". Instead
of disabling logging to the window (a config value), tell LogManager
that there's no window to log to (a runtime state).
2017-07-09 18:50:55 -07:00
Michael Maltese
ff83b13344
LogConfigWindow: fix verbosity
2017-07-09 18:50:55 -07:00
mimimi085181
53663c00b9
Implement minimal emulation of TMEM caching
...
This is a remake of https://github.com/dolphin-emu/dolphin/pull/3749
Full credit goes to phire.
Old message:
"If none of the texture registers have changed and TMEM hasn't been invalidated or changed in other ways, we can blindly reuse the old texture cache entries without rehashing.
Not only does this fix the bloom effect in Spyro: A Hero's Tail (The game abused texture cache) but it will also provide speedups for other games which use the same texture over multiple draw calls, especially when safe texture cache is in use."
Changed the pr per phire's instructions to only return the current texture(s) if none of the texture registers were changed. If any texture register was changed, fall back to the default hashing and rebuilding textures from memory.
2017-07-10 01:49:27 +02:00
Michael Maltese
28d6c61e34
LogManager: use layered config
2017-07-09 16:28:54 -07:00
Michael Maltese
e6c4455e65
remove commented-out FileLogListener::GetName
2017-07-09 16:28:54 -07:00
Michael Maltese
8b54ac225b
Merge Core/Config/Config.h into Common/Config/Config.h
...
Allows code in Common to take advantage of the layered config logic.
2017-07-09 16:28:54 -07:00
Jules Blok
0f13c61daa
D3DBase: Only create a stereo swapchain when needed.
2017-07-10 01:24:43 +02:00
Jules Blok
77a318789a
D3DBase: Implement Windows 7 swapchain fallback.
2017-07-10 01:02:29 +02:00
Jules Blok
938939136e
D3DBase: Only use temporary mono when supported by the swapchain.
2017-07-10 01:02:05 +02:00
Tillmann Karras
31dd690ed1
Core: fix log category for startup message
2017-07-09 18:48:35 +01:00
Leo Lam
a621a1bc2f
Merge pull request #5755 from ligfx/qtglobalorganizationname
...
DolphinQt2: set QSettings parameters globally
2017-07-09 16:25:31 +02:00
Leo Lam
e6c1b04b69
Merge pull request #5764 from ligfx/cleanuplogmanager
...
LogManager: clean ups and encapsulate config file management
2017-07-09 16:18:49 +02:00
Leo Lam
eb726194ed
Merge pull request #5762 from spycrab/qt_disable_iwad
...
Qt: Fix "Install WAD" being enabled while emulation is running
2017-07-09 16:13:39 +02:00
spycrab
adf2cd4252
Qt: Fix "Install WAD" being enabled while emulation is running
2017-07-09 16:09:30 +02:00
Tilka
039e456d6f
Merge pull request #5761 from spycrab/qt_warning
...
Qt: Make the "In Development" warning less threatening
2017-07-09 14:49:29 +01:00
Pierre Bourdon
d6dd0e4687
Merge pull request #5766 from JosJuice/fst-u32
...
Fix reading FSTs for multi-disc games
2017-07-08 15:28:29 +02:00
JosJuice
edc7a4c895
Fix reading FSTs for multi-disc games
...
It's a wonder that this managed to work for any discs at all...
2017-07-08 15:17:05 +02:00
Leo Lam
d0fb1bc4bf
Merge pull request #5728 from Starsam80/remove-qt-whats-this
...
Qt: Don't show the Qt "What's this" button
2017-07-08 10:55:28 +02:00
Leo Lam
51bb10d371
Merge pull request #5757 from blubberdiblub/wx-fix-custom-rtc
...
Fix date and time handling for custom RTC in wxWidgets.
2017-07-08 10:53:05 +02:00
spycrab
63d401102b
Qt: Make the "In Development" warning less threatening
2017-07-08 10:47:31 +02:00
Michael Maltese
234ab6f759
DolphinQt2: set QSettings parameters globally
2017-07-07 17:08:00 -07:00
Michael Maltese
13721d35e7
DolphinWX: remove INI logic from LogConfigWindow
2017-07-07 16:44:38 -07:00
Michael Maltese
c9e8289e82
LogManager: add SaveSettings
2017-07-07 16:44:38 -07:00
Michael Maltese
8ff8dfcdf2
LogManager: make LogContainer a POD and don't allocate
2017-07-07 16:44:38 -07:00
Michael Maltese
18da6dee8e
LogManager: remove per-container listeners
2017-07-07 16:44:38 -07:00
Michael Maltese
546fa628fb
LogManager: remove per-container verbosities
2017-07-07 16:44:38 -07:00
Michael Maltese
26aa9f88a4
LogManager: clean up header
2017-07-07 16:44:38 -07:00
Niels Boehm
ee9fb47c53
Fix date and time handling for custom RTC in WX.
...
The actual problem was combining the values from the date and time
pickers incorrectly. The uninteresting parts of the returned wxDateTime
need to be ignored and the WX documentation says so for the time picker.
I also cleaned up the handling of both widgets a bit, removing redundant
member variables in the process, in order to not risk correctness.
2017-07-07 17:12:05 +02:00
Leo Lam
c941cd6aa9
Merge pull request #5753 from ZirconiumX/master
...
Explain what Yes/No means in an assert window
2017-07-07 16:56:21 +02:00
Leo Lam
ff9f271edc
Merge pull request #5756 from spycrab/qt_sysmenu
...
Qt: Implement "Load System Menu"
2017-07-07 16:51:53 +02:00
John Pansera
72c573f6dc
Fix Forecast Channel
2017-07-06 20:28:33 -04:00
spycrab
2cf0228ada
Qt: Implement sysmenu booting
2017-07-06 21:27:31 +02:00
spycrab
3a27d60937
Qt: Add "Load System Menu" option to menubar
2017-07-06 19:48:10 +02:00
Jules Blok
8476d0271d
PixelShaderGen: Add missing inputs.
...
This fixes a linkage warning in D3D because of mismatched inputs.
2017-07-05 22:43:39 +02:00
Jules Blok
b485329353
D3DBase: Set the monoscopic flag when we don't use stereoscopy.
2017-07-05 22:43:39 +02:00
Jules Blok
1f2d43c870
Vulkan: Implement Quad-Buffered stereoscopy support.
2017-07-05 22:43:39 +02:00
Jules Blok
f3508742ac
OGL: Support Quad-Buffered stereoscopy.
2017-07-05 22:43:39 +02:00
Jules Blok
2ab068d3f2
D3DBase: Always create a stereo swapchain.
2017-07-05 22:43:39 +02:00
Jules Blok
383645a4b1
VideoConfigDiag: Rename Quad-Buffer to HDMI 3D.
...
This 3D mode is often associated with the HDMI 1.4a standard,
so this name is more helpful to users with such a setup.
2017-07-05 22:43:39 +02:00
Jules Blok
179602e921
D3D: Add quad-buffer stereoscopy support.
2017-07-05 22:43:39 +02:00
Jules Blok
6863abb31d
D3DBase: Switch to a flip-model swap chain.
2017-07-05 22:43:39 +02:00
Jules Blok
c399e2bc40
D3DBase: Upgrade to DXGI 1.2.
...
This effectively drops for Vista and Windows 7 without the Platform Update in this backend.
2017-07-05 22:43:39 +02:00
Dan Ravensloft
982663c728
Explain what Yes/No means in an assert window
...
It's a bit confusing to get a yes/no dialogue box without any indication
of what yes or no will do in this situation, so add a short explanatory
sentence.
2017-07-05 20:00:52 +00:00
JosJuice
421a2c5776
Merge pull request #5750 from AwesomeMarioFan/master
...
IOS: Add IOS4v3 Constants
2017-07-05 21:01:31 +02:00
John Pansera
f7017b2992
IOS: Add IOS4v3 Constants
...
Fix indentation
2017-07-05 14:10:20 -04:00
Leo Lam
24f05f14f2
Merge pull request #5752 from leoetlino/to_string
...
Replace StringFromInt with std::to_string
2017-07-05 17:36:07 +02:00
Léo Lam
90f8265497
Replace StringFromInt with std::to_string
...
Updated version of #47 . Android should support to_string now that
we use a modern version of libc++ when building.
2017-07-05 13:49:33 +02:00
JosJuice
78217532e5
VolumeWii: Defer loading tickets, TMDs and keys until when needed
...
This should make building the game list cache a tiny bit
faster, since we won't have to read anything from
partitions other than the game partition.
2017-07-04 21:31:24 +02:00
JosJuice
2c7e93f3b8
Common: Add a Lazy type
2017-07-04 20:58:03 +02:00
JosJuice
93e9740683
Drop unnecessary check from FileSystemGCWii::FindFileInfo
...
If the current file_info is a file, the ranged for loop will
run 0 times, and we'll reach the last line of the function.
2017-07-04 20:40:32 +02:00
JosJuice
6a31d2598e
Support leading slashes in FileSystemGCWii::FindFileInfo
2017-07-04 20:40:08 +02:00
Leo Lam
60ee0b2913
Merge pull request #5745 from JosJuice/partition-map
...
VolumeWii: Change the format of partition maps
2017-07-04 19:31:21 +02:00
JosJuice
333b6d99d2
VolumeWii: Change the format of partition maps
...
Having a separate map for each type of data is a bit unnecessary.
2017-07-04 16:20:13 +02:00
Leo Lam
cf79ff2366
Merge pull request #5738 from spycrab/qt_fix_ampersand
...
Qt: Fix ampersands not displaying properly in mapping windows
2017-07-04 15:31:36 +02:00
spycrab
36fe1a5415
Qt: Fix ampersands not displaying properly in mapping windows
2017-07-04 15:26:10 +02:00
Leo Lam
e0b94b55b8
Merge pull request #5651 from JosJuice/new-disc-extraction
...
Use new format for disc extraction
2017-07-04 13:46:18 +02:00
Leo Lam
aa1d750f30
Merge pull request #5664 from ligfx/removesettings
...
DolphinQt2: replace Settings with SConfig where possible
2017-07-04 13:45:21 +02:00
Leo Lam
365892c61c
Merge pull request #5667 from ligfx/cleanupdspdisassembler
...
DSPDisassembler: various code cleanups
2017-07-04 13:43:45 +02:00
Leo Lam
5a41bfaf6f
Merge pull request #5740 from Starsam80/qt-size
...
Qt: Don't force a minimum size for the main window
2017-07-04 13:39:44 +02:00
Starsam80
4d56951d3b
Qt: Remove border from game list
2017-07-02 17:25:46 -06:00
Starsam80
3eac4b6c9d
Qt: Don't force a minimum size for the main window
2017-07-02 16:20:37 -06:00
Leo Lam
0f9ae6d361
Merge pull request #5731 from mimimi085181/terminate-background-input
...
Disable Background Input when Background Input is disabled
2017-07-01 16:49:15 +02:00
JosJuice
0588a76830
DolphinWX: Fix inconsistent region name for online system update
...
This was inconsistent with the other three regions
and with DolphinQt2.
2017-07-01 16:40:07 +02:00
mimimi085181
b6ada2b633
Disable Background Input when Background Input is disabled
...
Only remaining issue is that clicking on the titlebar of the window, to give it focus, is already interpreted as input. But clicking on the window in the task bar, or using alt tab works to get back, without causing an input event.
2017-06-30 16:17:29 +02:00
Michael Maltese
7dab92d8b5
DSPDisassembler: fail when buffer too large
2017-06-30 01:47:02 -07:00
Michael Maltese
1d0185d7d5
DSPDisassembler: remove unused base_addr parameter
2017-06-30 01:47:02 -07:00
Michael Maltese
2564823522
DSPDisassembler: cleanup disassembler text handling
2017-06-30 01:47:02 -07:00
Michael Maltese
0f98cd636b
DSPDisassembler: remove unused labels member from dspdisassembler
2017-06-30 01:47:02 -07:00
Michael Maltese
54ef5299bb
DSPDisassembler: remove UnkOps.txt write on destruction
2017-06-30 01:47:01 -07:00
Michael Maltese
391c7319f5
DSPDisassembler: get rid of double-pass and temp file
2017-06-30 01:47:01 -07:00
Starsam80
ed0ba7ef28
Qt: Don't show the Qt "What's this" button
2017-06-29 18:52:53 -06:00
Michael Maltese
d0fdb9f149
DolphinQt2: replace Settings with SConfig where possible
...
Changes:
- `ShowDevelopmentWarning` is now under the '[Interface]' group in
Dolphin.ini, with other interface-related settings. So, whoever uses
DolphinQt will have to edit that manually again. Sorry!
- Game search paths and the last file are now shared properly with
DolphinWX
- Qt-only preferences like "Preferred View: list/table" are now
stored using the platform's native settings storage, rather than in
UI.ini
2017-06-29 17:17:32 -07:00
Michael Maltese
21fa010bb6
Remove CoreAudio audio backend
...
Cubeb handles everything the CoreAudio backend can, plus supports DPL2.
2017-06-29 16:53:20 -07:00
Mat M
898bbffaa7
Merge pull request #5724 from JonnyH/WIP/fix-some-ODR-warnings
...
Fix some GCC ODR warnings
2017-06-29 18:48:47 -04:00
Jonathan Hamilton
e66e034419
Fix some GCC ODR warnings
...
struct GekkoOPTemplate was implemented differently in different
compilation units, which breaks the ODR and could end up causing issues
as symbols exported from one compilation unit could end up being used by
another even if they have different implementations.
This puts them in an anonymous namespace, restricting any generated
symbols to the single compilation unit.
2017-06-29 12:21:32 -07:00
JosJuice
5ca3aee00a
FileUtil: Add a class for Exists/IsDirectory/GetSize
...
Some code was calling more than one of these functions in a row
(in particular, FileUtil.cpp itself did it a lot...), which is
a waste since it's possible to call stat a single time and then
read all three values from the stat struct. This commit adds a
File::FileInfo class that calls stat once on construction and
then lets Exists/IsDirectory/GetSize be executed very quickly.
The performance improvement mostly matters for functions that
can be handling a lot of files, such as File::ScanDirectoryTree.
I've also done some cleanup in code that uses these functions.
For instance, some code had checks like !Exists() || !IsDirectory(),
which is functionally equivalent to !IsDirectory(), and some
code was using File::GetSize even though there was an IOFile
object that the code could call GetSize on.
2017-06-29 19:07:29 +02:00
Niels Boehm
68198d6c32
Make one log font monospaced for all platforms.
...
The MonoSpaceFont of the LogWindow was using a Windows native way to
specify a font name.
Now it's using wxFONTFAMILY_TELETYPE.
On Win32 it will additionally request the specific font name "Consolas",
so it doesn't use ugly "Courier New". I pilfered that specialization
from Source/Core/DolphinWX/Cheats/ARCodeAddEdit.cpp.
2017-06-29 07:05:15 +02:00
JosJuice
a59edfe8cf
FilesystemPanel: Put partitions in separate folders when extracting all partitions
2017-06-28 22:25:27 +02:00
JosJuice
478c4fd1f3
FileSystemGCWii: Use DiscExtractor's FST offset/size functions
2017-06-28 22:25:09 +02:00
JosJuice
1b6506f4e8
DiscExtractor: Add support for more things to extract
2017-06-28 22:24:33 +02:00
JosJuice
94b18bfb07
FilesystemPanel: Replace Extract Apploader/DOL with Extract System Data
...
Because having one option for each thing to extract is
going to be way too many options once I add support for
more things to extract.
2017-06-28 22:23:10 +02:00
JosJuice
0b068d84d5
FilesystemPanel: Overhaul the right-click menu
2017-06-28 22:23:01 +02:00
JosJuice
2ca5f1dec8
FilesystemPanel: Handle root correctly in BuildFilePathFromSelection
...
This was unnecessary in the past but is necessary
for the next commit.
2017-06-28 22:22:50 +02:00
JosJuice
39ff203c1e
DiscExtractor: Don't create extra folders when extracting a folder
...
Before, if you extracted a directory like /map/Final/Release/,
Dolphin would create the nested folders map, Final and Release
in the output directory and put the files in Release instead of
just putting the files directly in the output directory.
2017-06-28 22:22:41 +02:00
JosJuice
6d51992648
Move ExtractDir from FilesystemPanel to DiscExtractor
2017-06-28 22:22:31 +02:00
JosJuice
5778e8bdba
FilesystemPanel: Refactor partition name stripping
2017-06-28 22:22:22 +02:00
JosJuice
baf3a3b188
DiscExtractor: Don't hardcode names in ExportApploader and ExportDOL
2017-06-28 22:22:13 +02:00
JosJuice
89c901780e
DiscScrubber: Deduplicate code for writing to file
2017-06-28 22:22:04 +02:00
JosJuice
1f31390b54
DiscExtractor: Improve error handling
2017-06-28 22:21:55 +02:00
JosJuice
a17272c146
DiscExtractor: Minor cleanup
2017-06-28 22:21:48 +02:00
JosJuice
d06b532150
DiscIO: Move parts of Filesystem to the new file DiscExtractor
2017-06-28 22:21:23 +02:00
JosJuice
23bb029250
DiscIO: Add convenience methods IsDisc and IsWii for Platform enum
2017-06-28 21:46:43 +02:00
spycrab
4d37190327
Make Visual Studio happy
2017-06-28 20:42:01 +02:00