Mai
54d3a226f3
Merge pull request #12088 from JosJuice/jitarm64-zero-fpr
...
JitArm64: Prefer MOVI with 64-bit elements for zeroing
2023-08-09 09:14:40 -04:00
JosJuice
1ebec40e4d
JitArm64: Prefer MOVI with 64-bit elements for zeroing
...
The Cortex-X2 and Cortex-X3 (and possibly others) recognize MOVI with
64-bit elements as a zeroing idiom, but not MOVI with other sizes.
2023-08-06 12:11:37 +02:00
Dentomologist
4ccac53e9f
X64EmitterTest: Check bytes instead of disassembly in JMP test
...
Check bytes directly to avoid ambiguity in the disassembly between short
and near jumps, which could hypothetically cause the test to pass when
it shouldn't.
2023-08-05 13:51:42 -07:00
Dentomologist
dcd5ba6587
x64EmitterTest: add J/J_CC/CALL unit tests
2023-08-05 13:51:42 -07:00
Dentomologist
83f307ec7e
D3D12: Only use framebuffer integer descriptor if allocated
...
Verify that DXFramebuffer's integer RTV descriptor's cpu_handle has been
allocated before using it, and if it hasn't use the non-integer RTV
descriptor instead. This fixes a Dolphin crash in Twilight Princess, and
possibly other games (Issue 13312).
As an optimization to save space in the descriptor heap, DXFramebuffer's
integer descriptor is only initialized if the given abstract texture
format has different integer and non-integer RTV formats. This
previously wasn't accounted for by GetIntRTVDescriptorArray, which could
cause DX12::Gfx::BindFramebuffer to call OMSetRenderTargets with an
invalid descriptor which would lead to a crash.
Triggering the bug was fortunately rare because integer formats are only
used when blending is disabled and logic ops are enabled. Furthermore,
the standard integer abstract format is RGBA8 which has different
integer and non-integer RTV formats, causing the integer descriptor to
be initialized and avoiding the bug.
The crash started appearing in a2702c6
because it changed the
swapchain's abstract texture format from RGBA8 to RGB10_A2. Unlike
RGBA8, RGB10_A2 has the same integer and non-integer RTV formats and so
the bug can be triggered if the other requirements are met.
2023-08-04 13:17:33 -07:00
JosJuice
f2b8baa82c
Translation resources sync with Transifex
2023-08-01 21:06:37 +02:00
JosJuice
02b0e287cb
InputConfig: Update IsControllerControlledByGamepadDevice for Android input overhaul
...
This only matters for analytics, but still.
2023-08-01 19:35:55 +02:00
JosJuice
a912a2c3f5
Merge pull request #12047 from AdmiralCurtiss/nand-stats-user
...
Add file size stats to NAND Check.
2023-07-30 21:51:07 +02:00
JosJuice
d2c5d79614
JitArm64: Use farcode in WriteLinkBlock
...
Now block link nearcode is back to a length of three instructions.
Unfortunately, the code I'm adding to Jit.cpp ends up being a bit messy
because we need to handle the case of already being in farcode...
2023-07-30 15:00:07 +02:00
JosJuice
1813f0fdb5
Jit: Remove checkedEntry
...
It's now always identical to normalEntry.
2023-07-30 14:28:02 +02:00
JosJuice
f78ba9ac55
JitArm64: Never check downcount on block entry
...
Jumping between linked blocks currently works as follows: First, at the
end of the first block, we check if the downcount is greater than zero.
If it is, we jump to the `normalEntry` of the block. So far so good. But
if the downcount wasn't greater than zero, we jump to the `checkedEntry`
of the block, which checks the downcount *again* and then jumps to
`do_timing` if it's less than zero (which seems like an off by one error
- Jit64 doesn't do anything like this). This second check is rather
redundant. Let's jump to `do_timing` where we previously jumped to
`checkedEntry`.
Jit64 doesn't check the downcount on block entry. See 5236dc3
.
2023-07-30 14:20:44 +02:00
Admiral H. Curtiss
9f817911fd
HLE_OS: Manually handle printfs from emulated software to prevent emulated software from crashing Dolphin with an invalid printf formatting string.
2023-07-29 20:06:09 +02:00
JosJuice
30c4ac34b0
Merge pull request #12073 from AdmiralCurtiss/wiimote-win32error
...
WiimoteReal/IOWin: Use correct error type in the default case.
2023-07-29 18:54:10 +02:00
Admiral H. Curtiss
7f29f0398c
MMU: Add a HostGetU16String() function for wide strings used by emulated software.
2023-07-29 15:11:00 +02:00
Admiral H. Curtiss
163c97e242
Merge pull request #12078 from iwubcode/imgui_netplay_fix
...
VideoCommon: update NetplayChatUI's chat message to avoid imgui error
2023-07-29 13:54:21 +02:00
iwubcode
dca7c67105
VideoCommon: update NetplayChatUI's chat message input to use a hidden label. This avoids an error thrown by imgui
2023-07-29 00:27:07 -05:00
JMC47
a2a6473962
Merge pull request #12065 from iwubcode/imgui_update
...
Externals / VideoCommon: update imgui to 1.89.7 (and implot to 0.15)
2023-07-28 17:22:20 -04:00
JosJuice
ed8911b204
Merge pull request #12019 from Dentomologist/gekkodisassembler_remove_unused_member_and_parameter
...
GekkoDisassembler: Remove unused member and parameters
2023-07-28 20:02:19 +02:00
JosJuice
bed3874497
Merge pull request #12076 from JosJuice/android-when-or
...
Android: Fix SettingsActivity.onActivityResult
2023-07-28 19:13:16 +02:00
JosJuice
b5b8282ca9
Android: Fix SettingsActivity.onActivityResult
...
`or` is the bitwise or operator.
Fixes file pickers in the settings not saving your choice.
2023-07-28 18:45:07 +02:00
Franz-Josef Haider
8bfcd2deb7
JitArm64/Jit64: Load the memory register without jumps and only when necessary.
2023-07-28 14:24:53 +03:00
Admiral H. Curtiss
fb9274c359
WiimoteReal/IOWin: Use correct error type in the default case.
2023-07-28 08:10:54 +02:00
Admiral H. Curtiss
cd923718c3
CommonFuncs: Add GetWin32ErrorString().
2023-07-28 08:10:01 +02:00
Dentomologist
3c6ea825c2
GekkoDisassembler: Remove unused parameter dmode from fdabc function
...
With the removal of m_flags, dmode is no longer used in fdabc.
2023-07-27 10:47:46 -07:00
Dentomologist
33dc2a9e6a
GekkoDisassembler: Remove unused parameter dmode from ldst function
...
With the removal of m_flags, dmode is no longer used in ldst.
2023-07-27 10:47:46 -07:00
Dentomologist
b3c5021fc4
GekkoDisassembler: Remove unused parameter dmode from rrn function
...
With the removal of m_flags, dmode is no longer used in rrn.
2023-07-27 10:47:46 -07:00
Dentomologist
a177c8bcb1
GekkoDisassembler: Remove unused parameter dmode from dab function
...
With the removal of m_flags, dmode is no longer used in dab.
2023-07-27 10:47:45 -07:00
Dentomologist
a732647e5a
GekkoDisassembler: Remove unused parameter dmode from nooper function
...
With the removal of m_flags, dmode is no longer used in nooper.
2023-07-27 10:47:45 -07:00
Dentomologist
317bb629b9
GekkoDisassembler: Remove unread variable m_flags
...
Writes to m_flags are pointless as it's never read.
2023-07-27 10:47:41 -07:00
JosJuice
e3453ea23d
Update GameTDB files
2023-07-27 19:45:52 +02:00
iwubcode
c2b495586d
Externals: add misc/cpp/imgui_stdlib to imgui build in order to use std::string in InputText
2023-07-27 12:08:07 -05:00
iwubcode
350e51951b
VideoCommon: update imgui to 1.89.7 (and implot to 0.15); fix issues with upgrade; keep the demo code in case someone wants to reference it but don't compile it by enabling 'IMGUI_DISABLE_DEMO_WINDOWS' in config
2023-07-27 11:47:34 -05:00
JosJuice
17fa9dfc4e
Merge pull request #12046 from AdmiralCurtiss/nand-stats-unit-test
...
UnitTests: Enable cluster check in FileSystemTest.GetDirectoryStats.
2023-07-27 18:44:34 +02:00
JosJuice
8f1b2280ae
Merge pull request #12068 from SuperSamus/manual-texture-game
...
Qt/GameConfigWidget: Add Manual Texture Sampling
2023-07-27 16:54:59 +02:00
riidefi
ec5d2a4f41
[Core] Prevent SD data loss from silent resync failure
2023-07-26 13:58:01 -06:00
JosJuice
44d25602a0
Translation resources sync with Transifex
2023-07-26 15:32:36 +02:00
Martino Fontana
1e5e319783
Qt/GameConfigWidget: Add Manual Texture Sampling
2023-07-25 00:45:13 +02:00
Martino Fontana
41f81aca69
Qt/GameConfigWidget: Rename m_enable_fast_disc
to m_emulate_disc_speed
2023-07-25 00:45:10 +02:00
Martino Fontana
0892998af1
Qt/GameConfigWidget: Add reverse
argument for {Save,Load}CheckBox
...
In order to not hard code `if (key == "FastDiscSpeed")`
2023-07-24 20:48:32 +02:00
Admiral H. Curtiss
0a2afa48b7
Merge pull request #12045 from tupfold/master
...
[Minor Bugfix] Extremely rare HostID collision bugfix
2023-07-24 03:55:45 +02:00
Admiral H. Curtiss
553824e5aa
Merge pull request #11853 from noahpistilli/update-curl
...
Externals: Update libcurl
2023-07-24 02:27:36 +02:00
Admiral H. Curtiss
2b80605e7e
Merge pull request #12067 from Pokechu22/debugging-ui-text-show-enable
...
Rename "Show Debugging UI" to "Enable Debugging UI"
2023-07-24 01:15:04 +02:00
Admiral H. Curtiss
c468ca2107
Merge pull request #12057 from iwubcode/config_core_timing_refresh_only
...
Core: save core timing parameters into variables updated during refresh
2023-07-24 01:14:18 +02:00
Pokechu22
7e38ff496c
Rename "Show Debugging UI" to "Enable Debugging UI"
...
This will hopefully reduce confusion on e.g. https://bugs.dolphin-emu.org/issues/13306 .
2023-07-23 15:17:04 -07:00
iwubcode
e54b7ac356
Core: save core timing parameters into variables updated during refresh
2023-07-23 14:03:21 -05:00
JosJuice
eb79bf37e2
Merge pull request #12052 from mitaclaw/profiling-is-something
...
Announce RSCRATCH clobbering in Jit64::Cleanup() when profiling is enabled
2023-07-23 20:12:43 +02:00
Admiral H. Curtiss
a76cc146e1
Merge pull request #12055 from iwubcode/skip_dump_async
...
VideoCommon: skip the texture dump if a custom texture is available, regardless if it is loaded or not
2023-07-23 19:53:25 +02:00
Admiral H. Curtiss
c1a4b3f350
Merge pull request #12051 from mandar1jn/J-documentation-improvements
...
Skylanders: Update J command documentation
2023-07-23 19:23:29 +02:00
Admiral H. Curtiss
dd3caa48b2
Merge pull request #12063 from SuperSamus/audio-name
...
cubeb: Change name to "Dolphin Emulator"
2023-07-23 19:15:24 +02:00
Bram Speeckaert
a486168448
JitArm64: Use LogicalImm in boolX
...
ARM64 has a special logical immediate encoding scheme, that can be used
with AND, ORR, and EOR. By taking advantage of this, we no longer need
to materialize the immediate value in a register, saving instructions
and/or reducing register pressure.
- orx
Before:
mov w23, #0x1
orr w23, w25, w23
After:
orr w23, w25, #0x1
- andx
Before:
mov w26, #-0x80000000
and w27, w27, w26
sxtw x24, w27
After:
and w27, w27, #0x80000000
sxtw x26, w27
- eqvx
Before:
mov w23, #0x4
eon w26, w23, w22
After:
eor w26, w22, #0xfffffffb
- xorx
Before:
mov w23, #0x1e
eor w23, w27, w23
After:
eor w23, w27, #0x1e
- norx
Before:
mov w25, #-0x2001
orr w23, w23, w25
mvn w23, w23
After:
orr w23, w23, #0xffffdfff
mvn w23, w23
2023-07-23 18:40:53 +02:00