14105 Commits

Author SHA1 Message Date
JosJuice
3cfa233b63 VideoCommon: Use GetSpanForAddress safely in texture decoding
Now only VertexLoader remains... But that one might be tricky.
2024-04-20 18:31:08 +02:00
JosJuice
5c9bb80638 Memmap: Replace GetPointer with GetSpanForAddress
To ensure memory safety, callers of GetPointer have to perform a bounds
check. But how is this bounds check supposed to be performed?
GetPointerForRange contained one implementation of a bounds check, but
it was cumbersome, and it also isn't obvious why it's correct.

To make doing the right thing easier, this commit changes GetPointer to
return a span that tells the caller how many bytes it's allowed to
access.
2024-04-20 18:31:08 +02:00
JosJuice
13e9d5c889 Jit64: Improve register handling in fp_arith
This lets us avoid the "ugly" case.
2024-04-20 17:50:54 +02:00
JosJuice
2bb59ff0dc Jit64: Inline avx_op into fp_arith
This will let us manage registers better in the next commit.
2024-04-20 17:50:54 +02:00
JosJuice
2c2e06bf39 Jit64: Add extra cases for reversible avx_op
Optimization.
2024-04-20 17:50:54 +02:00
JosJuice
bb3306701b Jit64: Flatten avx_op
Reduces indentation and places the "ugly" case last. No behavior change.
2024-04-20 17:50:54 +02:00
JosJuice
4ac52cf053 JitArm64: Minor mtfsfix optimization
BFI takes two cycles on many CPUs, whereas AND (immediate) only takes
one.
2024-04-20 16:55:29 +02:00
Tilka
017f72f43e
Merge pull request #12672 from JosJuice/jit64-extract-with-byte-offset
Jit64: Clean up ExtractWithByteOffset
2024-04-20 12:41:29 +01:00
Tilka
b98176075e
Merge pull request #12719 from stblr/device-change-again
HIDv4: Fix racy device change behavior
2024-04-20 12:26:40 +01:00
Tillmann Karras
8ed41e7264 TAPServerConnection: drop unused enum class ReadState
This also fixes a -Wshadow warning because there is a function-local
equivalent in ReadThreadHandler().
2024-04-20 12:04:28 +01:00
JosJuice
758097f09c
Merge pull request #12717 from mitaclaw/downcountAmount
Change JitState::downcountAmount to a u32
2024-04-20 10:39:33 +02:00
Pablo Stebler
93b29cb8b2
HIDv4: Fix racy device change behavior
This prevents the device changes happening between 2 GETDEVICECHANGE
calls from being missed by the application.

Same as 7e7b0971ab014467ce6c2fccdd29bc9070eb333c.
2024-04-19 21:56:12 +02:00
Nicolas van Kempen
932645f245 Apply modernize-use-starts-ends-with 2024-04-19 14:55:29 -04:00
mitaclaw
65ff0146b9 Change JitState::downcountAmount to u32 2024-04-19 04:08:34 -07:00
Sepalani
c0fd59adfd BBA/HLE: Handle connection error 2024-04-17 20:18:20 +04:00
Sepalani
73aa8c50a2 BBA/HLE: Sleep when no data is received 2024-04-17 20:18:20 +04:00
Sepalani
05ed1a2fae BBA/HLE: Poll as much data as possible 2024-04-17 20:18:20 +04:00
Sepalani
c71134c4ab BBA/HLE: Check queue overrun 2024-04-17 20:18:20 +04:00
Admiral H. Curtiss
83b5124d40
Merge pull request #12559 from sepalani/bba-refactor
BBA/HLE: Code refactoring
2024-04-16 22:43:04 +02:00
OatmealDome
ab53f6934c
Merge pull request #12704 from mitaclaw/symbol-description-view
PPCSymbolDB: GetDescription by std::string_view
2024-04-14 22:14:18 -04:00
Jordan Woyak
637ae12ff4
Merge pull request #12703 from nlebeck/settingshandler-nomove-2
Pass `SettingsHandler` buffers by const ref instead of rvalue ref (since the contents are copied either way)
2024-04-13 17:10:11 -05:00
mitaclaw
672be6a8cf PPCSymbolDB: GetDescription by std::string_view
Should save a lot of deep copies.
2024-04-13 00:19:01 -07:00
Admiral H. Curtiss
1bfeeb8a63
Merge pull request #12693 from Tilka/zelda3
DSPHLE/Zelda: simplify AFC decoding
2024-04-13 03:57:13 +02:00
Niel Lebeck
d2b96736e0 Pass SettingsHandler buffers by const ref instead of rvalue ref 2024-04-12 18:50:21 -07:00
Admiral H. Curtiss
b3939052b4
Merge pull request #12436 from Filoppi/frame-dump-raw-internal-resolution
Frame dump at raw internal resolution
2024-04-13 03:39:37 +02:00
Admiral H. Curtiss
2f13be5a2d
VideoConfig: Adjust FrameDumpResolutionType enum class to style guidelines 2024-04-13 03:21:39 +02:00
Admiral H. Curtiss
107379bf74
Merge pull request #12569 from GregoireLD/dolphin-GBAProfilePathFix
Fix path-loading of GBA map configurations
2024-04-13 02:46:07 +02:00
Admiral H. Curtiss
0c1a76398b
Merge pull request #12691 from mitaclaw/jit-profiling-restoration
JitCache: Software Profiling Restoration
2024-04-13 01:35:25 +02:00
mitaclaw
3073e8fd40 CachedInterpreter: Skip Updating Instruction PERFMON When There Are None 2024-04-10 04:09:37 -07:00
mitaclaw
30c63fa4a6 Common: Remove Unused PerformanceCounter Code 2024-04-09 13:43:32 -07:00
mitaclaw
ee8bcf2ccc JitCache: Software Profiling Restoration
Rekindle software JIT profiling with a std::chrono conversion and a config connection.
2024-04-09 13:43:31 -07:00
Admiral H. Curtiss
69aca2fbfc
Merge pull request #11141 from JosJuice/jit64-soft-fma-nans-preserve
Jit64: Preserve inputs when software_fma && m_accurate_nans
2024-04-09 06:04:21 +02:00
Admiral H. Curtiss
35836225c5
Merge pull request #12646 from mitaclaw/ppc-cache-global-system
PPCCache: Avoid Global System Accessor
2024-04-09 05:57:57 +02:00
Admiral H. Curtiss
e77def0478
Merge pull request #12690 from JosJuice/no-getpointer-part-3
IOS::HLE::BluetoothEmuDevice: Remove calls to GetPointer
2024-04-09 05:53:56 +02:00
mitaclaw
cf74c0d683 PPCCache: Avoid Global System Accessor 2024-04-08 19:49:57 -07:00
mitaclaw
eb92d6f0a8 Core::GetState: Avoid Global System Accessor 2024-04-08 16:23:23 -07:00
Filoppi
72db62e178 Video: split frame dumping settings into 3 resolution dumping modes
also polish aspect ratio related code for clarity
2024-04-08 22:54:45 +03:00
Tillmann Karras
5db9924d13 DSPHLE/Zelda: set COMBINED_CMD_0D flag appropriately
All relevant games other than Pikmin 1 Wii seem to always set the two
dwords to zero, so previously they were ignored during command dispatch
and now we still ignore them but in the right place.
2024-04-07 18:53:01 +01:00
Tillmann Karras
8533b5649e DSPHLE/Zelda: simplify AFC decoding 2024-04-07 10:55:21 +01:00
JosJuice
5e58a46361 Jit64: Preserve inputs when software_fma && m_accurate_nans
When writing the software FMA code, I didn't realize that we can't
overwrite d if d is the same register as one of the inputs and
HandleNaNs is going to be called. This fixes that.
2024-04-06 21:38:58 +02:00
JosJuice
f40dc7b5f9 IOS::HLE::BluetoothEmuDevice: Remove calls to GetPointer
Part 3 of stopping using GetPointer. This gets rid of the last
GetPointer call in IOS, which I skipped in part 1.
2024-04-06 21:04:54 +02:00
Sepalani
07a2429367 BBA/HLE: Fix network_ref coding style 2024-04-06 21:43:48 +04:00
Sepalani
f3194b777b BBA/HLE: Move polling data logic into a method 2024-04-06 21:43:48 +04:00
Sepalani
fbebbcc0fd BBA/HLE: Move functions to anonymous namespace 2024-04-06 21:43:48 +04:00
Sepalani
6e2a081cb9 BBA/HLE: Loop over network_ref once 2024-04-06 21:43:48 +04:00
Sepalani
9e0bf29329 BBA/HLE: Move GetSlot methods 2024-04-06 21:43:48 +04:00
Sepalani
5388f35cc4 BBA/HLE: Add NetworkRef::Clear method 2024-04-06 21:43:48 +04:00
Sepalani
e915f990bb BBA/HLE: Make network_ref into a class 2024-04-06 21:43:48 +04:00
Tillmann Karras
9c705f1011 Movie: simplify silly loop 2024-04-06 18:28:43 +01:00
Admiral H. Curtiss
d3073353a7
Merge pull request #12555 from sepalani/bba-connecting
BBA/HLE: Don't assume connect is successful
2024-04-05 21:29:10 +02:00