Mat M
291c056c07
Merge pull request #8424 from JosJuice/cpu-core-advanced-cleanup
...
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-23 20:16:32 -04:00
Mat M
780d34dbca
Merge pull request #8426 from JosJuice/volumeverifier-region-mismatch
...
VolumeVerifier: Improve region/game ID mismatch checking
2019-10-23 20:15:31 -04:00
JosJuice
2c79c63608
Merge pull request #8330 from JosJuice/redump-integration
...
VolumeVerifier: Add Redump.org integration
2019-10-23 16:43:52 +02:00
JosJuice
77b9a70d6c
VolumeVerifier: Don't consider region mismatch for placeholder game IDs
2019-10-23 10:43:34 +02:00
JosJuice
97c4e8ff3a
VolumeVerifier: Include revision when checking region mismatch
2019-10-23 10:39:19 +02:00
LAGonauta
2ff646b796
DSP must be set to LLE to select the decoder
2019-10-22 22:55:59 -03:00
LAGonauta
3c9eb37381
Allow user to change DPLII decoding quality
2019-10-22 22:55:15 -03:00
JosJuice
95c4423f4c
DolphinQt: Cleanup after moving CPU Emulation Engine to Advanced tab
2019-10-22 20:54:01 +02:00
Admiral H. Curtiss
1c1c19e996
Qt/GCMemcardManager: Fix incorrect placeholder frame timing.
2019-10-21 22:47:17 +02:00
Silent
a0111628fb
Fixup GameListModel::UpdateGame and columnCount
...
- dataChanged takes "first" and "last" indices inclusive, not exclusive
- columnCount should return 0 for valid parents
2019-10-20 23:07:08 +02:00
Jordan Woyak
1fe44238b1
ExpressionParser: Add XOR operator.
2019-10-20 09:51:52 -05:00
Mat M
6282b0d83e
Merge pull request #8326 from lioncash/fmt
...
ActionReplay: Make use of fmt where applicable
2019-10-20 07:30:20 -04:00
Mat M
d0114ea61e
Merge pull request #8415 from jordan-woyak/try-parse
...
StringUtil: Require TryParse of float types to use the entire string.
2019-10-20 07:29:20 -04:00
Mat M
ef77101463
Merge pull request #8412 from jordan-woyak/def-warn-fix
...
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 17:47:40 -04:00
Jordan Woyak
9e8181e80e
Core/HW: Fix some explicitly defaulted but implicitly deleted warnings.
2019-10-19 16:35:03 -05:00
Silent
68694e0039
Add signals to enable/disable Refresh button
...
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
Silent
cc6ffef4a1
Add CommandType::BeginRefresh
...
This resolves a race condition when spamming Refresh button,
which would often end up with duplicates game entries for the entire
duration of the session.
2019-10-19 23:07:10 +02:00
Silent
5e7b95db3b
Add missing break to prevent fallthrough
2019-10-19 23:06:58 +02:00
Jordan Woyak
0d254d9cb8
StringUtil: Require TryParse of float types to use the entire string.
2019-10-18 19:56:48 -05:00
JosJuice
bb8d0261be
DolphinQt: Mark ubershader setting names as translatable
...
These were marked as translatable in DolphinWX but not DolphinQt,
yet both DolphinWX and DolphinQt tried to fetch translations for them.
This meant that translations worked in both DolphinWX and DolphinQt
back when DolphinWX existed, but that translations stopped working
in DolphinQt once DolphinWX was removed (because the removal of
DolphinWX triggered the removal of the strings from the .po files).
2019-10-18 23:35:34 +02:00
Jordan Woyak
40d15980c5
DolphinQt/Mapping: Explicitly specify parents of conditionally added widgets to prevent memory leaks.
2019-10-18 12:26:03 -05:00
Jordan Woyak
fa8cbd83e2
Qt/Mapping: Show current input states in advanced dialog.
2019-10-18 12:19:16 -05:00
JMC47
4a613dad20
Merge pull request #8304 from AdmiralCurtiss/memcard-manager-icon-fix
...
Qt/GCMemcardManager: Fix icon animations displaying incorrectly.
2019-10-17 18:03:21 -04:00
JMC47
8bc0a92f2c
Merge pull request #7663 from jordan-woyak/expression-parser-improve
...
Expression parser improvements
2019-10-17 17:35:30 -04:00
Anthony
acf9bd5ebe
Merge pull request #8408 from ethteck/move-cpu-emulation-engine-options
...
Qt: Move CPU Emulation Engine options to the Advanced tab
2019-10-17 12:56:50 -07:00
Ethan Roseman
2647e412ae
Change from radio buttons to combobox, sizing fix and slight reorganization
2019-10-16 21:01:01 -04:00
Anthony
6a15de58f4
Merge pull request #8403 from jordan-woyak/netplay-wiimote-buffer-fix
...
NetPlay: Allow Wii Remote buffer size to decrease
2019-10-16 16:20:53 -07:00
Anthony
a21b7b1bdd
Merge pull request #8390 from jordan-woyak/wiimote-emu-tilt-fix
...
WiimoteEmu: Tilt fixes.
2019-10-16 16:14:42 -07:00
spycrab
2f0ad1b6a0
Merge pull request #8402 from spycrab/qt_about_restructure
...
Qt/AboutDialog: Clean up code a bit
2019-10-16 22:25:26 +02:00
JosJuice
a6daed23e7
Merge pull request #8387 from sepalani/reg-view-in
...
RegisterWidget: Fix view in code/memory
2019-10-16 20:43:32 +02:00
Ethan Roseman
1ce566f9fd
Moved CPU Emulation Engine options to the Advanced tab
2019-10-16 12:41:13 -04:00
Jordan Woyak
b120b08726
ControllerEmu: Clamp results of trigger/slider states to prevent integer overflow later on.
2019-10-15 15:35:07 -05:00
spycrab
4425d05c4a
Merge pull request #8400 from sepalani/fix-mega
...
SignatureDB: Add missing selectors
2019-10-15 18:24:03 +02:00
Admiral H. Curtiss
bbeb25de48
Qt/Debugger/CodeWidget: Allow pressing 'enter' in address search box.
2019-10-14 21:47:27 +02:00
JMC47
d39555919d
Merge pull request #8395 from CookiePLMonster/improve-work-queue
...
Improvements to WorkQueueThread
2019-10-13 15:24:56 -04:00
Sepalani
8dc5557995
SignatureDB: Add missing selectors
2019-10-13 22:52:21 +04:00
Jordan Woyak
24a36eb027
NetPlay: Allow Wii Remote buffer size to decrease by dropping reports.
2019-10-13 13:03:57 -05:00
spycrab
aba23c8d87
Merge pull request #8401 from spycrab/qt_5.13.1
...
Externals/Qt: Update to 5.13.1
2019-10-13 16:27:33 +02:00
spycrab
1975e57b73
Qt/AboutDialog: Clean up code a bit
2019-10-13 16:11:19 +02:00
spycrab
ec526fee56
Externals/Qt: Update to 5.13.1
2019-10-13 16:06:56 +02:00
Jordan Woyak
7295458c11
ExpressionParser: Make Lexer ctor explicit and move argument.
2019-10-12 12:28:19 -05:00
Jordan Woyak
72302d9c42
ExpressionParser: Add support for /* */ style comments.
2019-10-12 11:41:02 -05:00
Jordan Woyak
b4e2b3cae3
ControllerEmu: Don't clear expression variables on references update. Hotplug would make that problematic.
2019-10-11 19:42:49 -05:00
Jordan Woyak
4d41bd64c8
ExpressionParser: Show error message with expected arguments.
2019-10-11 19:38:18 -05:00
Jordan Woyak
b57178d246
ExpressionParser: Remove ! character from function syntax. Remove unused serialization functions.
2019-10-11 18:12:18 -05:00
Jordan Woyak
7912dc57dd
ExpressionParser: Remove !while and add optional 2nd argument to !smooth.
2019-10-11 18:12:18 -05:00
Jordan Woyak
ca7ce67450
ExpressionParser/DolphinQt: Added parse results to UI.
2019-10-11 18:12:18 -05:00
Jordan Woyak
c8b2188e19
DolphinQT: Add syntax highlighting from tokenizer data.
2019-10-11 18:12:18 -05:00
Jordan Woyak
e3cf2ae0d4
DolphinQT/IOWindow: Add combo boxes to insert the new operators and functions so people are semi-aware of them. Fixed the "Apply" button. Display an error message on expression parse error.
2019-10-11 18:12:18 -05:00
Jordan Woyak
5cb1248612
ExpressionParser: Clean up some redundant using-declarations and wrong comments.
2019-10-11 18:12:18 -05:00
Jordan Woyak
fae8b15db1
ExpressionParser: Add !pulse function that evaluates to 1.0 for N seconds for each press.
2019-10-11 18:12:18 -05:00
Jordan Woyak
b5b43f8342
ExpressionParser: Add relative input function.
2019-10-11 18:12:18 -05:00
Jordan Woyak
08b291b0f9
ExpressionParser: Fix timer function with negative values.
2019-10-11 18:12:18 -05:00
Jordan Woyak
18b5120441
ExpressionParser: Add !tap function which activates after X (defaults to 2) taps within Y seconds.
2019-10-11 18:12:17 -05:00
Jordan Woyak
f2e499d587
ExpressionParser: Add !hold function that activates after input is held for N seconds.
2019-10-11 18:12:17 -05:00
Jordan Woyak
9e536382c4
ExpressionParser: Add function to smooth inputs.
2019-10-11 18:12:17 -05:00
Jordan Woyak
bbd6b1848f
ExpressionParser: Add deadzone function.
2019-10-11 18:12:17 -05:00
Jordan Woyak
6a2096c419
ExpressionParser: Add optional 2nd argument to toggle function which clears state.
2019-10-11 18:12:17 -05:00
Jordan Woyak
fd07ae8cec
ExpressionParser: Move FunctionExpression type definitions into another file.
2019-10-11 18:12:16 -05:00
Jordan Woyak
d4f9b8c4ef
ExpressionParser: Allow unary functions to be used without parens around the argument. e.g. !`Up`
2019-10-11 17:31:09 -05:00
Jordan Woyak
2a377e35ed
ExpressionParser: Make function names case sensitive.
2019-10-11 17:31:09 -05:00
Jordan Woyak
2b0297489f
ExpressionParser: Rename some functions and return a syntax error on trailing tokens.
2019-10-11 17:31:09 -05:00
Jordan Woyak
258832b1e8
ExpressionParser: Change function argument syntax to something more c++-like.
2019-10-11 17:31:09 -05:00
Jordan Woyak
ccac3f1e49
ExpressionParser: Fix negative literals and support unary minus operator.
2019-10-11 17:31:07 -05:00
Jordan Woyak
7cf903a209
ExpressionParser: Suppport N-ary functions. Arguments are read LISP style. N atoms are read after the function name. Added "if" function and made the "while" function more sensible with an arity of 2. Removed the ugly binary conditional operator.
2019-10-11 17:16:05 -05:00
Jordan Woyak
4dd078568b
ExpressionParser: Replace the timer literal with a timer function that increases from 0.0 to 1.0 and resets after N seconds. e.g. (!timer 2.0) is a 2 second timer. Fixed parsing of unary expressions so things like (! ! 1.0) work.
2019-10-11 17:14:45 -05:00
Jordan Woyak
785eb14432
ExpressionParser: Clean up string lexing and support numeric literals without tick delimiter: e.g. 0.75
2019-10-11 17:14:45 -05:00
Jordan Woyak
fa75ab404f
ExpressionParser: operator precedence.
2019-10-11 17:14:45 -05:00
Jordan Woyak
46c0ae7d1f
ExpressionParser: Add !while loop unary expression. Limited to 10000 reps to prevent infinite loops. Rhs is re-evaluated until it is < 0.5. Added comma operator, which behaves like it does in c++. Added subration operator.
2019-10-11 17:14:45 -05:00
Jordan Woyak
2c89b60298
ExpressionParser: cleanup.
2019-10-11 17:14:45 -05:00
Jordan Woyak
58efc93ed4
ExpressionParser: Conditional operator. A binary op that evals the rhs if lhs > 0.5 else 0.0.
2019-10-11 17:14:45 -05:00
Jordan Woyak
718efce1dc
ExpressionParser: Add less-than and greater-than operators.
2019-10-11 17:14:45 -05:00
Jordan Woyak
35e51ebbaa
ExpressionParser: Clear expression variables on UpdateReferences call. I don't know if this is most sensible.
2019-10-11 17:14:45 -05:00
Jordan Woyak
e896835f86
ExpressionParser: Renamed ControlFinder to ControlEnvironment. Added support for variables and assignment operator. ControlExpression objects now reference a matching input and output so the two can me mixed in any expression. (you can set rumble directly from inputs)
2019-10-11 17:14:32 -05:00
Jordan Woyak
1efcf861ea
ExpressionParser: Add mod operator, sin function, and timer "constant" which can be used for auto-fire and oscillators.
2019-10-11 17:13:58 -05:00
Jordan Woyak
a8f3e9585f
ExpressionParser: Expand ! symbol to allow for named unary functions. Added !toggle function which toggles on/off with each activation of its inner expression.
2019-10-11 17:13:58 -05:00
Jordan Woyak
bf63f85d73
ExpressionParser: Add multiplication and division operators. (division by zero evaluates as zero). Don't clamp result of addition operator. Clamping will be done later.
2019-10-11 17:13:58 -05:00
Jordan Woyak
f3192ca06d
ExpressionParser: Add support for literals.
2019-10-11 17:13:58 -05:00
Mat M
5be061e27f
Merge pull request #8398 from jordan-woyak/old-wm-comment
...
WiimoteEmu: Fix an outdated comment.
2019-10-10 08:56:39 -04:00
Jordan Woyak
443af3fabd
WiimoteEmu: Fix outdated comment.
2019-10-09 16:12:18 -05:00
Stenzek
7c286064b8
AudioCommon: Don't forget to call Init() on fallback
2019-10-10 00:09:16 +10:00
Stenzek
1c5441aa40
AlsaSoundStream: Don't call join() on invalid thread
...
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
Connor McLaughlin
6e613f4f82
Merge pull request #8386 from stenzek/gcc-array-workaround
...
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-09 15:42:53 +10:00
Silent
26ebf5b650
Improvements to WorkQueueThread
...
- Do not use a lambda for std::thread as invoke constructor exists
- Use simpler std::lock_guard wherever possible
- Do not require T to be default constructible
- Move T out of the queue instead of copying
2019-10-08 22:57:33 +02:00
Silent
ea8a3059bf
Enable Win10 long path awareness in manifest files
2019-10-07 22:46:37 +02:00
Silent
45890c20cf
Remove obsolete "Windows compatibility" macros
2019-10-07 22:46:37 +02:00
Silent
689378b435
Move GetModuleName to Common
...
This unifies GetModuleFileName calls between Dolphin and WinUpdater
and allows to gracefully remove MAX_PATH limit from GetExePath
2019-10-07 22:46:36 +02:00
Silent
3b21d32865
Remove MAX_PATH limit from:
...
- GetTempFilenameForAtomicWrite
- SetUserDirectory
2019-10-07 22:45:16 +02:00
JosJuice
02ba893803
DolphinQt: When audio backend is invalid, show nothing in dropdown
...
It used to show the first option, No Audio Output (but audio output
would work correctly anyway since AudioCommon didn't use this logic.)
2019-10-06 20:40:31 +02:00
Jordan Woyak
b794737bcf
WiimoteEmu: Disable simulation of centripetal acceleration.
2019-10-06 09:56:41 -05:00
Jordan Woyak
673f13b7ac
WiimoteEmu: Change default tilt angle to 85 degrees.
2019-10-06 09:56:41 -05:00
Jordan Woyak
260cefd60b
WiimoteEmu: Expose maximum tilt acceleration.
2019-10-06 09:56:39 -05:00
JMC47
b6545ea285
Merge pull request #8370 from sepalani/fix-hle-patch
...
HLE: Fix patching functions with the same name
2019-10-06 05:07:54 -04:00
Sepalani
beeb68d541
RegisterWidget: Fix view in code/memory
2019-10-06 12:25:46 +04:00
Connor McLaughlin
9a68eaaa24
Merge pull request #8292 from Pokechu22/ir-calibration
...
Use valid IR calibration data
2019-10-06 17:31:50 +10:00
Connor McLaughlin
dba7f3304d
Merge pull request #8361 from ligfx/remove_xaudio2
...
Remove XAudio2
2019-10-06 17:24:48 +10:00
Stenzek
4fd262d0b8
FixedSizeQueue: Work around GCC generating large amounts of debug info
2019-10-06 16:23:45 +10:00
feos
5d03d5dde0
Another AVI fix for WinAPI importers
...
When not using native resolution, FFMPEG automatically selects FFV1 version 3 for whatever reason, and that can't be decoded by VirtualDub/AVISynth.
2019-10-05 23:31:06 +03:00
Aapo Vienamo
0dda920c1d
VerifyWidget: Handle Severity::None case in Verify()
...
The case body is empty because VolumeVerifier doesn't actually report
problems with severity of None.
Fixes "warning: enumeration value ‘None’ not handled in switch [-Wswitch]"
warning reported by gcc.
2019-10-05 13:20:29 +03:00
Stenzek
ae83d02e54
Drop 3D Vision Support
2019-10-04 13:40:21 +10:00
Aapo Vienamo
e3e682c4ca
WatchWidget: Change type of NUM_COLUMNS to int
...
Fixes integer comparison signedness warnings.
2019-10-03 23:00:41 +03:00
Stenzek
ecdf21a988
Config: Also set CommandBufferExecuteInterval to 0 by default on Android
2019-10-02 22:44:19 +10:00
Stenzek
328d89db70
Vulkan: Add a DriverDetails bug for "slow cached readback memory"
...
Using the cached memory type appears to be slower on Mali drivers, with
~10-15% CPU spent in the __pi___inval_cache_range kernel function.
2019-10-02 21:34:58 +10:00
Stenzek
c557aa4a15
Vulkan: Add strict flag to memory type selection
2019-10-02 21:27:32 +10:00
Stenzek
33a6d265e5
PostProcessing: Use interface blocks for shaders
2019-10-02 12:59:50 +10:00
Stenzek
af849126b3
Renderer: Use interface blocks for ImGui shaders
2019-10-02 12:52:45 +10:00
Stenzek
c98a5f7dfd
Renderer: Draw ImGui interface to both eyes
2019-10-02 12:19:47 +10:00
Stenzek
b44a0980eb
PostProcessing: Use correct layer in quad-buffered modes
...
Previously, only the left eye was being used.
2019-10-02 11:52:54 +10:00
Stenzek
e754c8ab26
D3D11: Initialize shader cache before renderer
...
Otherwise the shaders we need for e.g. postprocessing are null.
2019-10-02 11:50:10 +10:00
Stenzek
e88c269d02
PostProcessing: Don't use GS expansion shader for quad buffering w/ OpenGL
...
OpenGL doesn't render to a 2-layer backbuffer like D3D/Vulkan for quad-buffered
stereo, instead drawing twice with the eye selected by glDrawBuffer()
(see OGL::Renderer::RenderXFBToScreen).
2019-10-02 11:33:25 +10:00
Connor McLaughlin
e6ae204600
Merge pull request #8373 from jordan-woyak/stereo-mode-fix
...
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-10-02 10:56:21 +10:00
Connor McLaughlin
dafb0173b7
Merge pull request #8375 from stenzek/stereo-switch
...
Fix runtime stereoscopy mode switching
2019-10-02 10:54:53 +10:00
Connor McLaughlin
b319f823bf
Merge pull request #8337 from CookiePLMonster/log-widget-improvements
...
Log widget improvements
2019-10-01 23:42:16 +10:00
Stenzek
135f0a1385
ShaderCache: EFB2RAM pipelines should not use a geometry shader
...
Only the left eye is used when creating the RAM copy.
2019-10-01 11:44:31 +10:00
Stenzek
c989e5c50c
ShaderCache: Recompile shared pipelines on shader cache reload
...
Fixes broken stereoscopy when switching on/off at runtime.
2019-10-01 11:43:02 +10:00
Jordan Woyak
d15f08c84a
DolphinQt/Graphics: Fix NVIDIA 3D Vision support handling.
2019-09-30 15:43:55 -05:00
JMC47
d3a9104cee
Merge pull request #8355 from phire/qt_fix_fifo_range
...
QtFifoPlayer: handle FIFO load before window creation
2019-09-30 00:34:39 -04:00
JMC47
bec433cb40
Merge pull request #8333 from CookiePLMonster/screenshot-timestamp
...
Core: Generate screenshot name with timestamps
2019-09-30 00:32:07 -04:00
JosJuice
06ab51bceb
Merge pull request #8324 from CookiePLMonster/adapter-combo-fix
...
Enable adapter combo only if adapters are supported by current backend
2019-09-29 00:13:55 +02:00
JosJuice
9d648904ed
Merge pull request #8341 from CookiePLMonster/win-utf8-console-output
...
ConsoleListenerWin: Properly output console logging in UTF-16
2019-09-28 18:28:08 +02:00
Sepalani
d8a3218726
HLE: Fix patching functions with the same name
2019-09-28 17:38:43 +04:00
JosJuice
f8a4975274
DiscIO: Make company names match GameTDB's list better
2019-09-25 13:38:39 +02:00
JosJuice
d8958fbdf7
GameFile: Use enums for custom/length parameters
2019-09-25 12:25:59 +02:00
JosJuice
59f27ae4e1
GameFile: Support HBC-style XML metadata
...
This feature was originally exclusive to the previous iteration of
DolphinQt (the one that was the reason for the current iteration
being named DolphinQt2 initially).
https://bugs.dolphin-emu.org/issues/8949
2019-09-25 12:25:33 +02:00
Rukai
dbc0bf0ccb
Fix import gc save file window title
2019-09-24 19:16:27 +10:00
JosJuice
edfb0f66b6
Merge pull request #8363 from Fullmetal5/patch-1
...
Add Wii Mini system menu version detection
2019-09-23 20:18:45 +02:00
Admiral H. Curtiss
ff90a5855d
Qt/GCMemcardManager: Fix animation frame order and speed.
2019-09-23 01:55:46 +02:00
JosJuice
2300ce385e
DiscIO: Add missing company IDs
2019-09-22 23:12:31 +02:00
Admiral H. Curtiss
8f573cf5f2
Qt/GCMemcardManager: Fix animation frame decoding.
2019-09-22 21:55:06 +02:00
Dexter Gerig
5c4b591536
Add Wii Mini system menu version detection
2019-09-21 12:55:49 -05:00
Pokechu22
3efa3d7a42
Fix 2 DTK bugs
...
Bug 1: subcommand 1 of 0xE1 does not actually reset the current position; it just stops playback. 0xE2 returns the same value it would have before stopping playback (other than reporting that the stream is stopped).
Bug 2: subcommand 3 of 0xE2 was incorrectly dividing the length by 4; while this makes sense for positions (which are multiplied by 4 earlier to get a byte offset), it is not correct for lengths.
2019-09-14 21:05:33 -07:00
Michael M
71c3c5626b
AudioCommon: if backend is unknown, use default backend
2019-09-14 14:16:13 -07:00
Michael M
0f3695a14b
Remove XAudio2
...
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
Scott Mansell
677a0903a1
FifoPlayer: Use std::move for saving callbacks
2019-09-09 11:38:21 +12:00
Scott Mansell
46f4f69cfd
QtFifoPlayer: handle fifo load before window creation
...
Fixes a bug where if you loaded a fifo before opening the fifo
player window (which you can do by dragging a .dff onto dolphin's
main window) then the player's widgets wouldn't be initilized
correctly.
Importantly, the object range widgets would be broken.
2019-09-09 10:36:31 +12:00
JMC47
c144cde825
Revert "DSP: ARAM cleanup experiments"
2019-09-02 01:47:50 -04:00
JMC47
03ea0eb27a
Merge pull request #7740 from booto/aram-experiments
...
DSP: ARAM cleanup experiments
2019-09-01 20:09:42 -04:00
dreamsyntax
a4f13ca57d
Remove double space in GeckoCodeWidget code view
2019-09-01 11:22:42 -07:00
Stenzek
0a75e71672
DolphinNoGUI: Add a FBDev platform
...
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
Stenzek
43fe02ee9b
GLContext: Get size using eglQuerySurface()
...
Also no longer assumes that a nullptr display is not headless (needed for fbdev)
2019-09-01 13:35:11 +10:00
Silent
6bfa4fa643
LogWidget: Use FixedSizeQueue for a log messages buffer
...
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
2019-08-31 21:18:07 +02:00
Silent
b3969e91d9
FixedSizeQueue: Bugfixes and improvements
...
- Fixed a bug where pushing items over queue's size left it in a corrupted state
- For non-trivial types, have clear() and pop() run destructors
- Added emplace(args...)
- Added empty()
FixedSizeQueue has semantics of a circular buffer,
so pushing items continuously is expected to keep overwriting oldest elements gracefully.
Tests have been updated to verify correctness of a previously bugged behaviour
and to verify correctness of destructing non-trivial types
2019-08-31 21:18:07 +02:00
Silent
b088fc37d5
LogWidget: Do not use QueueOnObject to construct log queue,
...
instead store a std::string constructed from string_view and convert to QString just before appending
2019-08-31 11:59:09 +02:00
Silent
e746d95d01
LogWidget: Stop update timer when log window is invisible so it doesn't continuously update in the background
2019-08-31 11:57:27 +02:00
Silent
7cec8601f1
LogWidget: Remove scrollbar tampering code (doesn't seem to do anything), clear text queue on clearing log
2019-08-31 11:57:07 +02:00
Silent
eb7d42dfe8
LogWidget: Replace QTextEdit with QPlainTextEdit for better performance
...
QTextEdit is heavy, similar in functionality to WordPad,
while QPlainTextEdit is lightweight like Notepad.
Qt documentation recommends using QPlainTextEdit for log viewers,
and it also allows to set automatic cutoff of oldest messages beyond a fixed point,
which we now set to MAX_LOG_LINES (5000)
2019-08-31 10:46:04 +02:00
Silent
eab086b880
ConsoleListenerWin: Properly output console logging in UTF-16 so UTF-8 displays properly
2019-08-31 00:44:44 +02:00
booto
c268aa3a46
SI: Reduce logging.
2019-08-28 22:16:41 -04:00
Silent
37ef5a54c9
Core: Use move semantics for Renderer::SaveScreenshot
2019-08-28 19:52:35 +02:00
Silent
ff8f978eaf
Core: Generate screenshot name with timestamps instead of only increasing numbers
2019-08-28 19:52:35 +02:00
meta
9e3b867c6a
VideoInterface: start counting half-lines at 0 instead of 1
...
- Re-organize VideoInterface::Update() to count half-lines starting at 0 instead of 1
- Use horizontal position when checking if we should assert some display interrupt
- Add some more descriptive comments
2019-08-26 20:43:26 -05:00
Techjar
a3d8a8be06
NetPlay: Remove 'reduce polling rate' option
...
With the SI poll line count fixed, pretty much all games are polling
twice per frame anyways, making this option superfluous. Since it's a
bit of a gross hack and makes DTMs incompatible with console, let's
just bin it.
2019-08-26 02:11:49 -04:00
JosJuice
87c5e0b30e
VolumeVerifier: Add Redump.org downloading
2019-08-25 12:53:19 +02:00
JosJuice
3eb360b818
VolumeVerifier: Add zip support for datfile
2019-08-24 16:37:19 +02:00
JosJuice
22933d8502
VolumeVerifier: Add datfile parsing
2019-08-24 16:37:19 +02:00
Connor McLaughlin
88522b7a26
Merge pull request #8327 from JosJuice/more-string-view-regression
...
DolphinQt: Fix whitelisting USB devices
2019-08-23 21:32:13 +10:00
JosJuice
c1a0a8f84a
DolphinQt: Fix whitelisting USB devices
...
Revert of https://github.com/dolphin-emu/dolphin/pull/8233#discussion_r306223322
2019-08-23 13:22:33 +02:00
Admiral H. Curtiss
5614594f5e
Qt/GCMemcardManager: Add an 'All Files' option to the filetype selection.
2019-08-22 20:18:21 +02:00
Lioncash
f414d926c1
ActionReplay: Make use of fmt where applicable
...
Converts the ActionReplay logging over to using fmt instead of
StringFromFormat.
2019-08-21 17:59:33 -04:00
JosJuice
f79ca65170
UICommon: Remove Android hacks from GameFile
2019-08-21 18:48:52 +02:00
Anthony
2a95227f64
Merge pull request #8255 from JosJuice/remove-unsigned-warning
...
Remove "not signed by Nintendo" warning when installing WADs
2019-08-21 09:38:35 -07:00
Anthony
5f38386575
Merge pull request #8222 from JosJuice/allow-mismatched-region-settings
...
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
2019-08-21 09:00:06 -07:00
Anthony
bf9427fafe
Merge pull request #8314 from JosJuice/menubar-movie-more
...
DolphinQt: Fix the enabling/disabling of Movie items even more
2019-08-21 08:58:24 -07:00
Anthony
35eb63de2c
Merge pull request #8300 from AdmiralCurtiss/gcmemcard-construction
...
GCMemcard: Rework construction logic.
2019-08-21 08:56:31 -07:00
Anthony
288dd649da
Merge pull request #8273 from CookiePLMonster/config-threading-fixes
...
Threading fixes for config layers
2019-08-21 08:55:03 -07:00
Tilka
bbae0424a1
Merge pull request #8319 from Tilka/mcrfs
...
Jit64: fix mcrfs
2019-08-20 21:28:52 +01:00
Silent
df0ff7f3bb
Enable adapter combo on emulation state change only if adapters are supported by current backend
2019-08-20 20:08:14 +02:00
Connor McLaughlin
674a66aab2
Merge pull request #8312 from JosJuice/btreal-bitwise-enum
...
BTReal.cpp: Don't use bitwise operators on enum values
2019-08-20 12:24:57 +10:00
Connor McLaughlin
82fe8f61b6
Merge pull request #8308 from CookiePLMonster/cmdline-headless
...
Make --batch run Dolphin headless
2019-08-20 12:22:50 +10:00
Connor McLaughlin
6efab4e3c6
Merge pull request #8280 from CookiePLMonster/alert-msg-box-modality-fix
...
Make alert messages application modal and not window modal
2019-08-20 10:58:57 +10:00
Silent
fe8c9dfa14
WinUpdater: Properly initialize COM on window thread and release ITaskbarList3 on exit
2019-08-19 22:37:48 +02:00
Silent
23f335ba91
Core/CPU: Make use of type deduction for scoped locks
2019-08-18 17:39:27 +02:00
Silent
2bc9e09456
Core/CPU: Do not yield to UI from CPU methods
...
Core::RunAsCPUThread may be called from Qt signals, and if code yields to UI there
then it results in infinite recursion
2019-08-18 17:39:26 +02:00
Tillmann Karras
ee85ec95b4
Jit64: fix mcrfs
...
It was deleting the wrong bits. This fixes issue 10074 (Super Monkey
Ball 2 minigame). I introduced this regression in
0f2c656687
.
2019-08-18 03:49:32 +01:00
Silent
12ac784a41
Fix "Muted%" OSD message when muting sounds via a hotkey
2019-08-17 12:17:09 +02:00
Admiral H. Curtiss
7b9d43a834
Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards.
2019-08-15 18:21:48 +02:00
Admiral H. Curtiss
ba8ffd9391
GCMemcard: Check if the Directory's number-of-blocks claim for files matches the BAT, and report an error if it doesn't.
2019-08-15 18:21:48 +02:00
Admiral H. Curtiss
7d4cabea07
GCMemcard: The update counters are interpreted as signed values for the newer-than comparison.
2019-08-15 18:21:47 +02:00
Admiral H. Curtiss
8fc2f0ff2d
GCMemcard: Rename MemCardXMb constants to MBIT_SIZE_MEMORY_CARD_X for consistency with other constants.
2019-08-15 18:21:45 +02:00
Admiral H. Curtiss
b54a49eaaf
GCMemcard: Rework construction logic to better match our knowledge of the format, while providing better error reporting facilities.
2019-08-15 18:18:56 +02:00
QuellaZhang
e67eb4693e
Fix implicit false-to-nullptr conversions
2019-08-15 17:49:57 +02:00
JosJuice
a66ca85dd5
DolphinQt: Fix the enabling/disabling of Movie items even more
...
Play can only be used when a game is selected and emulation is not
running. Start can be used when a game is selected (to start from
cold boot) or when emulation is running (to start from a savestate).
https://bugs.dolphin-emu.org/issues/11826
2019-08-14 13:45:07 +02:00
Connor McLaughlin
181d79228a
Merge pull request #8275 from bdr99/netplay-player-log
...
NetPlay: Show a message in chat when a player joins or leaves
2019-08-14 11:23:18 +10:00
Brandon Rothweiler
8857db9833
Check validity of iterator before dereferencing
2019-08-13 18:00:12 -07:00
JosJuice
f3dac2c041
BTReal.cpp: Don't use bitwise operators on enum values
...
https://bugs.dolphin-emu.org/issues/11692#note-11
2019-08-13 23:58:18 +02:00
Silent
b6df0bff93
Make --batch run Dolphin in headless mode, provided --exec is also passed
2019-08-11 20:58:04 +02:00
Silent
80e8037e0b
Truly use emplace_back in CommandLineConfigLayerLoader constructor
2019-08-11 20:43:18 +02:00
JosJuice
9cc719db02
Fix TitleDatabase
...
a2a1e04
regression.
2019-08-09 18:20:45 +02:00
JosJuice
393709a45a
Also override the SYSCONF country setting
...
Fixes https://bugs.dolphin-emu.org/issues/10066
2019-08-09 17:33:05 +02:00
JosJuice
561a4cfcce
Replace "Override Language on NTSC Games" with "Allow Mismatched Region Settings"
...
This new setting is like Override Language on NTSC Games, except
instead of only applying to the GameCube language setting,
it also applies to the Wii language setting.
Fixes https://bugs.dolphin-emu.org/issues/11299
2019-08-09 17:33:05 +02:00
Connor McLaughlin
b88e5610ab
Merge pull request #8204 from JosJuice/volumeverifier-underdump-wbfs
...
VolumeVerifier: Show underdump warnings for WBFS/CISO too
2019-08-10 01:24:15 +10:00
Connor McLaughlin
428ae5a43d
Merge pull request #8172 from nokturnusmf/relative-input-hold
...
Added (held) key for relative input
2019-08-10 00:37:53 +10:00
JosJuice
8c8bab3657
VolumeVerifier: Show underdump warnings for WBFS/CISO too
2019-08-09 16:13:50 +02:00
Connor McLaughlin
5c3e9a34c3
Merge pull request #8226 from lioncash/fmt-core
...
Core/Core: Use fmt where applicable
2019-08-09 23:43:39 +10:00
Connor McLaughlin
8be5ee9fe2
Merge pull request #8277 from lioncash/code
...
DolphinQt/Config/ARCodeWidget: Avoid unnecessary disk operations
2019-08-09 23:42:55 +10:00
Connor McLaughlin
48ca2c6f2e
Merge pull request #8233 from JosJuice/stringutil-string-view
...
StringUtil: Use std::string_view more
2019-08-09 23:39:01 +10:00
Connor McLaughlin
0ab7e2eed7
Merge pull request #8223 from JosJuice/titledatabase-unknown-language
...
TitleDatabase: Don't crash on unknown language
2019-08-09 23:35:53 +10:00
Connor McLaughlin
f64f4a08c8
Merge pull request #8290 from lioncash/const-fn
...
UICommon/NetPlayIndex: Minor interface cleanup
2019-08-09 23:05:48 +10:00
Connor McLaughlin
ec1fe41eb2
Merge pull request #8298 from CookiePLMonster/win-updater-hide-fix
...
WinUpdater: Properly hide window on startup as intended
2019-08-09 23:04:53 +10:00
JosJuice
cd02ca17ce
VolumeVerifier: Allocate QProgressDialog on stack
...
No reason to have it on the heap.
This also lets us skip calling reset, since the dialog closes
when the QProgressDialog object goes out of scope.
2019-08-09 14:47:15 +02:00
Connor McLaughlin
e87a3f91a9
Merge pull request #8303 from JosJuice/volumeverifier-very-small
...
Fix problems with running VolumeVerifier on very small disc images
2019-08-09 22:16:33 +10:00
Connor McLaughlin
2df522d4eb
Merge pull request #8299 from JosJuice/volumeverifier-performance
...
VolumeVerifier: Performance improvements
2019-08-09 22:10:09 +10:00
Connor McLaughlin
22ed2c0e0c
Merge pull request #8269 from lioncash/osd-move
...
VideoCommon/OnScreenDisplay: Minor cleanup
2019-08-08 12:38:44 +10:00
Connor McLaughlin
e5a4a86f59
Merge pull request #8297 from Miksel12/bugreport-qt
...
DolphinQt: Add bug tracker button
2019-08-08 12:27:05 +10:00
Connor McLaughlin
1bd8f03362
Merge pull request #8271 from lioncash/qstring
...
DolphinQt: Replace unnecessary QStringLiterals with alternatives where applicable
2019-08-08 12:25:30 +10:00
Connor McLaughlin
1092efa77a
Merge pull request #8276 from stenzek/adreno-efb-access
...
Fix CPU EFB access on Adreno with Vulkan backend
2019-08-08 12:23:27 +10:00
Connor McLaughlin
9477c8b0ed
Merge pull request #8293 from lioncash/ref
...
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
2019-08-08 12:17:26 +10:00
JosJuice
107291dc5a
Fix problems with running VolumeVerifier on very small disc images
2019-08-07 19:48:10 +02:00
Silent
8e79705854
WinUpdater: Wait in UI::Init until window is done creating to avoid losing UI::SetVisible signals
2019-08-06 19:24:38 +02:00
JosJuice
34fb608dd6
VolumeVerifier: Multithreading
2019-08-06 16:42:59 +02:00
JosJuice
f754a1a548
VolumeVerifier: Don't read data multiple times
2019-08-06 16:32:01 +02:00
Silent
f70efbb963
WinUpdater: Create updater window as hidden by default
...
UpdaterCommon attempts to hide updater window directly after creating,
so creating it hidden avoids the window from showing for a split second
2019-08-05 21:47:05 +02:00
Pokechu22
7c892c0c6e
Use valid IR calibration data
...
Previously, IR calibration data with an invalid checksum was used, because the calibration produced a strange offset. I've replaced it with calibration data that encodes the same values as the data Nintendo falls back to when the checksum is bad.
2019-08-05 10:39:32 -07:00
Mike Kuijl
03b20c702d
DolphinQt: Add bug tracker button
2019-08-05 18:45:14 +02:00
Connor McLaughlin
24718c1a38
Merge pull request #8294 from lioncash/render-const
...
VideoCommon/RenderBase: Make functions const where applicable
2019-08-05 16:25:21 +10:00
Lioncash
07aa18eb2b
VideoCommon/TextureCacheBase: Collapse for loop into a fill() in Invalidate()
...
Same thing, less code.
2019-08-04 23:30:27 -04:00
Lioncash
d52dd2e04f
VideoCommon/TextureCacheBase: Use emplace_back where applicable
...
Same thing, less code.
2019-08-04 23:28:14 -04:00
Lioncash
fd12ae1408
VideoCommon/TextureCacheBase: Remove use of the texture cache global
...
We can just call the functions that are part of the interface instead of
using the global in order to execute those functions.
2019-08-04 23:23:04 -04:00
Lioncash
7366b4281f
VideoCommon/RenderBase: Remove dependency on renderer global within renderer
...
There's no need to have a dependency when we can simply call the
function itself as part of the instance itself.
2019-08-04 23:01:19 -04:00
Lioncash
cfdfbbff38
VideoCommon/RenderBase: Use structured bindings where applicable
...
Same behavior, but immediately assigns to variables, allowing them to be
const.
2019-08-04 22:59:07 -04:00
Lioncash
dd5b8895fe
VideoCommon/RenderBase: Make functions const where applicable
2019-08-04 22:52:00 -04:00
Lioncash
86a651e27f
VideoCommon/TextureCacheBase: Remove dependence on global variables from OnConfigChanged()
...
The active config will always be passed as the reference parameter, we
can make use of the parameter instead of accessing the global variable.
2019-08-04 22:33:18 -04:00
Lioncash
7d017be666
VideoCommon/TextureCacheBase: Make OnConfigChanged's parameter a const reference
...
This reference isn't actually modified within this function
2019-08-04 22:31:27 -04:00
Lioncash
8285a94d93
UICommon/NetPlayIndex: Take std::vector by const reference in ParseResponse()
...
This variable isn't std::moved anywhere and is just read out of into a
string. Instead of making a copy, and then another copy of the data into
a std::string, we can take it by reference, only copying the data once.
2019-08-04 12:36:52 -04:00
Lioncash
75f3656804
UICommon/NetPlayIndex: Use a std::string_view for EncryptID()/DecryptID()
...
These parameters only acted as views into the provided strings, so these
can just be turned into non-owning string views.
2019-08-04 12:32:33 -04:00
Lioncash
2830fe820d
UICommon/NetPlayIndex: Take NetPlaySession by const reference for Add()
...
This isn't std::moved wholesale into a member variable or further
std::moved into another function, so it's better to take it by const
reference here to avoid unnecessary reallocations of contained
std::string instances.
2019-08-04 12:29:17 -04:00
Lioncash
0a67a40e7c
UICommon/NetPlayIndex: Move NetPlaySession variable closer to its usage point in List()
...
Moves it closer to where its used, narrowing its visible scope, as well
as preventing unnecessary std::string constructor executions in the
event invalid data is encountered (the continue branch).
2019-08-04 12:24:04 -04:00
Lioncash
13292563ee
UICommon/NetPlayIndex: Use std::move within SetErrorCallback()
...
std::function is allowed to heap allocate in order to store captured
variables, etc, so std::function isn't a trivial type. We can std::move
here in order to avoid potential reallocating.
While we're at it, make the definition's parameter name match the
declaration's parameter name for consistency.
2019-08-04 12:21:02 -04:00
Lioncash
5220922a22
UICommon/NetPlayIndex: Allow move semantics in SetGame()
...
If the parameter is const, then a move won't actually be able to occur,
making the std::move non-functional. We can remove the const qualifier
to remedy this.
2019-08-04 12:16:19 -04:00
Miksel12
9395d7ea08
DolphinQt: Reorder nunchuk mapping
2019-08-04 14:02:43 +02:00
Connor McLaughlin
d3151d8808
Merge pull request #8278 from Miksel12/qt-changes
...
DolphinQt: Limit numeric widget width
2019-08-04 20:28:17 +10:00
Connor McLaughlin
7de6b57c13
Merge pull request #8284 from stenzek/logic-op-hack
...
RenderState: Approximate logic op with blending if unsupported
2019-08-04 14:39:38 +10:00
Connor McLaughlin
c829351c90
Merge pull request #8286 from stenzek/efb-savestate-fixes
...
FramebufferManager: Fix restoring of EFB depth buffer / upside-down in OpenGL
2019-08-04 14:07:18 +10:00
Stenzek
f6f9dc0cac
RenderState: Approximate logic op with blending if unsupported
...
This is a giant hack which was previously removed because it causes
broken rendering. However, it seems that some devices still do not
support logical operations (looking at you, Adreno/Mali). Therefore, for
a handful of cases where the hack actually makes things slightly better,
we can use it.
... but not without spamming the log with warnings. With my warning
message PR, we can inform the users before emulation starts anyway.
2019-08-04 14:06:08 +10:00
Connor McLaughlin
4ccb4ef74f
Merge pull request #8283 from stenzek/d3d11-null-render-target
...
D3D11: Only use integer RTV when logic op is supported+enabled
2019-08-04 13:14:35 +10:00
JosJuice
64c0ff576c
Merge pull request #8285 from lioncash/dinput-ffe
...
InputCommon/DInputJoystick: Correct force-feedback flag testing
2019-08-03 10:09:31 +02:00
JosJuice
2770707587
Merge pull request #8287 from lioncash/static-ctor
...
DiscIO/Volume: Make Partition's interface constexpr
2019-08-03 10:07:53 +02:00
Lioncash
db3b31c246
DiscIO/Volume: Make Partition's interface constexpr
...
PARTITION_NONE technically has a runtime static constructor otherwise.
This allows compile-time instances of Partition to be created without
the use of a static constructor.
2019-08-02 18:25:09 -04:00
Mike Kuijl
cbfc442e90
DolphinQt: Limit numeric widget width
2019-08-02 18:20:37 +02:00
Stenzek
d6460e0b18
FramebufferShaderGen: Fix upside-down EFB being restored in OpenGL
2019-08-03 01:48:57 +10:00
Stenzek
25b3e5e029
FramebufferManager: Fix restoring of EFB depth buffer
...
Correct state wasn't being set.
2019-08-03 01:46:54 +10:00
Connor McLaughlin
7afba6776f
Merge pull request #8279 from spycrab/fix_save_state_wait
...
Fix saving states freezing up emulation
2019-08-03 01:26:07 +10:00
Lioncash
37d643c7d3
InputCommon/DInputJoystick: Correct force-feedback flag testing
...
Introduced in a995e2f5ba
We need to be performing a bitwise AND on the flags and not a logical
AND, otherwise we could end up counting device objects that don't
support forced feedback.
2019-08-02 10:26:44 -04:00
Stenzek
d78a9356d2
D3D11: Only use integer RTV when logic op is supported+enabled
2019-08-02 18:47:19 +10:00
JMC47
b01cacb27e
Merge pull request #8236 from booto/si_greatest_hits_vol_1
...
SI: Minor bugfixes
2019-08-02 03:17:54 -04:00
Silent
3fe8ef4c1c
Make alert messages application modal and not window modal,
...
so assertions cannot be interrupted by terminating the application
2019-08-01 22:27:36 +02:00
Silent
48a4b62125
Change Layer code not to create superfluous std::optional entries in LayerMap
2019-08-01 22:22:05 +02:00
spycrab
04764f8b7f
Fix saving states freezing up emulation
...
Only for about half a second but noticeable nonetheless
2019-08-01 21:33:12 +02:00
Lioncash
ff8f627499
DolphinQt/Config/GeckoCodeWidget: Use forward declarations where applicable
...
Avoids propagating headers into scopes where they're not needed.
2019-07-31 09:54:54 -04:00
Lioncash
14263ec6dd
DolphinQt/Config/GeckoCodeWidget: Call LoadDefaultGameIni() directly
...
This is a static class function, so we don't need to go through the
SConfig instance in order to call it.
2019-07-31 09:54:54 -04:00
Lioncash
6002529ece
DolphinQt/Config/GeckoCodeWidget: Make exec() outcomes explicit
...
Makes it a little more explicit which dialog outcomes we're expecting.
While we're at it, we can invert them into guard clauses to unindent
code a little bit.
2019-07-31 09:54:54 -04:00
Lioncash
255d2ff2d2
DolphinQt/Config/GeckoCodeWidget: Deduplicate ini path
...
We can store this to a local variable to avoid duplicating the same
string creation twice.
2019-07-31 09:54:53 -04:00
Lioncash
a07d19a2fd
DolphinQt/Config/ARCodeWidget: Use forward declarations where applicable
...
Avoids propagating headers into scopes where they're not necessary.
Also uncovered reliance on an indirect inclusion within
CheatsManager.cpp, which is now fixed.
2019-07-31 09:48:45 -04:00
Lioncash
e08a76f9e2
DolphinQt/Config/ARCodeWidget: Call LoadDefaultGameIni() directly
...
This is a static function, so we don't need to go through the instance
of SConfig in order to call it.
2019-07-31 09:08:31 -04:00
Lioncash
4d8d2acae7
DolphinQt/Config/ARCodeWidget: Avoid unnecessary disk operations
...
If a user indicates that they want to clone and edit an AR code, then
click cancel on the following dialog, we shouldn't actually clone the
code.
We also shouldn't resave the codes if the edit dialog is opened and then
closed again via cancel, as there's nothing that actually changed. This
way we don't perform disk accesses unless they're actually necessary.
2019-07-31 09:01:38 -04:00
Lioncash
0d406f2bdc
DolphinQt/Config/ARCodeWidget: Deduplicate ini path
...
We can just store this to a const local and use it to avoid doing the
same work twice.
2019-07-31 08:36:00 -04:00
Stenzek
06daf58032
FramebufferManager: Correctly handle read back D24S8 textures
...
Needed for the Adreno/Vulkan workaround, and if we ever switch to a D24
texture for the depth buffer w/ unrestricted depth range.
2019-07-31 15:33:28 +10:00
Stenzek
2698e311aa
Vulkan: Use correct aspect for D24S8 textures
2019-07-31 15:33:05 +10:00
Brandon Rothweiler
fdfa14d9cc
Show a message in netplay chat when a player joins or leaves
2019-07-30 20:14:51 -07:00
Lioncash
6e14dcf70a
DolphinQt/Config/GameConfigEdit: Pass parent pointer to base class
...
Previously, the constructor of GameConfigEdit wasn't doing anything with
the passed in parent pointer. This is dangerous because it can result in
memory being leaked in certain scenarios. It can also affect layout
decisions made by the parent. Instead, pass it through to the base class.
Current usages of the class pass in nullptr as the parent, so this is a
safe change to make with regards to the class hierarchy.
While we're at it, we can std::move the passed in QString into the class
member, allowing calling code to move strings into the constructor,
avoiding copies.
2019-07-30 19:17:25 -04:00
Silent
cb4eecde52
Fix race conditions in Config Layers
...
API has been made stricter, layers are now managed with shared pointers,
so using them temporarily increased their reference counters.
Additionally, any s_layers map has been guarded by a read/write lock,
as concurrent write/reads to it were possible.
2019-07-30 22:10:17 +02:00
Lioncash
fef1b84f0a
DolphinQt: Replace QStringLiteral with alternatives where applicable
...
QStringLiterals generate a buffer so that during runtime there's very
little cost to constructing a QString. However, this also means that
duplicated strings cannot be optimized out into a single entry that gets
referenced everywhere, taking up space in the binary.
Rather than use QStringLiteral(""), we can just use QString{} (the
default constructor) to signify the empty string. This gets rid of an
unnecessary string buffer from being created, saving a tiny bit of
space.
While we're at it, we can just use the character overloads of particular
functions when they're available instead of using a QString overload.
The characters in this case are Latin-1 to begin with, so we can just
specify the characters as QLatin1Char instances to use those overloads.
These will automatically convert to QChar if needed, so this is safe.
2019-07-30 09:06:03 -04:00
Connor McLaughlin
dea2b9c509
Merge pull request #8258 from CookiePLMonster/dx11.1-detection-fixes
...
D3D11 resources refactor and DX11.1 feature detection fixes
2019-07-30 01:24:57 +10:00
Silent
baa9636d48
D3D11: Add extra logging to StateCache::Get
2019-07-29 16:48:24 +02:00
Silent
43bfb183c2
D3D11: Show a warning message about unsupported features when switching to D3D11 backend on Windows 7
2019-07-29 16:47:45 +02:00
Silent
ff00873610
D3D11: Query for output merger logic op support and use logic op code only if supported
...
Previously code assumed that if DX11.1 runtime is supported, logic ops will,
but Windows 7 SP1 with a Platform Update supports DX11.1 runtime without logic ops.
This created pretty jarring visual artifacts, which now should be gone OR replaced
with much less jarring errors.
2019-07-29 16:47:39 +02:00
Silent
a6b8e8b9c3
D3D11: Ownership fixes for objects in DXTexture
2019-07-29 16:43:02 +02:00
Silent
77425ef83b
D3D11: Ownership fixes for objects in D3DState
2019-07-29 16:39:21 +02:00
Silent
88db577c17
D3D11: Correctly poll ALL possible AA levels.
2019-07-29 16:39:06 +02:00
Lioncash
c93fffaed6
DolphinQt/HotkeyScheduler: Correct string within Run()
...
AddMessage() by itself doesn't perform string formatting facilities, so
this message was actually using the EFB scale as a duration value, not a
format argument. This corrects that.
2019-07-28 23:16:23 -04:00
Lioncash
3f947f086f
VideoCommon/OnScreenDisplay: Use deduction guides for std::lock_guard
...
Same behavior without hardcoding the type of the mutex within the lock
guards. This means the type of the mutex would be able to be changed
without needing to also change all occurrences lock guards are used.
2019-07-28 23:08:21 -04:00
Lioncash
a565e41cb8
VideoCommon/OnScreenDisplay: Remove unused headers
...
While we're at it, fix up the imgui include to use the convention we use
for referencing external library headers.
2019-07-28 23:04:52 -04:00
Lioncash
c212310fbe
VideoCommon/OnScreenDisplay: Take Message's std::string parameter by value
...
Allows callers to std::move strings into the functions (or automatically
assume the move constructor/move assignment operator for rvalue
references, potentially avoiding copies altogether.
2019-07-28 23:00:58 -04:00
Lioncash
50b240fcbd
VideoCommon/OnScreenDisplay: Default initialize all Message members
...
Provides a deterministic initial state in the case of the default
constructor.
2019-07-28 22:42:45 -04:00
Connor McLaughlin
b0113b6c64
Merge pull request #8266 from lioncash/shadowing
...
D3DCommon/Shader: Use std::optional where applicable
2019-07-28 14:24:32 +10:00
Connor McLaughlin
5bad233b1a
Merge pull request #8265 from lioncash/view
...
OGL/ProgramShaderCache: Use std::string_view where applicable
2019-07-28 14:21:59 +10:00
Lioncash
6db305a4e8
VideoBackends/Null: Add missing override specifiers
...
Applies a missing override specifier to VertexManager's destructor.
2019-07-27 17:33:18 -04:00
Lioncash
23c5b362a5
VideoBackends/Null: Apply final to classes where applicable
...
These aren't intended to be further specialized, so we can make this
obvious with final.
2019-07-27 17:33:18 -04:00
Lioncash
86000fc6b4
VideoBackends/Null: Remove unnecessary constructors and destructors
...
Removes constructors and destructors that don't actually provide any
behavior (i.e. doesn't constain generated code related to non-trivial
members in a cpp file, etc).
Lessens the amount of code present.
2019-07-27 17:33:18 -04:00
Lioncash
bdcc5853d5
VideoBackends/Null: Remove unnecessary includes
2019-07-27 17:33:16 -04:00
Lioncash
aca02f9734
D3DCommon/Shader: Use std::optional with CompileShader()
...
Allows removing the use of an out parameter, making it nicer to use.
2019-07-26 20:06:14 -04:00
Lioncash
0ce6264f90
D3DCommon/Shader: Create vector via iterators in CreateByteCode()
...
Same behavior, but without unnecessary zeroing of data contents.
Instead, we supply the dataset to use directly.
2019-07-26 19:45:33 -04:00
Lioncash
287b446ef7
D3D/DXShader: Remove duplicate GetByteCode function
...
This is already provided in the base class, which performs the same
exact behavior. Given the function in the base class isn't virtual, this
also essentially resolves an instance of shadowing.
2019-07-26 19:45:23 -04:00
Lioncash
67bd2de73e
OGL/ProgramShaderCache: Convert typedef over to a using alias
...
Same thing, but nicer to read from left to right.
2019-07-26 18:43:44 -04:00
Lioncash
d6617d399f
OGL/ProgramShaderCache: Use std::lock_guard deduction guides where applicable
...
Same thing, less reading.
2019-07-26 18:22:55 -04:00
Lioncash
6e69e3cf26
OGL/ProgramShaderCache: Remove unused headers
...
Removes a few inclusions that aren't necessary, reducing the number of
header dependencies.
2019-07-26 18:09:44 -04:00
Lioncash
fb384dec55
OGL/ProgramShaderCache: Use std::string_view where applicable
2019-07-26 18:02:00 -04:00
Silent
890f781cd0
Factorize software renderer backend switching warning to be fetched from a new GetWarningMessage in video backend - will be needed for DX11.1 feature set warnings
2019-07-26 19:39:07 +02:00
Silent
799c52463e
Fixes for WRL usage - QueryInterface is explicitly mentioned as not to be used with WRL ComPtr
2019-07-26 19:38:58 +02:00
Connor McLaughlin
d48dabc1fd
Merge pull request #8259 from stenzek/macos-disable-reversed-depth
...
Vulkan: Disable reversed viewport depth on macOS/MoltenVK
2019-07-25 14:11:09 +10:00
Connor McLaughlin
a8bbbd0bfc
Merge pull request #8262 from Tilka/gdbstub
...
Fix GDB stub build
2019-07-25 13:54:02 +10:00
Connor McLaughlin
ac9912bad3
Merge pull request #6321 from stenzek/efb-savestates
...
Support saving EFB and texture cache in save states
2019-07-25 13:50:57 +10:00
Silent
3529dfd691
Connect numerous QPushButtons to use clicked signal instead of pressed. This unifies UI behaviour more.
2019-07-24 00:18:58 +02:00
Stenzek
53e30c06e8
Config: Add an option to skip saving texture cache to save state
2019-07-24 05:19:22 +10:00
Stenzek
63358adfb1
Core: Save movie state before video backend state
...
Fixes the old frame number/inputs being displayed after loading state.
2019-07-24 05:19:22 +10:00
Stenzek
560074cf9f
Core: Fix crash when state is loaded while waiting for the CPU
2019-07-24 05:19:22 +10:00
Stenzek
137009affe
FramebufferManager: Support saving EFB to save state
2019-07-24 05:19:22 +10:00
Stenzek
1082468133
TextureCache: Support saving cache entries, including EFB copies
2019-07-24 04:10:38 +10:00
Stenzek
b26bb0605b
VideoBackendBase: Do save state logic on the GPU thread
2019-07-24 04:08:25 +10:00
Stenzek
a25a4e0708
State: Use RunOnCPUThread to invoke save state handlers
...
This ensures that the emulated state is only touched by the CPU thread
2019-07-24 04:08:25 +10:00