JosJuice
eeef5363e4
Jit64: Correctly handle NaNs for ps_maddsX
2022-12-03 21:05:05 +01:00
JosJuice
06e60ac327
JitArm64: Implement accurate NaNs
...
For quite some time now, we've had a setting on x86-64 that makes Dolphin
handle NaNs in a more accurate but slower way. There's only one game that
cares about this, Dragon Ball: Revenge of King Piccolo, and what that game
cares about more specifically is that the default NaN (or "generated NaN"
as I believe it's called in PowerPC documentation) is the same as on
PowerPC. On ARM, the default NaN is the same as on PowerPC, so for the
longest time we didn't need to do anything special to get Dragon Ball:
Revenge of King Piccolo working. However, in 93e636a
I changed how we
handle FMA instructions in a way that resulted in the sign of NaNs
becoming inverted for nmadd/nmsub instructions, breaking the game.
To fix this, let's implement the AccurateNaNs setting, like on x86-64.
2022-12-03 19:41:32 +01:00
JosJuice
5c41d3b602
JitArm64: Refactor temp reg handling in fp_arith/ps_arith
2022-12-03 19:08:27 +01:00
Admiral H. Curtiss
839db591d9
HW/Memmap: Refactor Memory to class, move to Core::System.
2022-12-03 13:27:02 +01:00
Charles Lombardo
64733b2504
Android: Use expanding Extended FAB
...
This adds text to the FAB when expanded and shrinks the FAB on scroll. The text will return when scrolling up as well.
2022-12-02 22:12:33 -05:00
Mai
af5596720f
Merge pull request #11315 from t895/motion-dialog-fix
...
Android: Greatly simplify MotionAlertDialog theming
2022-12-02 20:55:29 +00:00
Mai
6b514e81f9
Merge pull request #11316 from Pokechu22/jit-widget-fixes
...
Jit widget fixes
2022-12-02 20:54:48 +00:00
Charles Lombardo
6a95c565ae
Android: Use progress indicator in short loading scenarios
2022-12-02 15:16:10 -05:00
Charles Lombardo
b9fffa2e66
Android: Add theme mode switcher
...
Similar to app themes, theme modes have to be loaded before directory initialization is ready. So we save the proper key the same way.
2022-12-02 13:31:57 -05:00
Pokechu22
3d6bfcd236
JITWidget: Convert to fmt
2022-12-01 17:44:41 -08:00
Pokechu22
6a6d24550e
Clean up DisassembleBlock and JitInterface::GetHostCode
2022-12-01 17:43:35 -08:00
Pokechu22
5842b90bee
Show JIT blocks widget when selecting 'PPC vs Host' in code widget
...
Before, I just assumed this feature was broken since I didn't know what widget it used. Now, it behaves like show memory and show code elsewhere.
2022-12-01 17:43:35 -08:00
Pokechu22
0ccfa31ec8
Fix code widget not becoming visible when selecting 'view code' or similar
...
This affected the memory and registers widgets (and possibly others). I'm pretty sure it regressed in 5f629abd8b
.
The SetCodeVisible line is a new fix, but the equivalent already existed in the memory widget.
2022-12-01 17:43:35 -08:00
Pokechu22
4f4bd57fe9
Fix crash when stopping emulation while the JIT widget is in use
...
The call to analyzer.Analyze breaks when it attempts to read an instruction, as it eventually tries to read memory when Memory::m_pRAM is nullptr. Trying to read when execution is not paused in general seems like a bad idea (especially as analyzer.Analyze uses PowerPC::TryReadInstruction which can update icache - this is probably still a problem).
2022-12-01 17:43:34 -08:00
Charles Lombardo
09e350d9a7
Android: Greatly simplify MotionAlertDialog theming
2022-12-01 18:52:13 -05:00
Mai
385dfb60a0
Merge pull request #11313 from t895/inset-fix
...
Android: Letterbox content with display cutouts in landscape
2022-12-01 15:09:31 +00:00
Mai
1d6d9e668f
Merge pull request #11312 from tellowkrinkle/MTLFixLod
...
VideoBackends:Metal: Fix min/max lod when setting non-zero-based samplers
2022-12-01 15:08:39 +00:00
Charles Lombardo
32b4f74d44
Android: Letterbox content with display cutouts in landscape
2022-12-01 01:24:09 -05:00
TellowKrinkle
ffb73f43e1
VideoBackends:Metal: Fix min/max lod when setting non-zero-based samplers
2022-11-30 21:11:37 -06:00
JMC47
4b7600f20f
Merge pull request #11311 from smurf3tte/tpa2_patch
...
GameSettings: Add patch for Ten Pin Alley 2 (RLEEFS)
2022-11-30 19:16:31 -05:00
TryTwo
700eca1baa
MemoryViewWidget set target address as selected. Fix focus call. Always color selected item blue.
2022-11-30 16:38:56 -07:00
smurf3tte
d448af0e84
GameSettings: Add patch for Ten Pin Alley 2 (RLEEFS)
...
A call to GXCopyDisp(), made once before the title screen for no
apparent purpose, is causing heap corruption, but it isn't observed on
real hardware thanks to the data cache. Skipping the call works too,
preventing a crash on the main menu.
2022-11-30 05:24:04 -08:00
Robin Kertels
35a6d16d9e
VideoBackends: Rename query_type to query_group
2022-11-29 23:14:23 +01:00
Robin Kertels
df2e07ad29
VideoBackends:Vulkan: Fix incorrect barriers in StagingBuffer
...
HOST barriers need to be issued regardless of
whether the memory type is coherent
and we need to properly synchronize writes to the buffer.
2022-11-29 23:14:23 +01:00
Robin Kertels
57b2ea663e
VideoBackends:D3D12: Set query type
2022-11-29 23:14:23 +01:00
Robin Kertels
6ba7573877
VideoBackends:Vulkan: Fix queries
...
Fixes both checking whether queries are done
and actually resets query pools.
2022-11-29 23:14:07 +01:00
Mai
7cd9a78ebf
Merge pull request #11304 from JosJuice/jit64-nan-c
...
Jit64: Correctly handle NaNs for ps_mulsX/ps_sumX
2022-11-29 12:57:43 +00:00
Mai
5f22a0054f
Merge pull request #11305 from JosJuice/jitarm64-optimize-ps-merge
...
JitArm64: Optimize ps_mergeXX
2022-11-29 12:57:10 +00:00
Mai
ff830c08b6
Merge pull request #11307 from AdmiralCurtiss/globals-command-processor
...
VideoCommon/CommandProcessor: Refactor to class, move to Core::System.
2022-11-29 12:56:30 +00:00
Admiral H. Curtiss
6941d2e7e6
VideoCommon/CommandProcessor: Refactor to class, move to Core::System.
2022-11-29 08:15:01 +01:00
Pokechu22
421af09b1e
Merge pull request #11279 from tellowkrinkle/GlobalStateIsGreat
...
VideoBackends:OGL: Creating vertex formats shouldn't unbind anything
2022-11-28 20:18:17 -08:00
TellowKrinkle
e3cc42069f
VideoBackends:OGL: Creating vertex formats shouldn't unbind anything
2022-11-28 21:28:24 -06:00
Charles Lombardo
2e63c6c3ee
Android: Upgrade AGP to 7.3.1
2022-11-28 15:52:17 -05:00
JosJuice
2f1a8ee1b9
Jit64: Skip HandleNaNs for operations that can't generate NaN
...
Operations that have two operands and can't generate a default NaN,
i.e. addition and subtraction, already have the desired NaN handling
on x86. We just need to make sure to not reverse the operands.
This fixes ps_sum0/ps_sum1 outputting NaNs in cases where they shouldn't.
(HandleNaNs assumes that a NaN in a ps0 input always results in a NaN in
the ps0 output, and correspondingly for ps1.)
2022-11-27 11:30:10 +01:00
JosJuice
cbceae9176
Jit64: Correctly handle NaNs for ps_mulsX
2022-11-27 11:30:10 +01:00
JosJuice
d3180e3516
Jit64: Refactor HandleNaNs operand passing
2022-11-27 11:30:05 +01:00
Mai
44f8b8c100
Merge pull request #11303 from AdmiralCurtiss/coretiming-class
...
CoreTiming: Refactor to class.
2022-11-27 06:00:46 +00:00
Admiral H. Curtiss
c8d30968f3
Merge pull request #11306 from AdmiralCurtiss/cubeb-coinit-fixes
...
Correctly call CoUninitialize() on Cubeb helper class destruction.
2022-11-27 04:42:25 +01:00
Admiral H. Curtiss
64bb9ae9a9
Correctly call CoUninitialize() on Cubeb helper class destruction.
2022-11-27 03:58:50 +01:00
Admiral H. Curtiss
daa70533cd
CoreTiming: Store Globals in CoreTimingManager.
2022-11-27 03:47:12 +01:00
Admiral H. Curtiss
c9558ecb4c
CoreTiming: Refactor to class.
2022-11-27 03:47:12 +01:00
Admiral H. Curtiss
3cdc6e3d4a
Merge pull request #10343 from AdmiralCurtiss/cubeb-2021
...
Update cubeb to mozilla/cubeb@27d2a102b0
2022-11-27 03:26:11 +01:00
JosJuice
332d187252
Translation resources sync with Transifex
2022-11-26 22:08:53 +01:00
JosJuice
f45d3a6a2c
JitArm64: Optimize ps_mergeXX
...
1. In some cases, ps_merge01 can be implemented using one instruction.
2. When we need two instructions for ps_merge01, it's best to start with
a MOV to avoid false dependencies on the destination register.
3. ps_merge10 can be implemented using a single EXT instruction.
2022-11-26 18:14:58 +01:00
Mai
ed84917eb3
Merge pull request #11301 from AdmiralCurtiss/globals-coretiming
...
CoreTiming: Move variables to Core::System.
2022-11-26 06:50:47 +00:00
Admiral H. Curtiss
49252a0217
Externals: Update cubeb to mozilla/cubeb@27d2a102b0 .
2022-11-26 05:21:58 +01:00
Admiral H. Curtiss
e085bf14f9
Core: Use extra thread for Cubeb on Windows to not disturb the CoInitialize state of whatever thread happens to call a Cubeb function.
2022-11-26 05:05:57 +01:00
Admiral H. Curtiss
ca10e92ab9
Core: Abide by COM MTA requirement for cubeb on Windows. Partially based on https://github.com/dolphin-emu/dolphin/pull/8920#discussion_r459746604
...
Co-authored-by: Michael M <mchtly@gmail.com>
2022-11-26 05:05:56 +01:00
Admiral H. Curtiss
59b1419a8e
Externals: Update cubeb to mozilla/cubeb@773f16b7ea and make it a submodule.
...
CMakeLists.txt has been extracted and modified a bit to work with Dolphin's typical build settings.
2022-11-26 05:05:52 +01:00
Admiral H. Curtiss
4273d3754c
CoreTiming: Move static variables into Core::System.
2022-11-26 04:22:32 +01:00