Commit Graph

33603 Commits

Author SHA1 Message Date
85f7cf7c1e Merge pull request #11169 from JosJuice/jit64-speculative-constants-dispatcher
Jit64: Jump to dispatcher_no_check from InitializeSpeculativeConstants
2022-10-15 17:46:22 +02:00
ec6a4115eb Jit64: Jump to dispatcher_no_check from InitializeSpeculativeConstants
Jumping to `dispatcher` requires first subtracting the downcount,
otherwise `dispatcher` may unpredictably jump to CoreTiming::Advance,
which could break determinism compatibility with JitArm64. We should
jump to `dispatcher_no_check` instead.
2022-10-15 17:21:38 +02:00
b9aed428e8 Jit64: Remove breakpoint check from JitAsm.cpp
The breakpoint check in Jit.cpp makes it redundant.

Normally this redundant check doesn't cause any issues, but if you
create a breakpoint and enable logging without breaking, you get two
log messages if the breakpoint is at the beginning of a block. See
https://bugs.dolphin-emu.org/issues/13044.

This is also a tiny performance improvement for when debugging is
active, since we no longer check for breakpoints for blocks that never
had any breakpoints to begin with.
2022-10-15 17:06:32 +02:00
dbf5dca11c JitArm64: FIFO optimization improvements
JitArm64 port of 789975e.
2022-10-15 12:57:18 +02:00
9c1a936ca6 WiimoteEmu: Do send a status report on connection when an extension is already attached. 2022-10-15 03:35:01 -05:00
65c7304bd4 VideoInterface: Simplify VideoInterface savestate code
VideoInterface: Simplify savestate code in VideoInterface
2022-10-13 15:21:22 -04:00
e47af664cc HW: Move MemoryInterface variables to Core::System. 2022-10-13 04:28:17 +02:00
06f74bd7d1 Merge pull request #11152 from jordan-woyak/wm-emu-ir-point-size
WiimoteEmu: Improve simulated IR point size accuracy.
2022-10-13 02:18:58 +02:00
ae7b14887b Remove varargs support from LOG_VULKAN_ERROR
Nothing currently uses it. It could theoretically be replaced with fmt support, but I don't think the LOG_VULKAN_ERROR macro is that useful and it'd be better to replace it with regular logging instead.
2022-10-12 16:50:51 -07:00
f9fe25291d Remove most uses of StringFromFormat in favor of fmt 2022-10-12 16:50:47 -07:00
Mai
a5fa95adfd Merge pull request #11151 from jordan-woyak/quat-fix
Fix some bad quaternion math.
2022-10-12 17:35:50 +00:00
Mai
1f8b196d6d Merge pull request #11158 from jordan-woyak/abs-function
Input: Add "abs" input expression function.
2022-10-12 17:35:12 +00:00
f5b9049421 Input: Add "abs" input expression function. 2022-10-11 19:28:21 -05:00
bf53e14abe WiimoteEmu: Fix gyroscope/quaternion conversion math. 2022-10-11 15:01:33 -05:00
3939b32ed6 WiimoteEmu: Improve simulated IR point size accuracy. 2022-10-11 14:57:04 -05:00
dbfb8408d9 HW: Use unsigned indices in RegisterMMIO where applicable
base is an unsigned variable, so we can make things little more
consistent by making the loop index unsigned so we aren't doing bit
arithmetic with signed types.

MemoryInterface already does this, so we can leave it alone.

No behavioral changes, just a consistency thing.
2022-10-11 09:27:34 -04:00
a84633f748 Remove #pragma once in DesiredWiimoteState.cpp
That shouldn't be there...
2022-10-11 01:16:56 -05:00
6eb1f8beba Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
a056a1366f Merge pull request #11131 from Pokechu22/cp-state-savestate-mistakes
Include tangent/binormal cache in savestates and simplify saving CP state
2022-10-11 03:42:17 +02:00
ffed23c059 Simplify saving CP state
Rather than makring some parts of VertexLoaderManager dirty in some places and some in others, do it all in VideoState. Also, since CPState no longer contains pointers/non-CP data after d039b1bc0d, we can just use p.Do on it instead of manually saving each field.
2022-10-09 19:32:59 -07:00
333ede5416 Merge pull request #11136 from AdmiralCurtiss/gqr-array
Jit64: Convert constantGqr to std::array.
2022-10-10 02:13:30 +02:00
05f3bbfa4d Include tangent/binormal cache in savestates
This theoretically matters for RS2/RS3, although in practice these games reconfigure it each frame so it shouldn't matter for savestates.
2022-10-09 16:21:49 -07:00
c3ceee8967 DolphinQt: Make "All Devices" mapping hopefully less confusing. 2022-10-09 17:27:25 -05:00
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