| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
references from lvalues.
|
|
Externals: Update libiconv to 1.18
|
|
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).
|
|
using CfgMgr32.
|
|
Jit64: Dynamic length of regular jump instruction (for known addresses)
|
|
macoS: update QoSSession with SO_NET_SERVICE_TYPE.
|
|
|
|
Conditional jumps already do that, so let's be consistent.
|
|
Dentomologist/deletedirrecursively_dont_report_error_if_directory_is_absent
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.
|
|
|
|
|
|
an error number.
|
|
|
|
Jit: Small `dcbz` improvements
|
|
I also excluded libiconv from the Windows CMake builds since it's never used there
|
|
Logging: Remove unused Logs/Mail/ dir
|
|
Common: add transpose function to Matrix class
|
|
Common: Replace enable_if with concepts and other minor modernizations.
|
|
|
|
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".
|
|
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.
|
|
|
|
Common/BitUtils: Add operator[] to BitCastPtrType
|
|
Core: support inverting a 4x4 matrix
|
|
Arm64Emitter: Replace shifting size by 4 with IntLog2 minus 3
|
|
|
|
LLVM does this, so let's do it as well.
|
|
This is accomplished by adding a 0x100 bit the the register.
Made sure that, on AVX instructions, that bit is trucated.
|
|
MathUtil: Simplify SaturatingCast implementation and fix edge case.
|
|
Common/Timer: Add a SteadyAwakeClock class to make play time tracking ignore time while suspended.
|
|
std::cmp_less/cmp_greater and fix a floating point edge case.
Thanks to Dentomologist for catching the edge case.
|
|
The instruction implementations that were shifting the size by 4 would
emit an incorrect instruction when given a size of 64. The correct
implementation is to count the number of leading or trailing zeroes in
the size parameter, which is what IntLog2 does.
No callers are affected by this, as they all use sizes other than 64.
Actually, some of these instructions are even invalid with a size of 64,
but I'm changing them anyway for consistency with the others.
|
|
Just for performance.
|
|
We should attempt to use not only mirrored versions of the immediate as
an ORR base, but also the immediate itself. This lets us emit certain
64-bit constants using fewer instructions.
|
|
|
|
|
|
|
|
Qt: Better wayland detection to enforce xcb
|
|
BTReal: Implement Realtek firmware loading.
|
|
In certain cases, the platform can be "wayland-egl", "wayland-xcomposite", and other values for which I haven't found a full list yet. Instead of matching only "wayland", we now look for "wayland" anywhere in the `QT_QPA_PLATFORM` string in a case-insensitive manner.
Acknowledgements:
`CaseInsensitiveContains`' implementation was heavily inspired by GNU's non-standard glibc `strcasestr` function, which can be found here licensed under GPLv2 or later: https://ftp.gnu.org/gnu/libc/
|
|
Avoid map/set double lookups
|
|
For thread safety, we shouldn't return any pointers or references that
can be used to mutate the state of the PPCSymbolDB. This should be the
final part of making PPCSymbolDB thread safe unless I've missed
something.
|
|
9395238 added locking in some PPCSymbolDB functions that access member
variables, but far from all. To ensure thread safety, this commit adds
the missing locking.
|
|
By building the map in a local variable and then swapping it with the
member variable, we avoid the need to hold a lock while building the
map.
|