Commit Graph

29019 Commits

Author SHA1 Message Date
bf492c1ff3 JitArm64: Fix register number typo
I think this typo was actually ignored by the code, but nevertheless,
it should be fixed.
2022-10-09 16:46:09 +02:00
04628034bc JitAsm64: Reorder instructions in routines to allow macro-op fusion
Micro-optimization. Some CPUs can fuse CMP+B, TST+B, arith+CBZ, etc.

I also moved things around for CMP+CSET and TST+CSET - which I'm not sure
if any CPUs support - but it doesn't hurt anything, so I might as well.
2022-10-09 16:46:09 +02:00
6e01ab56fa JitArm64: Remove unnecessary instruction from ConvertDoubleToSingle
The upper bits are masked away by the preceding LSR, and the lower bits
are masked away by the following BFXIL.
2022-10-09 14:17:18 +02:00
1647fa350b Merge pull request #10804 from iwubcode/graphics-mod-input-output-structs
VideoCommon: add structures to graphics mods internal API
2022-10-09 13:17:11 +02:00
4c7fcf58b0 Merge pull request #11140 from JosJuice/jit64-inaccurate-single-fprf
Jit64: Fix single FPRF when !jo.accurateSinglePrecision
2022-10-09 13:08:53 +02:00
c361f9155b Jit64: Turn SNaN into QNaN in HandleNaNs
Improves accuracy but isn't known to affect any games.

This turned out to be fairly convenient to implement; ORing with the
PPC default NaN will quieten SNaNs and do nothing to QNaNs.
2022-10-09 09:49:52 +02:00
bc360584a3 VideoCommon: add structures to graphics mods to allow for future adding or removing parameters with less code overhead 2022-10-09 00:00:01 -05:00
6cf99195c6 Merge pull request #11142 from JosJuice/jit64-handle-nans-no-output
Jit64: Remove HandleNaNs's xmm_out parameter
2022-10-09 04:16:57 +02:00
bfbc04ef5e ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
66684a392f Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
da27a3e6bc Merge pull request #11095 from K0bin/misc-vulkan
Remove special treatment for Android in video settings
2022-10-08 22:24:30 +02:00
1ed6028af4 NewBreakpointDialog: Add a help message for conditionals. 2022-10-08 13:23:24 -07:00
1dd30b58f3 Merge pull request #11143 from K0bin/cmd_buffer_cleanup-fix
VideoBackends:Vulkan: Fix command buffer cleanup
2022-10-08 22:07:58 +02:00
332824f7d5 VideoBackends:Vulkan: Fix command buffer cleanup 2022-10-08 21:40:33 +02:00
4b8a720c9b Jit64: Remove HandleNaNs's xmm_out parameter
All HandleNaNs does with the xmm_out parameter is emit MOVAPD at the end
if xmm_out != xmm. The caller might as well do that themselves.
2022-10-08 19:49:30 +02:00
0b1fdee289 Jit64: Fix single FPRF when !jo.accurateSinglePrecision
jo.accurateSinglePrecision is always true, so it's not like this
matters much...
2022-10-08 18:35:46 +02:00
1c2182d069 Merge pull request #11134 from Pokechu22/memmap-remove-io-size
Memmap: Remove unused IO size field
2022-10-08 13:59:44 +02:00
e7219f7389 Jit64: Convert constantGqr to std::array. 2022-10-08 13:54:50 +02:00
fd2680d8b4 VideoBackends:Metal: Use a temporary buffer for large texture uploads 2022-10-08 04:46:07 -05:00
a13f09433c VideoBackends:Metal: Add config option to use presentDrawable 2022-10-08 04:46:07 -05:00
5a1b90c7f3 VideoBackends:Metal: Explicitly disable arc
Makes it easier to enable arc elsewhere without breaking the Metal backend
2022-10-08 04:46:07 -05:00
c08de82e90 VideoBackends:Metal: Bring back unified memory config
Turns out it was helpful.  (Most improvement in ubershaders.)  This time with much better auto mode.
2022-10-08 04:46:05 -05:00
93ce7bf344 VideoBackends:Metal: Unroll lighting loop 2022-10-08 04:44:48 -05:00
45ee1be6da VideoBackends:Metal: Properly set vsync on creation 2022-10-08 04:44:48 -05:00
274d4679ca VideoBackends:Multiple: More GPUs with broken subgroup ops 2022-10-08 04:44:48 -05:00
1abffc0b05 PPCAnalyst: Remove unused variables in BlockStats. 2022-10-08 03:30:56 +02:00
a5217c07b8 PPCAnalyst: Remove unused variables and methods in BlockRegStats. 2022-10-08 03:26:42 +02:00
6a2ed5758e JitCache: Erase address from noSpeculativeConstantsAddresses when block is invalidated. 2022-10-08 02:44:36 +02:00
be65e96991 Memmap: Remove unused IO size field
This existed in the initial megacommit (though I don't know why) as IO_SIZE. It was used in Memmap's Init() to compute totalMemSize, but I don't know if it actually did anything then. That use was removed in 2d0f714546, but the constant persisted until cc858c63b8, when it became a static variable.
2022-10-07 17:24:51 -07:00
fb79c04cf1 MemoryView auto updateDebugger. Implement base codetrace logic. Add register breakpoints. Add CodeViewWidget autostepping to track a value.Debugger 2022-10-06 22:17:22 -07:00
85cb4d1bc5 Support memory reads/writes from breakpoint expressions
Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
1224575b0b Add cast expression functions u8(), s8(), u16(), etc.
This allows for easy reinterpretation of GPRs in an expression.

Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
7842f9a715 Debugger: Initial implementation of conditional breakpoints
Expression class to store compiled expressions and associated variable list.

Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
d2db451eba HW/MemoryInterface: Add data to savestates and initialize on boot. 2022-10-07 01:31:56 +02:00
691135dbc3 HW: Move SerialInterface variables to Core::System. 2022-10-06 22:08:20 +02:00
4d33f6af7c GCMemcard: Remove manual std::vector handling in DoState 2022-10-06 11:25:36 -07:00
e8221d7948 Common/PointerWrap: Remove DoPOD
This was added in 385d8e2b15, but became somewhat redundant with Do in 4c7bbd96e4, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-10-06 11:25:36 -07:00
Mai
7498eb1e6c Merge pull request #11121 from AdmiralCurtiss/globals-exi
HW: Move ExpansionInterface variables to Core::System.
2022-10-06 10:33:22 -04:00
26318e2c51 HW: Move ExpansionInterface variables to Core::System. 2022-10-06 01:19:29 +02:00
de5a98a3fa Merge pull request #11120 from AdmiralCurtiss/gci-open-fail
HW/GCMemcardDirectory: Add error message if opening GCI fails.
2022-10-06 01:09:47 +02:00
662caf91ac HW/GCMemcardDirectory: Add error message if opening GCI fails. 2022-10-05 19:56:05 +02:00
cf094eb415 Merge pull request #11117 from JosJuice/jitarm64-imm-not-dirty
JitArm64: Fix BindToRegister in case Immediate && !set_dirty
2022-10-05 19:31:44 +02:00
4b6086b20a Merge pull request #11098 from K0bin/refresh-efb-cache
VideoCommon: Update EFB peek cache on draw done and tokens
2022-10-04 22:40:58 -04:00
eea31db781 Vulkan/CommandBufferManager: Show error code in PanicAlerts. 2022-10-04 19:50:23 +02:00
9c944d5734 HW: Move VideoInterface variables to Core::System. 2022-10-04 02:25:12 +02:00
51ee05cb35 Android: Use input override system for touch controls
This is the first step of getting rid of the controller indirection
on Android. (Needing a way for touch controls to provide input
to the emulator core is the reason why the controller indirection
exists to begin with as far as I understand it.)
2022-10-03 22:04:09 +02:00
b296248b49 DolphinQt: Use input override system for TAS input windows
This lets the TAS input code use a higher-level interface for
overriding inputs instead of having to fiddle with raw bits.
WiiTASInputWindow in particular was messy with how much
controller code it had to re-implement.
2022-10-03 22:04:09 +02:00
8fd25259ee ControllerEmu: Round input floats instead of casting, part 2
Like 3bc4968 but for Wii Remote extensions. I'm doing this to ensure
that TAS input values will still roundtrip after the next commit.
2022-10-03 22:04:08 +02:00
cb16d20f2d ControllerEmu: Add new "input override" system 2022-10-03 22:00:21 +02:00
f4f189c51f JitArm64: Rename BindToRegister parameters for clarity 2022-10-03 21:41:34 +02:00