Commit Graph

40003 Commits

Author SHA1 Message Date
Admiral H. Curtiss
e16791f2ca
Merge pull request #11912 from iwubcode/asset_error_checking
VideoCommon: add additional error logs for asset loading and don't crash when asset no longer exists on reload
2023-06-09 13:39:59 +02:00
iwubcode
afa498fa2f VideoCommon: update DirectFilesystemAssetLibrary to not throw exceptions when a file no longer exists 2023-06-08 22:20:52 -05:00
iwubcode
429b2eca8a VideoCommon: add logging for loading texture assets 2023-06-08 19:48:45 -05:00
Admiral H. Curtiss
7845fb00ee
Merge pull request #11681 from iwubcode/asset_management
VideoCommon: migrate texture packs to use the asset loader system
2023-06-08 22:21:12 +02:00
JosJuice
f561bd4285
Merge pull request #11910 from lioncash/construct
PowerPC/ConditionRegister: Mark PPCToInternal() as constexpr
2023-06-08 21:26:07 +02:00
Admiral H. Curtiss
0d07ebab25
Merge pull request #11908 from lioncash/strcopy
Debugger: Remove some trivial string copies
2023-06-08 20:54:21 +02:00
Admiral H. Curtiss
e8c87dc4fd
Merge pull request #11902 from Minty-Meeo/regex-best-practices
static const std::regex
2023-06-08 20:52:11 +02:00
Admiral H. Curtiss
e3cae72c18
Merge pull request #11909 from lioncash/spans
GCMemcardUtils: Make use of std::span where applicable
2023-06-08 20:46:08 +02:00
Admiral H. Curtiss
f53b1216da
Merge pull request #11907 from lioncash/pragma
DolphinQt/InfinityBaseWindow: Minor changes
2023-06-08 20:44:32 +02:00
Admiral H. Curtiss
d9c33ad9b6
Merge pull request #11905 from Notexe/sms-goop-graphicsmod
Data: Add missing Super Mario Sunshine goop map texture to graphics mod
2023-06-08 20:41:07 +02:00
Lioncash
09271f365a PowerPC/ConditionRegister: Mark PPCToInternal() as constexpr
This allows the compiler to eliminate a static constructor that
initializes the table, and instead precompute all of the data ahead of
time.

e.g. We get something like so on GCC without constexpr:

_GLOBAL__sub_I_PowerPC::ConditionRegister::s_crTable:
        movdqa  xmm0, XMMWORD PTR .LC0[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip], xmm0
        movdqa  xmm0, XMMWORD PTR .LC1[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+16], xmm0
        movdqa  xmm0, XMMWORD PTR .LC2[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+32], xmm0
        movdqa  xmm0, XMMWORD PTR .LC3[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+48], xmm0
        movdqa  xmm0, XMMWORD PTR .LC4[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+64], xmm0
        movdqa  xmm0, XMMWORD PTR .LC5[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+80], xmm0
        movdqa  xmm0, XMMWORD PTR .LC6[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+96], xmm0
        movdqa  xmm0, XMMWORD PTR .LC7[rip]
        movaps  XMMWORD PTR PowerPC::ConditionRegister::s_crTable[rip+112], xmm0
        ret
PowerPC::ConditionRegister::s_crTable:
        .zero   128
.LC0:
        .quad   -9223372032559808511
        .quad   -8646911280256385023
.LC1:
        .quad   -9223372032559808512
        .quad   -8646911280256385024
.LC2:
        .quad   4294967297
        .quad   576460756598390785
.LC3:
        .quad   4294967296
        .quad   576460756598390784
.LC4:
        .quad   -4611686014132420607
        .quad   -4035225261828997119
.LC5:
        .quad   -4611686014132420608
        .quad   -4035225261828997120
.LC6:
        .quad   4611686022722355201
        .quad   5188146775025778689
.LC7:
        .quad   4611686022722355200
        .quad   5188146775025778688

and with constexpr, this all get collapsed into:

PowerPC::ConditionRegister::s_crTable:
        .quad   -9223372032559808511
        .quad   -8646911280256385023
        .quad   -9223372032559808512
        .quad   -8646911280256385024
        .quad   4294967297
        .quad   576460756598390785
        .quad   4294967296
        .quad   576460756598390784
        .quad   -4611686014132420607
        .quad   -4035225261828997119
        .quad   -4611686014132420608
        .quad   -4035225261828997120
        .quad   4611686022722355201
        .quad   5188146775025778689
        .quad   4611686022722355200
        .quad   5188146775025778688

completely eliminating the static constructor. MSVC also exhibits this,
whereas clang is a little better and does this anyway, even without
constexpr.
2023-06-08 14:33:13 -04:00
Lioncash
349add0f81 GCMemcardManager: Shorten-up EnumMap definitions
We can make a small alias that gets rid of the need to repeat the long
constant.
2023-06-08 13:05:13 -04:00
Lioncash
1044bc40ca GCMemcardUtils: Make use of std::span where applicable
Generifies bits of the interface so that some functions aren't
explicitly tied down to only using std::vector.
2023-06-08 12:59:43 -04:00
Lioncash
fae5ca39ad InfinityBaseWindow: Move core headers into cpp file
Restricts the headers to the cpp file where they're needed and prevents
the headers from "leaking" into other translation units.
2023-06-08 12:39:10 -04:00
Lioncash
2b0a9477d0 MemoryViewWidget: Use QStringView with ConvertTextToBytes
Allows for avoiding string copies. While we're at it, we can also mark
ConvertTextToBytes as const.
2023-06-08 12:01:59 -04:00
Lioncash
cfd25f1d7c CodeDiffDialog: Construct Diff instance in CalculateSymbolsFromProfile() when necessary
We can move the construction of the Diff instance into the body of the
if statement, so that we only construct this if the condition is true.

While we're at it, we can move the symbol description string into the
instance, getting rid of a copy. The function itself can also be const
qualified.
2023-06-08 11:55:57 -04:00
Lioncash
496aea54c0 CodeDiffDialog: Pass QString by const reference to create_item
Avoids churning string copies when updating
2023-06-08 11:48:09 -04:00
Lioncash
c99b0f2eb8 BreakpointWidget: Pass QString by const reference to create_item
Avoids churning string copies when performing updates.
2023-06-08 11:46:16 -04:00
Lioncash
867e7d259d BreakpointDialog: Pass QString by const reference to invalid_input
Gets rid of redundant copying.
2023-06-08 11:45:14 -04:00
Lioncash
d092381d25 InfinityBaseWindow: Collapse lambda into direct member pointer
The parameters to this match the requirements of the toggled() function
exactly, so we can pass the function directly into the connect call.
2023-06-08 11:01:34 -04:00
Lioncash
1f874be36e InfinityBaseWindow: Remove redundant string copies
tr() already returns a QString, so we don't need to construct a QString
around it, and FindFigure() already returns a std::string.
2023-06-08 11:01:29 -04:00
Lioncash
d35be7ce40 InfinityBaseWindow: Add missing header guard
Prevents potential inclusion issues.
2023-06-08 10:49:09 -04:00
get
1df482d51f Prefer static const std::regex
std::regex has a relatively expensive constructor, and these are unchanging regexes.
2023-06-08 09:39:23 -05:00
Admiral H. Curtiss
78f5c5f8d2
Merge pull request #11899 from Filoppi/patch-20
Video: Fix Post Process shader options issues
2023-06-08 16:12:49 +02:00
Admiral H. Curtiss
3dbdf0472d
Merge pull request #11901 from Filoppi/add_texture_types
Video: add R10B10G10A2 and R16G16B16A16F texture types
2023-06-08 15:28:15 +02:00
Admiral H. Curtiss
e4636ad0a2
Merge pull request #11898 from Filoppi/patch-19
Video: Fix crash when getting the AA modes
2023-06-08 15:26:40 +02:00
Admiral H. Curtiss
4905acf080
Merge pull request #11896 from AdmiralCurtiss/mbedtls-cmake
Fix lingering CMAKE_REQUIRED_INCLUDES variable from FindMBEDTLS.
2023-06-08 15:26:22 +02:00
Admiral H. Curtiss
65135190d4
Merge pull request #11897 from JosJuice/spurious-two-analog
InputCommon: Don't treat two analog inputs as a spurious trigger combo
2023-06-08 14:28:53 +02:00
Notexe
6a0a11c0b3 Data: Add missing Super Mario Sunshine goop map texture to graphics mod 2023-06-08 20:00:07 +10:00
Filoppi
cdc53c046b Video: add R10B10G10A2 and R16G16B16A16F texture types (needed by PR 11850) 2023-06-08 03:17:20 +03:00
Filippo Tarpini
c9e61a79b7
Video: Fix Post Process shader options issues
-An assert would be erroneously thrown when shaders declared an array of 4 int or float options, despite 4 being the max supported (a simple <= / < mistake)
-When changing the type of a shader option (e.g. from bool to float), the serialization would be stuck appending the value from the previous option type, making the shader fail to build permanently until the cache were cleaned
2023-06-08 02:54:46 +03:00
Filippo Tarpini
80d12e3e88
Video: Fix crash when getting the AA modes
DX12 would often crash when starting and stopping the emulation many times, due to the device enumerator failing for some reason. Checking for success fixes it.
2023-06-08 02:46:08 +03:00
iwubcode
e831d7b6bb InputCommon / VideoCommon: remove dynamic input reloading the texture cache, this is no longer needed, assets reload automatically! 2023-06-07 18:30:10 -05:00
iwubcode
ca8d6748d6 VideoCommon: introduce linked assets in TCacheEntry, allowing for assets to be reloaded 2023-06-07 18:30:10 -05:00
Admiral H. Curtiss
44d93048b3
Merge pull request #11081 from Minty-Meeo/gcc10
Remove old GCC version workarounds
2023-06-07 13:58:52 +02:00
Minty-Meeo
e92f8fcbb4 Remove old GCC version workarounds
The minimum GCC version is now GCC 10.
2023-06-06 22:49:53 -05:00
Mai
bab3229c98
Merge pull request #11874 from AdmiralCurtiss/vi-clock-bounds
VI: Prevent out-of-bounds access when clock register is a nonstandard value.
2023-06-06 20:31:42 -04:00
JosJuice
71ac6ec239 InputCommon: Don't treat two analog inputs as a spurious trigger combo
I've received a report from an Android user with a gamepad (a "BSP-D3")
where one physical trigger is controlling two analog axes at the same
time. This was causing RemoveSpuriousTriggerCombinations to delete both
axes, which is clearly not a desireable outcome.

With this change, now the axis with the greatest smoothness is kept,
or both in case they have the same smoothness.
2023-06-06 22:07:14 +02:00
Admiral H. Curtiss
a7678f3210
Merge pull request #11694 from jnaidu360/skylanders-portal-window
Skylanders Portal Menu Navigational Improvements
2023-06-06 19:20:39 +02:00
Admiral H. Curtiss
2a9616d0a2
Fix lingering CMAKE_REQUIRED_INCLUDES variable from FindMBEDTLS, this breaks any further can-compile checks. 2023-06-06 19:09:31 +02:00
JosJuice
5d40871dd4
Merge pull request #11894 from t895/interface-fix
android: Fix compilation error from Kotlin changes
2023-06-06 19:07:08 +02:00
Admiral H. Curtiss
afc97ec20f
Merge pull request #11895 from JosJuice/android-no-host-check
Android: Temporarily disable host thread check
2023-06-06 18:56:41 +02:00
JosJuice
361171fce0 Android: Temporarily disable host thread check
Very broken. Will investigate, but let's revert it for the time being.
2023-06-06 18:39:32 +02:00
Admiral H. Curtiss
e1a986b270
Merge pull request #11893 from JosJuice/dual-core-exit-assert
Core: Declare emu thread as CPU thread while shutting down
2023-06-06 18:36:51 +02:00
Charles Lombardo
05b1aa3775 android: Fix compilation error from Kotlin changes
Since the ThemeProvider interface changed `fun getThemeId()` to `var themeId`, I had to adjust how it was used in the EmulationActivity. Similar case for `fun getConfiguredControllerType()`.
2023-06-06 12:36:21 -04:00
Admiral H. Curtiss
38b033a476
Merge pull request #11762 from jbosboom/xinput2-raw-event-query
Xinput2: use raw events and queries
2023-06-06 18:14:51 +02:00
JosJuice
6bd5473d56 Core: Declare emu thread as CPU thread while shutting down
Fixes https://bugs.dolphin-emu.org/issues/13274.
2023-06-06 18:04:21 +02:00
JosJuice
2d56daf1bb
Merge pull request #11873 from AdmiralCurtiss/pause-and-lock-host
Core: Assert that only the Host thread may call PauseAndLock().
2023-06-06 13:50:20 +02:00
JosJuice
83b4af86b6
Merge pull request #11892 from t895/kotlin-adapters
Android: Convert "adapters" package to Kotlin
2023-06-06 13:06:56 +02:00
JosJuice
04fab7f2b2
Merge pull request #11884 from t895/kotlin-overlay
Android: Convert InputOverlay to Kotlin
2023-06-06 13:03:39 +02:00