Commit Graph

4313 Commits

Author SHA1 Message Date
Dentomologist
f898d75bf3 Merge pull request #14317 from JosJuice/jit-cache-macro-loop
Jit: Use RangeSet for physical_addresses
2026-02-26 19:25:29 -08:00
JMC47
ff27147a71 Merge pull request #14407 from jordan-woyak/mag-card-fixup
MagneticCardReader: Minor fixup to writing card data.
2026-02-23 19:09:23 -05:00
JosJuice
c1a26808ce Jit: Use RangeSet for physical_addresses
This makes JitBaseBlockCache::ErasePhysicalRange around 50% faster and
PPCAnalyzer::Analyze around 40% faster. Rogue Squadron 2's notoriously
laggy action of switching to and from cockpit view is made something
like 20-30% faster by this, though this is a very rough measurement.
2026-02-23 23:01:49 +01:00
JosJuice
36f45dce44 Move RangeSet from Externals to Common
This is a very small libary, and as I understand it, it was more or less
developed for Dolphin.

This moves the two relevant files from Externals to Common, changes the
namespace to Common, reformats the code, and adds Dolphin copyright
notices. The change in copyright notice and license was approved by
AdmiralCurtiss.
2026-02-23 22:55:38 +01:00
Admiral H. Curtiss
0d359e23da Merge pull request #14212 from cscd98/cast-func
mingw: use reinterpret_cast for function→void* conversion to satisfy C++ standard
2026-02-21 18:27:50 +01:00
Admiral H. Curtiss
fee2b0ee03 Merge pull request #14209 from cscd98/static-cast-fix
mingw: replace static_cast with reinterpret_cast as not permitted between void* and function params
2026-02-21 18:27:22 +01:00
Jordan Woyak
97a88dd7db MagneticCardReader: Minor fixup to writing card data.
Ensure the 3rd track is written even if the 2nd track isn't.
Moved GetHexDump helper function to StringUtil.
2026-02-21 01:01:57 -06:00
Craig Carnell
bd728d1c20 mingw: replace static_cast with reinterpret_cast as not permitted between void* and function params 2026-02-16 13:28:11 +00:00
Jordan Woyak
cbd43914a5 Network: Improve IPv4PortRange::ToString to support CIDR notation and only last octet difference. 2026-02-15 23:13:18 -06:00
Sepalani
2d9b3c4118 Debugger/NetworkWidget: Add Triforce support 2026-02-15 20:14:15 -06:00
Jordan Woyak
5545798e00 Common/Network: Add structs: IPv4Port, IPv4PortRange and functions: IPAddressToString, ParseIPv4PortRange. 2026-02-15 20:14:15 -06:00
Jordan Woyak
97ad5ad1a1 StringUtil: Add SplitStringIntoArray function template. 2026-02-15 20:14:15 -06:00
Jordan Woyak
f25c467154 Common/UnixUtil: Only define CreateEventFD on Linux. 2026-02-15 20:14:15 -06:00
Jordan Woyak
cda344329a Common/BitUtils: Make SetBit constexpr. 2026-02-15 20:14:15 -06:00
Jordan Woyak
5d2e93fa3e Common: Add SetPlatformSocketOptions function and SEND_FLAGS constant to Network.h to deal with OS-specific SIGPIPE behavior. 2026-02-15 20:14:15 -06:00
crediar
2c62214875 Added Triforce support 2026-02-15 20:14:14 -06:00
Jordan Woyak
2ba9af9e60 ChunkFile: Prevent PointerWrap::Do(T&) from compiling with pointers. 2026-02-10 06:44:36 -06:00
oltolm
60351c19cc Misc: fix compiler warning: implicit declaration of function 2026-02-08 00:37:29 +01:00
JMC47
c4b913d9da Merge pull request #13768 from JosJuice/page-table-fastmem-2
Core: Create fastmem mappings for page address translation
2026-02-04 16:20:35 -05:00
JosJuice
35ce08fb88 UnitTests: Add PageTableHostMappingTest 2026-02-04 21:35:22 +01:00
JosJuice
0ce95299f6 Core: Don't create page table mappings before R/C bits are set
This gets rid of the hack of setting the R and C bits pessimistically,
reversing the performance regression in Rogue Squadron 3.
2026-02-04 21:35:22 +01:00
Jordan Woyak
dd2b94cd4a Merge pull request #13594 from jordan-woyak/state-cleanups
State: Simplify interthread communication and general cleanups.
2026-02-03 16:50:52 -06:00
JosJuice
183e12b055 Common/MemArena: Add function for getting page size 2026-02-01 12:39:32 +01:00
Joshua Vandaële
e6bc8fb342 WGL: Correctly load wglDestroyPbufferARB extension 2026-01-31 10:36:55 +01:00
Dentomologist
1b6a45df69 Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-improvements
CMake: Various improvements
2026-01-25 18:33:46 -08:00
Martino Fontana
a14c88ba67 Remove unused imports
Yellow squiggly lines begone!
Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes.
If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed.
The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports.
Not everything is removed, but the cleanup should be substantial enough.
Because this done on Linux, code that isn't used on it is mostly untouched.
(Hopefully no open PR is depending on these imports...)
2026-01-25 16:12:15 +01:00
Sintendo
f2e1c71803 Common/FileSearch: Refactor DoFileSearch 2026-01-24 16:50:10 +01:00
JosJuice
3221e982d3 Merge pull request #13900 from JosJuice/jit-fma-double-rounding
Jit: Implement error-free transformation for single-precision FMA
2026-01-23 21:43:18 +01:00
Jordan Woyak
1d9e475123 Common: Add TransferableSharedMutex class and unit tests. 2026-01-19 21:56:59 -06:00
Dentomologist
f4b88af71e JitRegister: Check Open return code
If the call to `Open` a perf map fails don't set `s_is_enabled` (though
it could already be true if you're also using VTUNE) and don't call
`std::setvbuf` with a null stream.

Also fix a typo in a comment (`if` -> `in`)
2026-01-18 17:26:26 -08:00
Dentomologist
7490dea278 JitRegister: Verify IOFile IsGood
Use IOFile's bool operator to check that it's not just open but good.
2026-01-18 17:26:26 -08:00
Dentomologist
935f537a80 JitRegister: Fix IsEnabled when using VTune without perf
Set `s_is_enabled` to `true` in `Init` when `USE_VTUNE` is defined so
that `IsEnabled` returns true even if perf isn't being used.
2026-01-18 17:26:26 -08:00
Admiral H. Curtiss
710905138c Merge pull request #14290 from Dentomologist/jitregister_remove_redundant_open_file_check
JitRegister: Remove redundant check for open file
2026-01-19 02:06:57 +01:00
JosJuice
58487f1633 Jit: Implement error-free transformation for single-precision FMA
This implements the equivalent of 07443e2d41 in Jit64 and JitArm64.
Aims to fix https://bugs.dolphin-emu.org/issues/13865.
2026-01-18 20:02:49 +01:00
JosJuice
84261cfc23 Arm64Emitter: Fix Q bit of vector SHL/URSHR encoding
This doesn't affect any existing callers, because all existing callers
use quad registers.
2026-01-18 20:02:49 +01:00
iwubcode
373e35ed5b Merge pull request #14267 from jordan-woyak/std-expected
Common: Replace Result with std::expected.
2026-01-17 22:33:15 -06:00
iwubcode
6d40f4e897 Merge pull request #14265 from JoshuaVandaele/std-unreachable
c++23: Replace Common::Unreachable with std::unreachable
2026-01-17 22:32:53 -06:00
Dentomologist
3424983a65 JitRegister: Remove redundant check for open file
The check only happened if `USE_VTUNE` wasn't defined, and in that case
it was immediately followed by the same check again.

The check used to avoid an unnecessary call to `StringFromFormatV` in
certain circumstances, but that call was removed in
be81fe86e1.
2026-01-17 16:39:04 -08:00
JMC47
035bcffc63 Merge pull request #14289 from Sintendo/typos
Fix various typos and spelling mistakes
2026-01-17 19:10:50 -05:00
JMC47
d098f2bba9 Merge pull request #14274 from JosJuice/jitregister-check-enabled
JitRegister: Check IsEnabled before constructing string
2026-01-17 18:23:43 -05:00
JMC47
a5b34d43fc Merge pull request #14215 from Tilka/disasm
GekkoDisassembler: fix multiple issues
2026-01-17 18:21:09 -05:00
Jordan Woyak
dffc7a650d Common: Replace Result with C++23's std::expected. 2026-01-17 16:58:45 -06:00
Joshua Vandaële
e822cc3715 c++23: Replace Common::Unreachable with std::unreachable
Requires at least GCC 12, Clang 15, MSVC 19.32, or AppleClang 14.0.3.
2026-01-17 23:53:21 +01:00
iwubcode
b556bd99d7 Merge pull request #14268 from JoshuaVandaele/std-tounderlying
c++23: Replace Common::ToUnderlying with std::to_underlying
2026-01-17 16:49:57 -06:00
Dentomologist
3042918952 Merge pull request #14213 from cscd98/readvalue
mingw: move ReadValue definitions into cpp to fix visibility
2026-01-17 11:37:27 -08:00
Sintendo
1e0473e44f Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
Jordan Woyak
5162608df9 Revert "Externals: Update zlib-ng to v2.3.2"
This reverts commit 34b402b631.
2026-01-11 20:29:05 -06:00
Jordan Woyak
dc8f2995ef Merge pull request #14273 from JosJuice/x64-oparg-padding
Jit64: Make OpArg and TrampolineInfo smaller
2026-01-11 16:14:50 -06:00
JMC47
28a8fa5de6 Merge pull request #14229 from JoshuaVandaele/zlib-ng
Externals: Update zlib-ng to v2.3.2
2026-01-11 16:03:18 -05:00
JosJuice
c54dc9db60 JitRegister: Check IsEnabled before constructing string
Without this, every time we finalize a JIT block, we have to allocate
memory for a string and format the string.
2026-01-11 21:01:49 +01:00