Commit Graph

28479 Commits

Author SHA1 Message Date
Pokechu22 24b761acda Fifo recorder: Fix position's type being used for normals/colors/texture coords
In most cases, games will use the same type for all vertex components (either Index8 or Index16 or Direct).  However, RS2's deflection towers use Index16 for the texture coordinate and Index8 for everything else, meaning the texture coordinates were recorded incorrectly (the first byte was used, so only indices 0 and 1 were recorded instead of 0 through 0x0192).  Worse still, some background elements in RS2 use direct positions but indexed normals or texture coordinates, and those would not be recorded at all.

This is a regression from b5fd35f951.
2022-10-22 13:36:16 -07:00
JMC47 804e42150e
Merge pull request #11188 from GaryOderNichts/feature/vwii_ancast
Support for loading vWii System Menu
2022-10-22 15:57:55 -04:00
Pokechu22 6de55e416b WaveFile: Fix size check
`count` is the number of stereo samples to write (where each stereo sample is two shorts), while `BUFFER_SIZE` is the size of the buffer in shorts.  So `count` needs to be multiplied by `2`, not `BUFFER_SIZE`.  Also, when this check was failed, the previous code just clobbered whatever was past the end of the buffer after logging the warning, which corrupted `basename`, eventually resulting in Dolphin crashing.

This affected Datel's Wii-compatible Action Replay, which uses a block size of 2298, or 18384 stereo samples, which is 36768 shorts, which is bigger than the buffer size of 32768. (However, the previous commit means that only one block is transfered at a time, eliminating this issue; fixing the bounds check is just a general safety thing instead of an actual bugfix now.)
2022-10-22 11:44:38 -07:00
Pokechu22 2a83b17ffb DSP: Copy audio dma samples one block at a time
Reverts 9f8e1e2a0d, but keeps the changes from e4e44909d5.

This fixes missing audio in Datel titles; see https://bugs.dolphin-emu.org/issues/12281.
2022-10-22 11:44:38 -07:00
GaryOderNichts 88c57a00a3 Show vWii System Menu version in Menu Bar 2022-10-22 13:36:55 +02:00
GaryOderNichts 82d20ce352 Support for loading Ancast images 2022-10-22 13:35:49 +02:00
JMC47 5b69c67b3a
Merge pull request #11147 from JosJuice/jitarm64-arith-org
JitArm64: Merge ps_mulsX, ps_maddXX, and parts of fp_arith
2022-10-22 06:37:27 -04:00
JMC47 b7310a180f
Merge pull request #11170 from JosJuice/jit64-dispatcher-no-check
Jit64: Add dispatcher_no_timing_check jump target
2022-10-22 06:19:00 -04:00
JMC47 55d269c9e0
Merge pull request #11190 from jordan-woyak/shinkansen-ui-button-order
WiimoteEmu: Shinkansen Tweaks
2022-10-22 05:21:00 -04:00
JosJuice 812067ab7c JitArm64: Move ps instructions from fp_arith to ps_arith
This lets us simplify fp_arith without making ps_arith much more
complicated.

No behavior change.
2022-10-22 11:15:41 +02:00
JosJuice 554a2fd332 JitArm64: Merge ps_mulsX and ps_maddXX
They have a lot of shared code, most notably the code for rounding c.

No behavior change.
2022-10-22 11:12:19 +02:00
JMC47 2153276ab9
Merge pull request #10046 from JosJuice/jitarm64-improve-const-stores
JitArm64: FIFO optimization improvements
2022-10-22 05:03:43 -04:00
JMC47 bc4d08047d
Merge pull request #10979 from tellowkrinkle/QuartzWindowSpeed
InputCommon:QuartzKB&M: Use KVO to watch window position
2022-10-22 04:55:12 -04:00
Markus Wick 7a2256469e
Merge pull request #11127 from JosJuice/aarch64-jitasm-macro-op
JitAsm64: Reorder instructions in routines to allow macro-op fusion
2022-10-22 10:31:54 +02:00
Markus Wick 583c2b8a0c
Merge pull request #11181 from JosJuice/jitarm64-25-bit-urshr
JitArm64: Reimplement Force25BitPrecision
2022-10-22 10:26:07 +02:00
Markus Wick 5c7b5514ed
Merge pull request #11148 from JosJuice/jitarm64-remove-cdts-inst
JitArm64: Remove unnecessary instruction from ConvertDoubleToSingle
2022-10-22 10:10:23 +02:00
JosJuice 4dbf0b8e90 JitArm64: Reimplement Force25BitPrecision
The previous implementation of Force25BitPrecision was essentially a
translation of the x86-64 implementation. It worked, but we can make a
more efficient implementation by using an AArch64 instruction I don't
believe x86-64 has an equivalent of: URSHR. The latency is the same as
before, but the instruction count and register count are both reduced.
2022-10-22 10:03:52 +02:00
Jordan Woyak d9d6428189 WiimoteEmu: Replace shinkansen MixedTriggers with Triggers. 2022-10-22 02:42:40 -05:00
Jordan Woyak d705b8d4b8 WiimoteEmu: Reorder shinkansen buttons in UI. 2022-10-22 02:37:28 -05:00
Markus Wick bba38a3642
Merge pull request #11182 from JosJuice/aarch64-emit-shift-imm
Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
2022-10-22 09:23:06 +02:00
Jordan Woyak 5ed0543430 GCAdapter: Process pad state in read thread and other general cleanups. 2022-10-22 00:38:59 -05:00
Shawn Hoffman 2b43f96899 WinUpdater: Defer modifying any files until Updater.exe
Fixes https://bugs.dolphin-emu.org/issues/12151
2022-10-21 19:14:00 -07:00
Léo Lam 79e09c3731
Merge pull request #11186 from GaryOderNichts/ios/device_creation
IOS::HLE::Kernel::InitIPC: Replace s_ios check with Core::IsRunning
2022-10-21 21:17:58 +02:00
GaryOderNichts 2fb45660b3 IOS::HLE::Kernel::InitIPC: Replace s_ios check with Core::IsRunning 2022-10-21 20:38:02 +02:00
JMC47 00e23da607
Merge pull request #11051 from shuffle2/update-vcredist
WinUpdater: Check OS and VC++ Redist versions
2022-10-21 13:55:51 -04:00
JMC47 9222956acd
Merge pull request #10859 from tellowkrinkle/UniformBufferSize
VideoCommon: Increase uniform stream buffer size to 64mb
2022-10-20 17:13:31 -04:00
JosJuice 84375a91d9 Arm64Emitter: Combine immh and immb for Emit(Scalar)ShiftImm
This simplifies the callers of EmitShiftImm and EmitScalarShiftImm.
2022-10-19 20:20:39 +02:00
JMC47 9aece1810c
Merge pull request #10836 from iwubcode/d3d_uint_fix
VideoCommon: fix uint shader compiler error when using d3d
2022-10-18 12:12:08 -04:00
Lobsterzelda 486a523e0d IOS: Simplify IOS::HLE::Device savestate method 2022-10-17 23:11:04 -04:00
TellowKrinkle 6fd933915b VideoBackends:Vulkan: Improve backend multithreading
Makes the multiple threads actually able to run at the same time
2022-10-17 00:05:35 -05:00
Admiral H. Curtiss 10f973a87f
Merge pull request #11122 from K0bin/descriptor-overhaul
VideoBackends:Vulkan: Allocate descriptor pools as needed
2022-10-17 04:25:35 +02:00
Admiral H. Curtiss 9992a198f1
IOS/NetKDRequest: Don't abort on first unset bit in subtask mask. 2022-10-16 20:43:59 +02:00
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
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
Lobsterzelda 65c7304bd4 VideoInterface: Simplify VideoInterface savestate code
VideoInterface: Simplify savestate code in VideoInterface
2022-10-13 15:21:22 -04: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
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
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
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 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
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
Admiral H. Curtiss bfbc04ef5e
ENetUtil: Check return values of ENet functions in SendPacket(). 2022-10-09 02:39:38 +02:00
Admiral H. Curtiss 66684a392f
Deduplicate NetPlayServer::Send() and NetPlayClient::Send() into ENetUtil::SendPacket(). 2022-10-09 02:25:28 +02:00
Admiral H. Curtiss 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
TryTwo 1ed6028af4 NewBreakpointDialog: Add a help message for conditionals. 2022-10-08 13:23:24 -07:00
Admiral H. Curtiss 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
Robin Kertels 332824f7d5
VideoBackends:Vulkan: Fix command buffer cleanup 2022-10-08 21:40:33 +02:00
JosJuice 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
JosJuice 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
Admiral H. Curtiss 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
Admiral H. Curtiss e7219f7389
Jit64: Convert constantGqr to std::array. 2022-10-08 13:54:50 +02:00
TellowKrinkle fd2680d8b4 VideoBackends:Metal: Use a temporary buffer for large texture uploads 2022-10-08 04:46:07 -05:00
TellowKrinkle a13f09433c VideoBackends:Metal: Add config option to use presentDrawable 2022-10-08 04:46:07 -05:00
TellowKrinkle 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
TellowKrinkle 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
TellowKrinkle 93ce7bf344 VideoBackends:Metal: Unroll lighting loop 2022-10-08 04:44:48 -05:00
TellowKrinkle 45ee1be6da VideoBackends:Metal: Properly set vsync on creation 2022-10-08 04:44:48 -05:00
TellowKrinkle 274d4679ca VideoBackends:Multiple: More GPUs with broken subgroup ops 2022-10-08 04:44:48 -05:00
Admiral H. Curtiss 1abffc0b05
PPCAnalyst: Remove unused variables in BlockStats. 2022-10-08 03:30:56 +02:00
Admiral H. Curtiss a5217c07b8
PPCAnalyst: Remove unused variables and methods in BlockRegStats. 2022-10-08 03:26:42 +02:00
Admiral H. Curtiss 6a2ed5758e
JitCache: Erase address from noSpeculativeConstantsAddresses when block is invalidated. 2022-10-08 02:44:36 +02:00
Pokechu22 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
TryTwo 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
smurf3tte 85cb4d1bc5 Support memory reads/writes from breakpoint expressions
Co-authored-by:  TryTwo <taolas@gmail.com>
2022-10-06 21:34:44 -07:00
smurf3tte 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
smurf3tte 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
Lobsterzelda d2db451eba
HW/MemoryInterface: Add data to savestates and initialize on boot. 2022-10-07 01:31:56 +02:00
Admiral H. Curtiss 691135dbc3
HW: Move SerialInterface variables to Core::System. 2022-10-06 22:08:20 +02:00
Pokechu22 4d33f6af7c GCMemcard: Remove manual std::vector handling in DoState 2022-10-06 11:25:36 -07:00
Pokechu22 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
Admiral H. Curtiss 26318e2c51
HW: Move ExpansionInterface variables to Core::System. 2022-10-06 01:19:29 +02:00
Admiral H. Curtiss 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
Admiral H. Curtiss 662caf91ac
HW/GCMemcardDirectory: Add error message if opening GCI fails. 2022-10-05 19:56:05 +02:00
Admiral H. Curtiss 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
JMC47 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
Admiral H. Curtiss eea31db781
Vulkan/CommandBufferManager: Show error code in PanicAlerts. 2022-10-04 19:50:23 +02:00
Admiral H. Curtiss 9c944d5734
HW: Move VideoInterface variables to Core::System. 2022-10-04 02:25:12 +02:00
JosJuice 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
JosJuice 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
JosJuice 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
JosJuice cb16d20f2d ControllerEmu: Add new "input override" system 2022-10-03 22:00:21 +02:00
JosJuice f4f189c51f JitArm64: Rename BindToRegister parameters for clarity 2022-10-03 21:41:34 +02:00
Admiral H. Curtiss e137f7f878
WiimoteEmu: Rewrite serialization of DesiredWiimoteState to optimize for network bandwidth. 2022-10-02 23:25:15 +02:00
Admiral H. Curtiss ae4b89441c
Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay. 2022-10-02 23:25:15 +02:00
Admiral H. Curtiss a1563f2def
Netplay: Implement batching for Wiimotes. 2022-10-02 23:25:10 +02:00
Admiral H. Curtiss aade584180
Netplay: Completely rewrite Wiimote syncing logic to be similar to the GameCube controller one. 2022-10-02 23:22:02 +02:00
Admiral H. Curtiss f8518b2ff6
WiimoteEmu: Add serialization for DesiredWiimoteState. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss a2dadbb2f0
Wiimote: Separate the Input system state update from the emulated state update. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss bb5943ae77
Wiimote: Separate the Wiimote index in the Input system from the index of the Wiimote in the emulated system. 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss b67ffb9ab5
WiimoteEmu: Make Reset() deterministic under WantsDeterminism(). 2022-10-02 23:14:36 +02:00
Admiral H. Curtiss 466f0b377b
WiimoteEmu: Update extensions from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss e7543a9e05
WiimoteEmu: Update MotionPlus status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss 26fd4ea361
WiimoteEmu: Update IR camera status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss 9669722dfc
WiimoteEmu: Update accelerometer status from DesiredWiimoteState. 2022-10-02 23:14:35 +02:00
Admiral H. Curtiss a39f82cb1f
WiimoteEmu: Update button status from DesiredWiimoteState. 2022-10-02 23:14:34 +02:00
Admiral H. Curtiss 52424fe327
Qt: Allow opening controller settings during netplay. 2022-10-02 23:14:34 +02:00
Admiral H. Curtiss bc47a9a31a
Qt/WiimoteControllersWidget: Disable potentially breaking stuff during netplay. 2022-10-02 23:13:26 +02:00
Admiral H. Curtiss 37ae9ab524
Qt/GamecubeControllersWidget: Disable dropdowns during netplay. 2022-10-02 23:10:43 +02:00
JosJuice 42775eed36 JitArm64: Fix BindToRegister in case Immediate && !set_dirty
Fixes a Rogue Squadron II regression from 9d73583.

This set_dirty stuff is pretty tricky to reason about. I thought I
was clever when coming up with set_dirty, but maybe I was too clever
for my own good...
2022-10-02 22:38:00 +02:00
Admiral H. Curtiss 95cace837a
HW: Move DSP variables to Core::System. 2022-10-02 05:13:55 +02:00
Admiral H. Curtiss c84835c53c
Merge pull request #11114 from JosJuice/jitarm64-divwx-imm
JitArm64: Fix divwx BindToRegister condition
2022-10-02 01:10:48 +02:00
Admiral H. Curtiss 6911e1b730
Merge pull request #11113 from DivineWinds/translate_tooltip
DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable
2022-10-02 00:16:25 +02:00
Admiral H. Curtiss f3a23db0e0
Core/State: Minor cleanup around the undo load state buffer. 2022-10-02 00:01:01 +02:00
Admiral H. Curtiss e0d30e371c
Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
Admiral H. Curtiss 79efd5df1e
Common/WorkQueueThread: Make Shutdown() public, so users can wait for all currently queued tasks to finish when shutting down the thread. 2022-10-01 23:58:52 +02:00
Robin Kertels 4e204a9a1a
VideoCommon: Remove special treatment for Android in video settings 2022-10-01 20:53:02 +02:00
JosJuice 8984777749 JitArm64: Call GetImm before BindToRegister
In case the register we're binding is the same as the immediate register,
we should fetch the immediate before calling BindToRegister. The way
the register cache currently works, calling GetImm after BindToRegister
actually does work, but it's better to not rely on it.
2022-10-01 20:44:51 +02:00
JosJuice 8902d2fe3a JitArm64: Fix divwx BindToRegister condition
a is being used both as an immediate and as a register here.
Since it's being used as a register, it must be loaded.
2022-10-01 19:29:41 +02:00
Robin Kertels 779fe13e62
VideoCommon: Update EFB peek cache on draw done and tokens
Massively improves performance in Mario Galaxy on Android.
2022-10-01 18:08:38 +02:00
DivineWinds 37892a8611 DolphinQt/HacksWidget: Make backend name in GPU Texture Decoding/Bounding Box tooltip translatable 2022-10-01 12:32:49 +03:00
JMC47 c196c47e81
Merge pull request #11090 from K0bin/submit-rework
Vulkan: Raise number of command buffers
2022-09-30 20:15:25 -04:00
Robin Kertels e5fb9c9adf
VideoBackends:Vulkan: Raise number of command buffers
Avoid waiting for earlier submissions when we flush more often.
The vertex manager will flush more often if the game accesses the EFB
on the CPU, to give the GPU a head start.
2022-10-01 01:26:04 +02:00
Robin Kertels fba7d35f94
VideoBackends:Vulkan: Associate descriptor pool with frame rather than command buffer 2022-10-01 01:26:04 +02:00
Robin Kertels ed75a58061
VideoBackends:Vulkan: Decouple available command buffers from frames in flight 2022-10-01 01:26:04 +02:00
Robin Kertels e8fa867f14
VideoBackends:Vulkan: Only synchronize with submission thread when necessary
We only need to synchronize with the submission thread
when submitting on the GPU thread or when waiting for a command buffer.
2022-10-01 01:26:04 +02:00
Robin Kertels 2e6d8d6575
VideoBackends:Vulkan: Fix validation error around surface_capabilities2 2022-10-01 01:26:03 +02:00
JMC47 68eda7f887
Merge pull request #11084 from K0bin/qcom-workaround
Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom
2022-09-30 15:33:00 -04:00
Robin Kertels 81c817c54d
VideoBackends:Vulkan: Workaround slow vkCmdCopyImageToBuffer on QCom driver 2022-09-30 21:13:42 +02:00
JosJuice 2e8d775df1 Jit64: boolX formatting fixes 2022-09-29 20:27:15 +02:00
Mai 1f2ec9afd6
Merge pull request #11052 from Tilka/shinkansen
Add emulated Shinkansen controller
2022-09-29 09:21:27 -04:00
Mai e3e6c3dfa4
Merge pull request #11088 from JosJuice/uicommon-set-enable-alert
Move a SetEnableAlert call to UICommon
2022-09-29 09:09:29 -04:00
Mai 6805c9dd0d
Merge pull request #11108 from AdmiralCurtiss/fat-fs-callbacks
FatFsUtil: Add ability to provide callbacks for the FatFs code.
2022-09-29 09:08:12 -04:00
Mai 0c19a1d87c
Merge pull request #11100 from Pokechu22/software-settings-merge
Use the same settings for the software renderer as other backends
2022-09-29 09:05:51 -04:00
Mai 865348cfb1
Merge pull request #11103 from JosJuice/android-gamefilecache-not-null
Android: Allocate GameFileCache on GUI thread
2022-09-29 09:02:47 -04:00
Pokechu22 87f84d4f54 Debugger/CodeWidget: Update callstack/callers/calls on symbol changes
Before, only the symbols box would update. However, if you edit the symbol of a function in the call stack (which seems like something that would happen reasonably often while debugging), the call stack would be out of date until it was updated by clicking on it. Callers and calls were more of an edge case; for them to be out of date, you would need to right-click on an instruction in a function other than the one containing the currently-selected instruction (though it would also affect recursive functions).
2022-09-28 21:01:37 -07:00
Admiral H. Curtiss 3182d9178c
FatFsUtil: Add ability to provide callbacks for the FatFs code. 2022-09-29 05:16:21 +02:00
Vincent Pelletier fbf9d6ea17 SI: Ignore non-standard setGameID command
Avoids a panic when loading recent swiss. Not enough to have it run,
unfortunately.
2022-09-28 22:29:50 +00:00
Admiral H. Curtiss dafe2c785a
Merge pull request #9481 from Sintendo/jit64boolx
Jit64: boolX constant optimizations
2022-09-28 23:40:26 +02:00
Admiral H. Curtiss 95615ab91b
Merge pull request #11096 from Sintendo/arm64boolx
JitArm64: boolX constant optimizations
2022-09-28 21:58:06 +02:00
Admiral H. Curtiss 32bdc54869
Merge pull request #11101 from Pokechu22/backend-multithreading-enabled
DolphinQt: Only enable the backend multithreading checkbox if the backend supports it
2022-09-28 21:57:37 +02:00
Admiral H. Curtiss 4de70f1e99
Merge pull request #11099 from Pokechu22/draw_done_and_token_stats
VideoCommon: Add statistics for draw done and token commands
2022-09-28 21:56:54 +02:00
Vincent Pelletier 85d2358157 EXI_DeviceMemoryCard: Drop comment about ChipErase behaviour
Tested on an official DOL-014 (251 blocks) memory card by executing the
0xf4 command on a card with content along its entire length and then
dumping the whole card: it reads as 0xff all the way through.
Therefor, the current implementation is already consistent with hardware.
2022-09-28 11:55:46 +00:00
JosJuice 51debaeb47 Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata"
This reverts commit fb265b610d.

The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)

Losing out on this optimization isn't too bad, because
719930bb39 makes it very unlikely that
both threads will want the lock at the same time.
2022-09-27 19:06:05 +02:00
Pokechu22 3d0cd8b076 DolphinQt: Remove software renderer settings widget
Thus, the software renderer uses the same settings as everything else, fixing https://bugs.dolphin-emu.org/issues/13051.
2022-09-26 19:43:57 -07:00
Pokechu22 b90d23158f Software: Fix mipmaps and uneven strides in SWTexture
I think this is only used for texture dumping, but this resolves some failed assertions and glitchy results.
2022-09-26 19:43:57 -07:00
Pokechu22 94a77bc573 DolphinQt: Only enable the backend multithreading checkbox if the backend supports it 2022-09-26 19:25:11 -07:00
Pokechu22 a6c00c7633 D3D12: Fix backend multithreading incorrectly being marked as supported 2022-09-26 19:24:52 -07:00
Pokechu22 56fce3ba8a Software: Remove dedicated texture/frame dumping infrastructure
Texture dumping can already be done using VideoCommon's system (and in fact the same setting already enabled *both* of these). Dumping objects/TEV stages/texture fetches doesn't currently have an equivalent, but could be added to the FIFO player instead.
2022-09-26 18:25:54 -07:00
Pokechu22 39569392bd VideoCommon: Add statistics for draw done and token commands 2022-09-26 16:19:54 -07:00
Pokechu22 67ed4fa92d Common/Image: Add unit to log message 2022-09-26 15:04:15 -07:00
Bram Speeckaert 4914ff25d6 JitArm64: boolX constant optimizations
A (partial) port of #9481 to ARM64. This commit adds special cases for
immediate values equal to 0 or 0xFFFFFFFF, allowing for more efficient
or no code to be generated.
2022-09-25 14:58:26 +02:00
Bram Speeckaert 9d73583ea3 JitArm64: Skip redundant imm to register writes
When a guest register is an immediate, it may be necessary to move this
value into a register. This is handled by gpr.R(), which lacks context
on how the register will be used. This leads to cases where the
immediate is written to a register, only for it to be overwritten. Take
for example this code generated by srwx:

0x5280031b   mov    w27, #0x18
0x53187edb   lsr    w27, w22, #24

gpr.BindToRegister() does have this context through the do_load
parameter, but didn't handle immediates. By adding this logic, we can
intelligently skip the write when do_load is false.
2022-09-25 10:04:51 +02:00
Admiral H. Curtiss f106bc150a
Merge pull request #11083 from sepalani/bba-check
BBA/BuiltIn: Fix a crash during network stack exhaustion
2022-09-24 20:30:46 +02:00
Admiral H. Curtiss 63975556a4
Merge pull request #10175 from dreamsyntax/pause-on-panic
Core/DolphinQt: Add Pause on Panic Option for DSI Exceptions and Unknown Instruction
2022-09-24 20:28:09 +02:00
Admiral H. Curtiss 571e300e9e
Merge pull request #11047 from AdmiralCurtiss/netplay-save-options-rework
Netplay: Simplify save data options.
2022-09-24 20:26:05 +02:00
JosJuice 04072f0ce6 Integrate "Ignore for this session" better with config system
Because of the previous commit, this is needed to stop DolphinQt from
forgetting that the user pressed ignore whenever any part of the config
is changed.

This commit also changes the behavior a bit on DolphinQt: "Ignore for
this session" now applies to the current emulation session instead of
the current Dolphin launch. This matches how it already worked on
Android, and is in my opinion better because it means the user won't
lose out on important panic alerts in a game becase they played another
game first that had repeated panic alerts that they wanted to ignore.

For Android, this commit isn't necessary, but it makes the code cleaner.
2022-09-24 13:03:45 +02:00
JosJuice 16c71b9a35 Move a SetEnableAlert call to UICommon
This fixes a problem where changing the Use Panic Handlers setting on
Android wouldn't take effect until the app was restarted.
2022-09-24 12:35:10 +02:00
Admiral H. Curtiss 02a967f786
InputCommon: Add equality operators to RawValue. 2022-09-24 01:44:21 +02:00
Admiral H. Curtiss 24a1fe32f1
InputCommon: Make RawValue constructors constexpr. 2022-09-24 01:38:09 +02:00
Admiral H. Curtiss 70485472b1
Common/Matrix: Add equality operators to TVec2/3/4. 2022-09-24 01:38:01 +02:00
Admiral H. Curtiss 3fa9fdf57a
Merge pull request #11075 from AdmiralCurtiss/controller-gui-refresh
Qt/Controllers: Refresh GUI on settings change.
2022-09-24 00:14:54 +02:00
Sepalani 34858e934f BBA/BuiltIn: Ignore UPnP request to itself 2022-09-23 20:54:26 +04:00
Sepalani df53ebb59f BBA/BuiltIn: Fix a crash during network stack exhaustion 2022-09-23 18:59:27 +04:00
Admiral H. Curtiss 9860b68b9c
Common: Add [[nodiscard]] to GetStringT(). 2022-09-23 14:58:18 +02:00
Admiral H. Curtiss 4cb8914ad3
VolumeVerifier: Add missing assignment to summary_text. 2022-09-23 14:57:55 +02:00
Admiral H. Curtiss f426e3cd79
Merge pull request #11039 from TryTwo/PR_MemoryWidget_MiniMenu
Debugger MemoryWidget: Create mini-menu at top of sidebar.
2022-09-23 04:22:10 +02:00
Admiral H. Curtiss b7855a3a56
Merge pull request #11073 from Hibyehello/Fix-Metal-init
Add Metal as backend option with Vulkan Disabled
2022-09-23 04:21:23 +02:00
Admiral H. Curtiss 75c50223f2
Merge pull request #11078 from Minty-Meeo/mapfloat-tweak
Use std::llround in MapFloat
2022-09-23 04:18:03 +02:00
JMC47 b0ac5ac6af
Merge pull request #10949 from Zopolis4/reprecated
Resolve C++20 deprecation warnings
2022-09-22 21:56:24 -04:00
Minty-Meeo 73dfcc15a5 Use std::llround in MapFloat
I don't see why not.
2022-09-22 11:30:32 -05:00
Shawn Hoffman 717c36bc43 WinUpdater: Check OS and VC++ Redist versions. 2022-09-20 15:57:50 -07:00
Admiral H. Curtiss 270ffa7351
Qt/WiimoteControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:47:16 +02:00
Admiral H. Curtiss a5dbf6b60d
Qt/GamecubeControllersWidget: Refresh GUI on settings change and refactor a bit. 2022-09-20 23:46:45 +02:00
Admiral H. Curtiss 019dc86b6f
Qt/CommonControllersWidget: Refresh GUI on settings change. 2022-09-20 23:46:36 +02:00
JMC47 22197c09a3
Merge pull request #10781 from tellowkrinkle/UberVertexLoader
VideoCommon: Add dynamic vertex loader for ubershaders to reduce pipeline count
2022-09-20 17:14:07 -04:00
JosJuice 6203c101f8 JitArm64: Enforce correct alignment of SPR_TL 2022-09-20 18:55:28 +02:00
TellowKrinkle ee692abbe1 VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
Admiral H. Curtiss d04e1ca96a
Merge pull request #11058 from shuffle2/updater-inflate
Updater: Move inflate intermediate buffer to heap and enlarge
2022-09-20 02:45:50 +02:00
JMC47 3b10bf04ac
Merge pull request #10808 from Pokechu22/vertex-loader-direct-normals-with-index3
VideoCommon: Fix direct normal+tangent+binormal with index3 set
2022-09-19 19:47:37 -04:00
Admiral H. Curtiss 0d095b4d9b
Netplay: Simplify save data options. 2022-09-20 01:37:32 +02:00
Admiral H. Curtiss 39314ac162
Add more logging around Wii save copying for Netplay. 2022-09-20 01:37:31 +02:00
TellowKrinkle 1eb3aaa548 VideoCommon: Use std::array in PortableVertexDeclaration 2022-09-19 16:28:24 -05:00
TellowKrinkle 28b31b8327 VideoBackends:Vulkan: Make dynamic vertex loader optional
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00
TellowKrinkle dae56a24b8 VideoBackends:D3D12: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 936b4d5d0d VideoBackends:Vulkan: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 7edc8b4e79 VideoBackends:Metal: Don't set primitive on ubershaders 2022-09-19 16:28:24 -05:00
TellowKrinkle 99533d2840 VideoCommon: Add separate pipeline usage for UberShaders 2022-09-19 16:28:24 -05:00
TellowKrinkle d289e9c51c VideoCommon: Compile a few extra pipelines 2022-09-19 16:28:24 -05:00
TellowKrinkle d3dae1cd7e VideoBackends:Metal: Dynamic vertex loader support 2022-09-19 16:28:24 -05:00
TellowKrinkle 4c629c2bee VideoCommon: Add dynamic vertex loader to ubershaders 2022-09-19 16:28:23 -05:00
Admiral H. Curtiss c21f2512c8
HW: Move g_SRAM to System. 2022-09-19 21:47:15 +02:00
Admiral H. Curtiss 0a517ebdbd
Core: Pass Netplay SRAM through boot process.
This removes the Netplay classes touching emulated hardware structures before emulation even starts.
2022-09-19 21:47:12 +02:00
Admiral H. Curtiss 9963637463
HW: Remove global state from functions in Sram.h. 2022-09-19 21:42:43 +02:00
Josh 1fd60aeb5d
Merge branch 'dolphin-emu:master' into Fix-Metal-init 2022-09-19 12:27:37 -05:00
Josh ef13a54b0a
VideoBackends - Enable Metal without Vulkan 2022-09-19 11:28:34 -05:00
JosJuice 720b3f5519
Merge pull request #11071 from AdmiralCurtiss/netplay-settings-style
Netplay: Rename variable names in NetSettings to match style guide.
2022-09-19 17:55:36 +02:00
Pokechu22 d80201a57f VertexLoaderARM64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:24 -07:00
Pokechu22 f148de161f VertexLoaderARM64: Specify the register to use as a parameter to ReadVertex
This also means that both a register and a vertex are always specified, though right now if the register is scratch1_reg the offset is always 0.
2022-09-18 23:33:24 -07:00
Pokechu22 ad644d5e92 VertexLoaderARM64: Merge GetAddressImm into GetVertexAddr
This way it more closely matches VertexLoaderX64, and is in general easier to understand.
2022-09-18 23:33:24 -07:00
Pokechu22 9a290c3d50 VertexLoaderARM64: Always use unscaled load/store instructions
The source and destination offsets will always be less than 255, so we can get rid of a lot of the complexity by doing this.
2022-09-18 23:33:24 -07:00
Pokechu22 a34d5e5960 Arm64Emitter: Add additional alignment assertions
Before, unaligned values would be silently ignored in most cases.
2022-09-18 23:33:24 -07:00
Pokechu22 afe5adb74d VertexLoaderARM64: Use EnumMap for normal scales 2022-09-18 23:33:24 -07:00
Pokechu22 200676f4e3 VertexLoaderX64: Fix direct normal+tangent+binormal with index3 set
Fixes https://bugs.dolphin-emu.org/issues/12952
2022-09-18 23:33:23 -07:00
Pokechu22 5cc2f7729e VertexLoaderX64: Use EnumMap for normal scales 2022-09-18 23:33:23 -07:00
JMC47 6f4f5b0b7b
Merge pull request #11067 from K0bin/cache-vertex-size
OpcodeDecoding: Cache vertex sizes
2022-09-18 22:38:06 -04:00
Admiral H. Curtiss bec4850fc3
Netplay: Rename variable names in NetSettings to match style guide. 2022-09-19 01:25:46 +02:00
Robin Kertels 2db74e7f21
OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
Robin Kertels a6c6ec012c
VertexLoaderManager: Clean up and slightly speed up with templates 2022-09-19 01:14:49 +02:00
JosJuice eec43ce3f3
Merge pull request #11068 from JosJuice/revert-vcredist
Revert "windows: distribute vcredist loose files"
2022-09-18 23:40:33 +02:00
Admiral H. Curtiss 07f86446a6
Netplay: Remove unused m_HostInputAuthority in NetSettings. 2022-09-18 23:00:08 +02:00
Admiral H. Curtiss 69ad2cc4d0
Merge pull request #11059 from AdmiralCurtiss/netplay-graceful-shutdown
NetPlayClient: Treat power button event as a netplay stop.
2022-09-18 00:00:44 +02:00
JosJuice fec6f1bd5a Revert "windows: distribute vcredist loose files"
This reverts commit 0837af4344.
2022-09-16 10:33:39 +02:00
Robin Kertels a31e36aeb7
VertexLoaderManager: Fix backwards preprocess check
Spotted by Pokechu22.
2022-09-15 23:56:04 +02:00
JMC47 32fba6dbd8
Merge pull request #11066 from K0bin/vertex-size-opt
Optimize GetVertexSize
2022-09-15 14:25:32 -04:00
Robin Kertels fdcd2b7d00
VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
Robin Kertels 8aa214453a
VertexLoader: Optimize GetVertexSize
GetComponentSizes was unused, so we simplify this and get rid
of the branches.
2022-09-15 02:47:23 +02:00
Shawn Hoffman 0837af4344 windows: distribute vcredist loose files 2022-09-14 13:15:45 -07:00
Admiral H. Curtiss bf331ffa45
NetPlayClient: Treat power button event as a netplay stop. 2022-09-13 01:26:45 +02:00
Admiral H. Curtiss 35f6d12acc
NetPlayClient: Consolidate stopping code to function. 2022-09-13 01:26:45 +02:00
Admiral H. Curtiss c4b3f2302a
NetPlayClient: Consolidate Wiimote buffer waiting code to function. 2022-09-13 01:26:45 +02:00
Shawn Hoffman 7432b6ce91 Updater: Move inflate intermediate buffer to heap and enlarge 2022-09-12 03:35:03 -07:00
Tillmann Karras f5670f870e Add emulated Shinkansen controller 2022-09-11 17:12:19 +01:00
Mai dbcf7fd2c9
Merge pull request #11049 from Tilka/tatacon
TaTaCon: fix possible hotswap problem
2022-09-11 05:12:12 -04:00
Admiral H. Curtiss 1732071a10
Netplay: Pass netplay settings via BootSessionData. 2022-09-11 04:18:26 +02:00
Tillmann Karras b418441f4a TaTaCon: fix possible hotswap problem 2022-09-11 00:16:00 +01:00
Mai 4edb3a8074
Merge pull request #11041 from AdmiralCurtiss/global-state-audio
HW: Move AudioInterface variables to Core::System.
2022-09-10 17:10:17 -04:00
Mai 804af55b3a
Merge pull request #11042 from AdmiralCurtiss/global-state-file-monitor
HW: Convert FileMonitor::Log into a class.
2022-09-10 17:08:25 -04:00
JosJuice 84507ec420
Merge pull request #10725 from t895/theme-merge
Android: App redesign with multi-theme system
2022-09-10 20:08:37 +02:00
Admiral H. Curtiss b51d37fe49
HW: Convert FileMonitor::Log into a class. 2022-09-09 22:35:51 +02:00
Admiral H. Curtiss 001fe8f94d
HW: Move AudioInterface variables to Core::System. 2022-09-09 04:13:43 +02:00
TryTwo 50db8f35b8 Debugger MemoryWidget: Create mini-menu at top of sidebar. Move dump buttons and "set value from file" to the menu. 2022-09-08 16:36:36 -07:00
Admiral H. Curtiss 426b5b1927
Merge pull request #10123 from sepalani/ai-cleanup
AudioInterface: Cleanup
2022-09-09 00:37:58 +02:00
Admiral H. Curtiss 200c9dd0c5
Merge pull request #11011 from Pokechu22/audio-mixer-assertions
Mixer: Add assertions regarding num_samples versus buffer length
2022-09-08 22:01:18 +02:00
Admiral H. Curtiss d4fe54147e
Merge pull request #10757 from AdmiralCurtiss/show-memcard-path-in-gui
Qt: Show currently configured Memory Card path in the config window.
2022-09-08 21:12:21 +02:00
Pokechu22 72de74d4fc Mixer: Add assertions regarding num_samples versus buffer length 2022-09-08 12:10:10 -07:00
Pokechu22 abb59a781a Mixer: Use smaller array for PushWiimoteSpeakerSamples 2022-09-08 12:10:02 -07:00
Admiral H. Curtiss 329d279c05
Merge pull request #10751 from Zopolis4/manifesto
Update supportedOS values in .manifest files
2022-09-08 20:36:28 +02:00
Admiral H. Curtiss 85bd57df0e
Merge pull request #11007 from PEmu2/enj
Edit error message
2022-09-08 20:00:18 +02:00
Admiral H. Curtiss 696614fd1b
Merge pull request #11014 from AdmiralCurtiss/nand-repair-scrollable-box
Qt: Make custom dialog for NAND Repair.
2022-09-08 19:58:46 +02:00
Admiral H. Curtiss 45c4aa288a
Merge pull request #10881 from iwubcode/graphics-mod-draw-fb-texture-names
VideoCommon: fix graphics target texture names for efb/xfb
2022-09-08 19:56:49 +02:00
Admiral H. Curtiss 710210365a
Merge pull request #11038 from AdmiralCurtiss/steam-overlay-crash-fix-wgi
WGInput: Work around crash with Steam overlay.
2022-09-08 19:03:31 +02:00
Pokechu22 2dfe91336a
Merge pull request #10549 from Pokechu22/sw-tev-enum-map
Refactor various bits of graphics code for readability
2022-09-08 09:42:12 -07:00
Mai 74851fe94a
Merge pull request #11029 from AdmiralCurtiss/global-state-dvd
HW: Move DVD variables to Core::System.
2022-09-07 23:40:16 -04:00
Mai 348db11bdb
Merge pull request #11040 from AdmiralCurtiss/update-references-deadlock
InputCommon: Fix deadlock in EmulatedController::UpdateReferences().
2022-09-07 23:39:10 -04:00
Admiral H. Curtiss b8ca1b2907
InputCommon: Fix deadlock in EmulatedController::UpdateReferences(). 2022-09-07 22:37:24 +02:00
Admiral H. Curtiss 67c97a0bf2
WGInput: Work around crash with Steam overlay. 2022-09-07 21:06:26 +02:00
Admiral H. Curtiss dbb0cfbc09
DSPLLE: Remove dead DSPSymbolDB. 2022-09-03 22:20:24 +02:00
Admiral H. Curtiss 2d45ce5c4e
HW: Move DVDInterface variables to Core::System. 2022-09-03 21:54:25 +02:00
Admiral H. Curtiss c4d5804f60
HW: Move DVDThread variables to Core::System. 2022-09-03 21:54:25 +02:00
Sepalani 9b9f701ac5 AudioInterface: Add setters for AIS/AID sample rate 2022-09-03 23:36:34 +04:00
Sepalani 59eb1253a3 AudioInterface: Use anonymous namespace for static functions 2022-09-03 23:02:28 +04:00
Sepalani f7a2972899 AudioInterface: Use IsPlaying method 2022-09-03 22:40:38 +04:00
dreamsyntax 78c6819f5e Core: pause on panic handler option 2022-09-02 13:22:32 -07:00
Mai 23902f99ae
Merge pull request #11026 from AdmiralCurtiss/sound-stream
AudioCommon: Move sound stream variables to Core::System.
2022-09-01 23:41:42 -04:00
Mai 50550cf978
Merge pull request #11009 from shuffle2/device-notify
ciface/win32 and WGInput bug fixes
2022-09-01 00:27:55 -04:00
Charles Lombardo 940a38f172 Android: App redesign with multi-theme system 2022-08-31 18:01:15 -04:00
Admiral H. Curtiss c310e504cb
AudioCommon: Move sound stream variables to Core::System. 2022-08-31 21:44:21 +02:00
Admiral H. Curtiss 9195e1a9b8
Merge pull request #11021 from merryhime/constructor-order
Ensure constructor initializer order matches initialization order
2022-08-30 02:29:37 +02:00
Merry 362167fde5 MTLObjectCache: Correct signature of equality operator
Not doing so produces a warning in clang:
    ISO C++20 considers use of overloaded operator '!=' (with operand types
    'Metal::DepthStencilSelector' and 'Metal::DepthStencilSelector') to be
    ambiguous despite there being a unique best viable function with
    non-reversed arguments

The underlying reason for this warning is an incorrect method signature.
2022-08-29 21:23:23 +01:00
Merry b0717607b2 TextureInfo: Reorder members in constructor
m_stage is initialized last
2022-08-29 21:16:21 +01:00
Merry 3323375efb GraphicsModManager: Reorder DecoratedAction members to initialization order
m_action_impl is initialized before m_mod in constructor
2022-08-29 21:15:49 +01:00
Pokechu22 698def66ff Fifo analyzer: Fix various XF mistakes
* 'hangle' was a typo
* Light colors include an alpha value, so they should be 8 characters, not 6
* The XF command format adds 1 to the count internally (so 0 is one word), but we need to subtract that back to produce a valid command
* XFMEM_POSTMATRICES was calculating the row by subtracting XFMEM_POSMATRICES (POS vs POST), resulting in incorrect row numbering
2022-08-29 11:10:05 -07:00
Pokechu22 3fb09e3297 Fifo analyzer: Improve some BP descriptions
Mainly, the improvements are passing in the current command ID so that e.g. stage numbers can be directly included, instead of saying 0/1 or even/odd.
2022-08-29 11:10:05 -07:00
Pokechu22 546f9952a2 UberShaderPixel: Fix typo 2022-08-29 11:10:05 -07:00
Pokechu22 5ef8a7973e BPMemory: Make TevKSel more clear
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner).  Since these are indexed very differently, the old code was hard to follow.
2022-08-29 11:10:05 -07:00
Pokechu22 f21798b9b6 BPMemory: Use even/odd in TwoTevStageOrders instead of 0/1 2022-08-29 11:10:05 -07:00
Pokechu22 e43f02c752 BPMemory: Improve consistency of hex offset comments
I search for these somewhat often with control+f, but tend to default to adding a 0x prefix, which means I don't find them until I remove it.
2022-08-29 11:10:05 -07:00
Pokechu22 4206ac243b SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMap 2022-08-29 11:10:05 -07:00
Pokechu22 ae0fcd9a9f SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColors 2022-08-29 11:10:05 -07:00
Pokechu22 3b9a048291 SW/Tev: Use std::clamp for Clamp255 and Clamp1024 2022-08-29 11:10:05 -07:00
Pokechu22 bae0f21f74 SW/Tev: Remove Tev::Init 2022-08-29 11:10:05 -07:00
Pokechu22 c9936f8c1c SW/Tev: Use EnumMap for scale/bias tables 2022-08-29 11:10:05 -07:00
Pokechu22 b02992548e SW/Tev: Use EnumMap for Reg 2022-08-29 11:10:03 -07:00
Pokechu22 2db7569463 SW/Tev: Use TevColorRef/TevAlphaRef instead of raw s16 pointers 2022-08-29 11:05:10 -07:00
Pokechu22 ec1ed64832 EnumMap: Fix typo 2022-08-28 22:38:35 -07:00
JMC47 6d61e6a601
Merge pull request #11016 from Pokechu22/software-indirect-texture-bug
Software/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4
2022-08-29 01:37:36 -04:00
Pokechu22 e04d23e086 SW/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4
The masking was incorrect. This affects the main menu of The Last Avatar, though that menu also relies on copy filter functionality that is not correctly handled in the software renderer so the difference is not obvious; that game shuffles textures across all indices for some reason, so this issue would presumably result in subtle flickering.
2022-08-28 12:19:36 -07:00