OatmealDome
02ad041866
Merge pull request #14086 from Simonx22/android/use-native-analytics
...
Android: Use the shared HTTP analytics backend
2025-11-08 14:03:06 -05:00
OatmealDome
a459dc0d25
Merge pull request #14082 from Simonx22/analytics/reload-on-setting-change
...
DolphinAnalytics: Reload backend when config changes
2025-11-08 14:00:03 -05:00
Simonx22
82f658a28f
Android: Use the shared HTTP analytics backend
...
We can now route Android analytics through Common::HttpAnalyticsBackend, drop the Volley sender, and keep the JNI layer limited to only transfer metadata since https://bugs.dolphin-emu.org/issues/11772 has been fixed.
2025-11-08 12:14:40 -05:00
JosJuice
958db7c78c
Merge pull request #14020 from jordan-woyak/string-util-cleanups
...
StringUtil: Cleanups and add some character encoding conversion unit tests.
2025-11-08 17:36:54 +01:00
Simonx22
f67691d564
Config: Use maximum value of size_t instead of -1 as default value in ConfigChangedCallbackID
...
Co-authored-by: OatmealDome <julian@oatmealdome.me>
2025-11-08 11:35:31 -05:00
JosJuice
ba14222a2b
Merge pull request #13939 from Dentomologist/logging_avoid_overwriting_debug_verbosity_in_release_builds
...
Logging: Don't overwrite LDEBUG level in Release builds
2025-11-08 14:47:27 +01:00
Jordan Woyak
da6c65bf3b
Common: Remove the string parameters from the HookableEvent interface.
2025-11-06 22:34:40 -06:00
Jordan Woyak
2170080f53
Merge pull request #14061 from jordan-woyak/config-info-spin-mutex
...
ConfigInfo: Cleanups and change mutex to a spin lock.
2025-11-04 14:09:35 -06:00
Jordan Woyak
999333c0a1
Config: Make ConfigInfo use Common::SpinLock to protect the CachedValue. These locks are nearly always uncontested and this makes Config::Get faster.
2025-11-02 20:45:55 -06:00
Jordan Woyak
46369ef1b1
Common: Add AtomicMutex and SpinMutex classes as faster alternatives to std::mutex.
2025-11-02 20:45:55 -06:00
Jordan Woyak
fc9f25a418
Config/ConfigInfo: Cleanups.
2025-11-02 20:30:35 -06:00
Jordan Woyak
f289b06e0d
Common: Make HookableEvent use non-static data.
...
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2025-11-02 17:30:43 -06:00
Jordan Woyak
5650b2ef37
StringUtil: Replace strerror with Common::LastStrerrorString.
2025-11-02 00:36:04 -05:00
Jordan Woyak
da7c813edf
StringUtil: Make non-Windows WStringToUTF8 implementation use iconv instead of deprecated std::codecvt features.
2025-11-02 00:36:04 -05:00
Jordan Woyak
b073b5303b
StringUtil: Fix many clang-tidy warnings.
2025-11-02 00:36:04 -05:00
JosJuice
828e72d604
Merge pull request #14034 from JoshuaVandaele/byeprofile
...
JitRegister: Remove OProfile profiler
2025-11-01 10:05:11 +01:00
Joshua Vandaële
2383e68fd8
x64Emitter: Fix missing-declarations warning
2025-10-30 12:35:22 +01:00
Joshua Vandaële
33fd06d7f3
AdvancedPane: Add a button to restore default settings
2025-10-27 15:59:33 +01:00
Joshua Vandaële
713dfb41df
JitRegister: Remove OProfile profiler
...
OProfile is not used at all these days, most major distributions do not ship it anymore (Debian, Fedora, and Alpine to name the few I've checked) and following a discussion on Discord, nobody is apparently using it, most devs not even being aware of it. This removes an optional dependency from Dolphin.
2025-10-26 20:48:15 +01:00
JMC47
2e490cefa0
Merge pull request #13978 from JoshuaVandaele/libiconv-1.18
...
Externals: Update libiconv to 1.18
2025-10-17 18:45:48 -04:00
Dentomologist
4e359cf1c5
WindowsDevice: Silence missing property log spam
...
Don't log a warning in GetPropertyHelper when the property isn't
present. The function returns an optional, so any callers that want to
log a warning when nullopt is returned can do so themselves.
This prevents plugged-in devices (an Xbox One controller in my case)
from spamming the message "W[COMMON]: CM_Get_DevNode_Property returned:
37" twice per second (that value being CR_NO_SUCH_VALUE).
2025-10-13 11:55:12 -07:00
Jordan Woyak
3978e1eb2c
WindowsDevice: Add some utility functions for getting device properties using CfgMgr32.
2025-10-12 12:33:13 -05:00
JMC47
d8bcd6d82e
Merge pull request #13996 from SuperSamus/jit64-dynamic-known-jmp-len
...
Jit64: Dynamic length of regular jump instruction (for known addresses)
2025-10-09 14:07:13 -04:00
JMC47
4f7a910e92
Merge pull request #13964 from ryanmcgrath/macos/qos
...
macoS: update QoSSession with SO_NET_SERVICE_TYPE.
2025-10-09 14:05:42 -04:00
Martino Fontana
8a97ce9124
MMU: Use templates for Read/Write functions
2025-10-08 11:27:06 +02:00
Martino Fontana
f6e5448b43
Jit64: Dynamic length of regular jump instruction (for known addresses)
...
Conditional jumps already do that, so let's be consistent.
2025-10-08 00:15:57 +02:00
JosJuice
03ef9b4995
Merge pull request #13995 from Dentomologist/deletedirrecursively_dont_report_error_if_directory_is_absent
...
DeleteDirRecursively: Don't report error for absent directory
2025-10-06 20:04:32 +02:00
Dentomologist
f64e57442c
DeleteDirRecursively: Don't report error for absent directory
...
Check if the return value of std::filesystem::remove_all is -1 rather
than 0; the former is the specified return value if there's an error
while 0 just means the directory already didn't exist (which is the end
result we want).
Previously error messages such as the following were possible:
E[COMMON]: DeleteDirRecursively: [path]/User/RedirectSession/ failed The
operation completed successfully.
Also adds a period in the error string to make it look nicer.
2025-10-05 16:29:41 -07:00
Jordan Woyak
b2fef6ee1f
Common/Network: Add BluetoothAddress struct and string conversion functions.
2025-10-04 14:51:17 -05:00
Jordan Woyak
b1e8de82a6
Common: Add some utilities to a new UnixUtil header.
2025-10-04 14:51:17 -05:00
Jordan Woyak
504ea99cfa
CommonFuncs: Add StrerrorString version of LastStrerrorString that accepts an error number.
2025-10-04 14:51:17 -05:00
Martino Fontana
4f737b7aaf
dcbz: Fix AVX path
2025-10-01 21:09:18 +02:00
JosJuice
0c89c00d8b
Merge pull request #13929 from SuperSamus/dcbz-jit-improvements
...
Jit: Small `dcbz` improvements
2025-09-30 18:52:09 +02:00
Joshua Vandaële
a8b40a218c
Externals: Update libiconv to 1.18
...
I also excluded libiconv from the Windows CMake builds since it's never used there
2025-09-29 21:52:58 +02:00
JMC47
593d386496
Merge pull request #13968 from dwilliams27/remove-logs-mail
...
Logging: Remove unused Logs/Mail/ dir
2025-09-26 17:16:54 -04:00
JMC47
ff9e0eb2c3
Merge pull request #13945 from iwubcode/math_transpose_function
...
Common: add transpose function to Matrix class
2025-09-26 17:14:09 -04:00
JMC47
a8fe5c0303
Merge pull request #13634 from jordan-woyak/enum-concepts
...
Common: Replace enable_if with concepts and other minor modernizations.
2025-09-26 16:13:20 -04:00
Farmerbilly27
8cbfee2136
chore: remove unused Logs/Mail/ dir
2025-09-24 17:42:59 -05:00
Ryan McGrath
5a6730ab4e
macoS: update QoSSession with SO_NET_SERVICE_TYPE.
...
macOS does not support `SO_PRIORITY` on sockets, but it does apparently
support configuring sockets with a priority flag via a parameter called
`SO_NET_SERVICE_TYPE`. It doesn't appear to be especially well
documented, but it seems to exist as far back as 10.11 (El Capitan).
This patch sets QoSSession to treat connections as
"responsive multimedia audio/video", which some docs appear to describe
as "low delay tolerant, low-medium, loss tolerant, elastic flow,
variable packet interval, rate and size".
2025-09-22 17:30:18 -04:00
Dentomologist
2d48043b61
Logging: Don't overwrite LDEBUG verbosity in Release builds
...
Preserve the configured logging verbosity unless the user actually
changes it, rather than capping it to LINFO on release builds.
Rename LogManager::m_level to m_effective_level and distinguish between
the config and effective level in various function/variable names.
Make m_effective_level atomic to prevent data races when setting the
effective log level from the config changed callback.
2025-09-19 13:25:42 -07:00
iwubcode
9a37c8081d
Common: add transpose function to Matrix class
2025-09-17 11:14:09 -05:00
JMC47
fce5f7c74e
Merge pull request #13874 from sepalani/bitcast-ptr
...
Common/BitUtils: Add operator[] to BitCastPtrType
2025-09-17 04:42:22 -04:00
JMC47
1e3952c801
Merge pull request #13935 from iwubcode/matrix_inverted
...
Core: support inverting a 4x4 matrix
2025-09-16 14:51:42 -04:00
JosJuice
36f49d140f
Merge pull request #13905 from JosJuice/arm64emitter-shift-4
...
Arm64Emitter: Replace shifting size by 4 with IntLog2 minus 3
2025-09-16 20:08:59 +02:00
iwubcode
d403bc3985
Core: support inverting a 4x4 matrix
2025-09-07 11:41:09 -05:00
Martino Fontana
d1ba849876
Jit64: dcbz, use VMOVAPS with YMM registers on AVX CPUs
...
LLVM does this, so let's do it as well.
2025-09-02 23:15:27 +02:00
Martino Fontana
5e69da7eba
x64Emitter: Support YMM registers
...
This is accomplished by adding a 0x100 bit the the register.
Made sure that, on AVX instructions, that bit is trucated.
2025-09-02 22:15:16 +02:00
Tilka
b47a75fa2d
Merge pull request #13912 from jordan-woyak/simplify-saturating-cast
...
MathUtil: Simplify SaturatingCast implementation and fix edge case.
2025-08-30 03:00:15 +01:00
JMC47
e0c72cd963
Merge pull request #13825 from jordan-woyak/dont-count-playtime-while-suspended
...
Common/Timer: Add a SteadyAwakeClock class to make play time tracking ignore time while suspended.
2025-08-28 13:58:26 -04:00
Jordan Woyak
da546bebb8
MathUtil: Simplify SaturatingCast implementation with std::cmp_less/cmp_greater and fix a floating point edge case.
...
Thanks to Dentomologist for catching the edge case.
2025-08-27 21:24:46 -05:00