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
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
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
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
Stenzek
df45e714a3
Core: Support asynchronously executing functions on the CPU thread
...
The CPU thread will be interrupted to execute the callback, and then
restored to its old state after execution completes.
2019-07-24 04:08:19 +10:00
JosJuice
117a60ceb2
StringUtil: Comply with variable naming style
2019-07-23 14:49:13 +02:00
JosJuice
a2a1e04fc9
StringUtil: Use std::string_view more
2019-07-23 14:49:12 +02:00
Léo Lam
29ba53f6c3
Merge pull request #8256 from JosJuice/setrunninggamemetadata-channel-disc
...
Never set disc as active title when launching channel with same ID
2019-07-23 09:47:55 +08:00
Léo Lam
c8c1a0d747
Merge pull request #8253 from JosJuice/fakesigned-common-key-fix
...
Re-implement FixCommonKeyIndex for WAD files
2019-07-23 09:41:46 +08:00
Connor McLaughlin
8f6b237e11
Merge pull request #8217 from CookiePLMonster/windows-updater-improvements
...
Updates to auto-updater on Windows
2019-07-23 10:39:04 +10:00
Anthony
66e7a11139
Merge pull request #8235 from lioncash/move
...
Common/DebugInterface: Minor cleanup changes
2019-07-22 15:07:14 -07:00
Anthony
136264d340
Merge pull request #8245 from JosJuice/volumeverifier-wii-menu-region
...
Fix VolumeVerifier considering Wii Menu WADs to have wrong region
2019-07-22 15:06:07 -07:00
JosJuice
8bb333d811
ConfigManager: Include "Common/Common.h" for _trans macro
...
Aims to fix https://github.com/dolphin-emu/dolphin/pull/8232#issuecomment-513913625
2019-07-22 22:23:46 +02:00
Silent
baab660f1c
WinUpdater: Removed MAX_PATH limitation on path to updater, also fixed a wrong size parameter
2019-07-22 19:46:25 +02:00
Silent
94a19ca670
Qt/Updater: Fixed an assert on m_parent->close() (was called from a wrong thread)
2019-07-22 19:30:02 +02:00
Silent
4b03790eda
Core: Fixup AutoUpdateChecker::TriggerUpdate on Windows:
...
- Properly close handles if Updater.exe process spawns successfully
- Fix STARTUPINFO sizeof typo
2019-07-22 19:29:50 +02:00
Silent
a00dfeecf0
WinUpdater: Properly account for failure in WaitForPID
2019-07-22 19:29:22 +02:00
Silent
d355abaf0c
WinUpdater: Improved exit synchronization on Windows - now joins a thread instead of using flags to signal
2019-07-22 19:28:20 +02:00
Silent
3f1ba830e7
UpdaterCommon: Remove manual UI::Stop() calls in favour of a scope guard to ensure it's called on all return paths
2019-07-22 19:16:22 +02:00
Silent
2ae409ba06
WinUpdater: Replaced PeekMessage with GetMessage - removes a busy loop in favour of a proper wait based message queue
2019-07-22 19:16:14 +02:00
Léo Lam
15679a9a70
Merge pull request #8227 from lioncash/gekko
...
Common/GekkoDisassembler: Don't print out '\0' as a character
2019-07-22 21:39:49 +08:00
Léo Lam
60aea524b1
Merge pull request #8232 from JosJuice/wasapi-translatable
...
Mark "WASAPI (Exclusive Mode)" as translatable
2019-07-22 21:38:39 +08:00
Léo Lam
71b2e1a997
Merge pull request #8225 from JosJuice/sd-hotkey
...
Add a hotkey for inserting/ejecting the SD card
2019-07-22 21:38:00 +08:00
JosJuice
73a9b4148b
Merge pull request #8257 from CookiePLMonster/assert-fixes
...
Fixes to assertions
2019-07-22 08:47:13 +02:00
Silent
518d96ad48
Remove duplicated "Ignore and countinue?"
2019-07-21 15:36:24 +02:00
JosJuice
f3b9d93737
TitleDatabase: Don't crash on unknown language
...
This only happens if the GC or Wii language is set to an
invalid value, but it's best to guard against it anyway.
2019-07-21 10:15:38 +02:00
JosJuice
4b73d18eaa
Re-implement FixCommonKeyIndex for WAD files
...
The old implementation of this was not able to distinguish between
a title that had the common key index set to 1 because it actually
was Korean and a title that had the common key index set to 1 due to
fakesigning. This new implementation solves the problem by
decrypting a content with each possible common key and checking
which result matches the provided SHA-1 hash.
The problem that the old implementation causes has only been reported
to affect a certain pirated WAD of Chronos Twins DX (WC6EUP), but it's
possible that the problem would start affecting more WADs if we add
support for the vWii common key (which uses index 2). Adding support
for the vWii common key would also prevent us from using the simpler
solution of always forcing the index to 0 if the title is not Korean.
2019-07-21 09:58:16 +02:00
JosJuice
2fda104d5a
Never set disc as active title when launching channel with same ID
...
https://bugs.dolphin-emu.org/issues/11804
2019-07-21 09:53:52 +02:00
JosJuice
4ee73dbad3
IOS: Put common key handles in an array
2019-07-21 09:37:06 +02:00
Léo Lam
da1fbbc5d5
Merge pull request #8243 from JosJuice/merge-wad-classes
...
DiscIO: Merge WiiWAD into VolumeWAD
2019-07-21 15:32:52 +08:00
Léo Lam
cd7a374ab9
Merge pull request #8246 from lioncash/fifo
...
Core/FifoAnalyzer: Tidy up interface
2019-07-21 15:17:43 +08:00
Léo Lam
1ed7cc260b
Merge pull request #8248 from lioncash/settings
...
Common/SettingsHandler: Use std::string_view where applicable
2019-07-21 15:13:27 +08:00
Stenzek
8b44a48383
Vulkan: Disable reversed viewport depth on macOS/MoltenVK
...
Apparently this is broken despite being allowed by the spec.
2019-07-21 13:27:35 +10:00
Silent
7045c68327
When clicking "Ignore for this session", make message box handler return true, so asserts can actually be skipped with this option
2019-07-20 21:04:27 +02:00
Silent
e792a67dc6
Improve thread safety and remove an unnecessary string allocation from MsgAlert
...
s_msg_handler still seems thread unsafe, not sure if it should be or not
2019-07-20 21:03:45 +02:00
Connor McLaughlin
fc8859a414
Merge pull request #8249 from lioncash/rect
...
VideoCommon: Remove unused MathUtil.h include from VideoCommon.h
2019-07-19 16:32:30 +10:00
Stenzek
97d81ac97c
FramebufferShaderGen: Fix format reinterpret shaders on GLES
2019-07-19 15:33:32 +10:00
Stenzek
6f53a4d0da
TextureCache: Don't crash when conversion pipelines fail to compile
2019-07-19 15:32:50 +10:00
JosJuice
34f32898e6
DiscIO: Merge WiiWAD into VolumeWAD
...
These two classes are very similar, so let's merge them.
2019-07-18 22:29:04 +02:00
JosJuice
0f5a4b37ee
DiscIO: Add functions CreateDisc and CreateWAD
...
...in addition to the existing function CreateVolume
(renamed from CreateVolumeFromFilename).
Lets code easily add constraints such as not letting the user
select a WAD file when using the disc changing functionality.
2019-07-18 22:29:04 +02:00
Stenzek
f269c4c798
EFB2Tex: Set alpha channel of Z24X8 copies to 1
...
Matches EFB2RAM.
2019-07-18 23:51:07 +10:00
Stenzek
68bd4cd79a
Vulkan: Use reversed depth range in viewport
...
Also adds a DriverDetails bug to disable on drivers where this is still
broken.
2019-07-18 23:43:12 +10:00
Connor McLaughlin
a77b571da7
Merge pull request #8250 from JosJuice/bitrate-setting
...
Add dumping bitrate setting to GUI and increase default value
2019-07-18 22:17:13 +10:00
JosJuice
199c565bf5
DolphinQt: Add the dumping bitrate setting to the graphics config
...
Fixes https://bugs.dolphin-emu.org/issues/10250
2019-07-18 12:20:21 +02:00
JosJuice
a6dcaed415
DolphinQt: Move frame dumping settings to new group box
2019-07-17 20:07:40 +02:00
JosJuice
f6a755e1ab
Change the default dumping bitrate from 2.5 Mbps to 25 Mbps
...
2.5 Mbps looks noticeably bad even at native resolution.
2019-07-17 19:55:37 +02:00
Lioncash
2b9389202e
VideoCommon: Remove unused MathUtil.h include from VideoCommon.h
...
This header doesn't actually make use of MathUtil.h within itself, so
this can be removed. Many other source files used VideoCommon.h as an
indirect include to include MathUtil.h, so these includes can also be
adjusted.
While we're at it, we can also migrate valid inclusions of VideoCommon.h
into cpp files where it can feasibly be done to minimize propagating it
via other headers.
2019-07-16 20:54:34 -04:00
Lioncash
13a454d603
Common/SettingsHandler: Use fmt for printing out the serial number
...
Same thing, less code.
2019-07-16 04:23:20 -04:00
Lioncash
af576839d8
Common/SettingsHandler: Use std::string_view where applicable
...
Allows passed in strings to be non-allocating.
2019-07-16 04:15:25 -04:00
Connor McLaughlin
9dd8f82e78
Merge pull request #8247 from lioncash/core-include
...
Core/HW/AddressSpace: Remove unnecessary inclusion of Core.h
2019-07-16 14:32:18 +10:00
Lioncash
2b00eefbef
DolphinQt/Debugger: Replace AddressSpace.h inclusions with a forward declaration
2019-07-15 23:20:26 -04:00
Lioncash
df0d4b6aea
Core/HW/AddressSpace: Remove unnecessary inclusion of Core.h
...
This is only included to satisfy the use of our type aliases. Given
that, we can just include CommonTypes.h, lessening dependencies on core
headers.
2019-07-15 23:13:55 -04:00
Lioncash
ac6d70b82b
Core/FifoAnalyzer: Use std::array where applicable
...
This lets us convert CalculateVertexElementSizes() from a function using
an out pointer into one that simply returns the array data as a return
value.
It also lets us dehardcode some values, as we can just query
std::array's size() member function instead.
2019-07-15 07:37:35 -04:00
Lioncash
73db402010
Core/FifoAnalyzer: Convert DecodeMode enum into an enum class
...
Makes the enumeration elements strongly typed.
2019-07-15 07:37:30 -04:00
JosJuice
1606528093
Merge pull request #8234 from JosJuice/version-in-title
...
Show Dolphin version in render window title
2019-07-15 13:05:08 +02:00
JosJuice
0b11f15158
Fix VolumeVerifier considering Wii Menu WADs to have wrong region
2019-07-15 12:42:13 +02:00
Lioncash
53779aa732
Core/FifoAnalyzer: Make functions internally linked where applicable
...
These functions are only used internally within FifoAnalyzer.cpp, so
they can be hidden from external use.
2019-07-14 20:37:21 -04:00
Stenzek
946571b759
TextureCache: Support reinterpreting formats for VRAM textures
2019-07-14 19:16:27 +10:00
Stenzek
77f406c8a8
TextureCache: Combine ApplyPaletteToEntry and ConvertTexture
2019-07-14 14:07:37 +10:00
Stenzek
dfae87d69a
TextureConversionShader: Swap bytes for RG8/GB8 format
...
Matches the software renderer.
2019-07-14 13:36:43 +10:00
Léo Lam
2f5e6cfff1
Merge pull request #8218 from leoetlino/context
...
Use separate libusb contexts to avoid thread safety issues
2019-07-11 17:28:19 +02:00