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
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
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
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
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
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
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
Admiral H. Curtiss
3d4b4cfdc6
Merge pull request #11872 from LillyJadeKatrin/retroachievements-bugfix
...
RetroAchievements Bugfix: Fixed Missing DoFrame Call
2023-06-05 23:42:11 +02:00
iwubcode
f1f1ecc9d1
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
2023-06-05 16:33:19 -05:00
iwubcode
5738646e3e
Core: add CustomAssetLoader to System
2023-06-05 16:33:19 -05:00
iwubcode
9d7ab47738
VideoCommon: add additional locks around asset access and usage to ensure thread safety
2023-06-05 16:19:46 -05:00
jnaidu360
66f4902a1e
Improved Skylanders Portal Window Navigation
...
Adds features to improve navigation of Skylanders portal menu, includes:
-List of Skylanders and filters for searching
-Improved buttons for faster loading options
-Added default user folder for storing .sky files
2023-06-04 18:10:08 -07:00
Shawn Hoffman
c1580ebf30
msvc: workaround optimizer bug
2023-06-04 10:57:22 -07:00
iwubcode
9b9dc6dc5d
VideoCommon: fix minor issue in C++ template
2023-06-03 12:47:12 -05:00
Admiral H. Curtiss
80bf175c48
Merge pull request #11879 from iwubcode/texture_data_load_nolevels
...
VideoCommon: avoid segfault when loading a PNG with no custom texture data levels
2023-06-03 19:35:48 +02:00
iwubcode
47c40d51df
VideoCommon: when loading a PNG with no custom texture data levels already, create a level, this avoids a potential segfault
2023-06-03 12:19:30 -05:00
LillyJadeKatrin
e2d0ff718c
Fixed Missing DoFrame Call
...
Somewhere in the process of getting the memory peeking right for achievements, the AchievementManager call to DoFrame went missing. This restores it properly.
2023-06-03 09:15:41 -04:00
LillyJadeKatrin
32f7873ee6
Added missing Leaderboard Canceled event
2023-06-03 09:15:41 -04:00
LillyJadeKatrin
60350635b6
Fixed Rich Presence bugs
...
Refactored the Rich Presence two-minute trigger to clean it up and fix it.
2023-06-03 09:15:40 -04:00
Admiral H. Curtiss
0b3d28abaf
Merge pull request #11586 from JosJuice/unknown-opcode-msg
...
VideoCommon: Reword the unknown opcode error message
2023-06-03 12:53:33 +02:00