Commit Graph

38363 Commits

Author SHA1 Message Date
Admiral H. Curtiss
cbc96adfd2
VFFUtil: Invalidate window on mount. 2022-10-16 18:06:51 +02:00
Admiral H. Curtiss
b1725dfb33
Zero-initialize structures passed to FatFs functions. 2022-10-16 17:12:04 +02:00
Robin Kertels
6992b0d8e1
VideoBackends:Vulkan: Allocate descriptor pools as needed 2022-10-16 17:04:35 +02:00
JosJuice
09f9a58859 Jit64: Add dispatcher_no_timing_check jump target
The new `dispatcher_no_timing_check` is the same as `dispatcher_no_check`
except it includes the "stepping check" in debug mode. This lets us avoid
the `m_enable_debugging ? dispatcher : dispatcher_no_check` dance.
2022-10-16 11:22:34 +02:00
Admiral H. Curtiss
c0476fdac3
Merge pull request #11072 from SketchMaster2001/wiiconnect24
Add initial WiiConnect24 support
2022-10-16 04:31:28 +02:00
SketchMaster2001
e413d7f5ec
Add initial WiiConnect24 support 2022-10-16 04:19:36 +02:00
Admiral H. Curtiss
fbe782f1a9
Merge pull request #11077 from JosJuice/jitasm-no-breakpoint
Jit64: Remove breakpoint check from JitAsm.cpp
2022-10-16 04:02:12 +02:00
JosJuice
351d095fff JitArm64: Optimize a few tail calls
Maybe "tail call" isn't quite the right term for what this code
is doing, since it's jumping to the dispatcher rather than
returning, but it's the same optimization as for a tail call.
2022-10-15 21:45:44 +02:00
JosJuice
2a5f4a2390 Jit64: Don't use fregsIn in HandleNaNs
fregsIn will include FD for double-precision instructions, since for
dependency tracking purposes the instruction does read the upper
half of FD. This is not what we want in HandleNaNs.

The consequence of this bug is that if an instruction was supposed to
output a NaN and FD happens to contain a NaN and FD happens to be the
same register as an unused register in the instruction encoding, the
NaN in FD could get used as the output instead of the correct NaN.
This isn't known to affect any games, which isn't especially surprising
considering that there's only one game that needs AccurateNaNs anyway.
2022-10-15 18:11:40 +02:00
Admiral H. Curtiss
cd1f89a02b
Merge pull request #11138 from JosJuice/jit64-quiet-nans
Jit64: Turn SNaN into QNaN in HandleNaNs
2022-10-15 18:06:40 +02:00
Admiral H. Curtiss
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
JosJuice
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
JosJuice
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
Admiral H. Curtiss
91ba359911
Merge pull request #11168 from jordan-woyak/extension-status-report
WiimoteEmu: Minor emulated Wii Remote behavior fix.
2022-10-15 13:39:04 +02:00
JosJuice
dbf5dca11c JitArm64: FIFO optimization improvements
JitArm64 port of 789975e.
2022-10-15 12:57:18 +02:00
Jordan Woyak
9c1a936ca6 WiimoteEmu: Do send a status report on connection when an extension is already attached. 2022-10-15 03:35:01 -05:00
Admiral H. Curtiss
3af74d82a0
Merge pull request #11137 from Lobsterzelda/update-video-interface
VideoInterface: Simplify saving VideoInterface
2022-10-14 22:35:33 +02:00
Lobsterzelda
65c7304bd4 VideoInterface: Simplify VideoInterface savestate code
VideoInterface: Simplify savestate code in VideoInterface
2022-10-13 15:21:22 -04:00
Mai
99a5be3036
Merge pull request #11164 from AdmiralCurtiss/globals-memory-interface
HW: Move MemoryInterface variables to Core::System.
2022-10-13 03:06:46 +00:00
Admiral H. Curtiss
e47af664cc
HW: Move MemoryInterface variables to Core::System. 2022-10-13 04:28:17 +02:00
Admiral H. Curtiss
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
Admiral H. Curtiss
304e1e5b9f
Merge pull request #11162 from Pokechu22/less-StringFromFormat
Remove most uses of StringFromFormat in favor of fmt
2022-10-13 02:18:31 +02:00
Pokechu22
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
Pokechu22
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
Jordan Woyak
f5b9049421 Input: Add "abs" input expression function. 2022-10-11 19:28:21 -05:00
Jordan Woyak
bf53e14abe WiimoteEmu: Fix gyroscope/quaternion conversion math. 2022-10-11 15:01:33 -05:00
Jordan Woyak
3939b32ed6 WiimoteEmu: Improve simulated IR point size accuracy. 2022-10-11 14:57:04 -05:00
joon
cada690192 Delete outdated SoulCalibur II ini.
Fast texture cache samples and immediate xfb has no ill effects.
2022-10-11 15:38:32 -04:00
Pokechu22
0c09eb5686
Merge pull request #11155 from lioncash/unsigned
HW: Use unsigned indices in RegisterMMIO where applicable
2022-10-11 11:54:42 -07:00
Lioncash
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
Admiral H. Curtiss
f47b11353d
Merge pull request #11154 from Minty-Meeo/pragma-once-outside-header
Remove #pragma once in DesiredWiimoteState.cpp
2022-10-11 10:59:20 +02:00
Minty-Meeo
a84633f748 Remove #pragma once in DesiredWiimoteState.cpp
That shouldn't be there...
2022-10-11 01:16:56 -05:00
Jordan Woyak
6eb1f8beba Common/Matrix: Fix Quaternion Norm function. 2022-10-10 21:16:35 -05:00
Admiral H. Curtiss
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
Pokechu22
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
Admiral H. Curtiss
333ede5416
Merge pull request #11136 from AdmiralCurtiss/gqr-array
Jit64: Convert constantGqr to std::array.
2022-10-10 02:13:30 +02:00
Pokechu22
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
Jordan Woyak
c3ceee8967 DolphinQt: Make "All Devices" mapping hopefully less confusing. 2022-10-09 17:27:25 -05:00
JosJuice
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
JosJuice
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
JosJuice
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
Admiral H. Curtiss
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
Admiral H. Curtiss
8be5300ef9
Merge pull request #11146 from Hypnotron/patch-1
Fix formatting in Readme
2022-10-09 13:09:24 +02:00
Admiral H. Curtiss
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
JosJuice
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
iwubcode
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
The Hypnotron
154ac70833
Fix formatting in Readme
This unhides the dolphin-emu and dolphin-tool convert usage, which were hidden because the backticks preceding them were not on their own line.
2022-10-08 22:28:45 -04:00
Admiral H. Curtiss
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