Pokechu22
e44b596f50
DSPHLE: Fix typos in libaesnd logging
2022-07-25 20:35:43 -07:00
Pokechu22
58d344e189
DSPHLE: Support EDuke32 Wii libaesnd uCode
...
This version is exclusive to EDuke32 Wii (see https://bugs.dolphin-emu.org/issues/12990 ).
2022-07-25 20:35:41 -07:00
Pokechu22
a6d08571bd
DSPHLE: Move aesnd uCode hash constants into header
2022-07-25 20:32:02 -07:00
Pokechu22
4b179e01da
DSPHLE: Move asnd uCode hash constants into header
2022-07-25 20:31:04 -07:00
Shawn Hoffman
f92541fbd9
StripSpaces: only strip spaces
...
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman
acb10f0006
replace libpng with libspng
2022-07-25 18:32:16 -07:00
Admiral H. Curtiss
e4ff49769c
Merge pull request #10888 from shuffle2/zlib-ng
...
replace zlib with zlib-ng
2022-07-26 02:25:17 +02:00
JMC47
bfd03cd1a4
Merge pull request #10793 from Pokechu22/dsp-hle-aesnd
...
DSPHLE: Add HLE version of libaesnd ucode
2022-07-25 05:12:53 -04:00
JosJuice
86bb290cc5
Merge pull request #10886 from OatmealDome/metal-minor-fixes
...
Metal: Prevent usage of macOS-only APIs on non-macOS platforms
2022-07-25 08:31:18 +02:00
Admiral H. Curtiss
d14bd10cd7
Quartz: Handle mouse centering hotkey.
...
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2022-07-25 01:26:57 +02:00
Admiral H. Curtiss
e0870166ef
XInput2: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
d57d04bb04
DInput: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
4d27022d0e
Add hotkey for centering mouse in render window.
2022-07-25 00:59:47 +02:00
Shawn Hoffman
c3b64012d1
replace zlib with zlib-ng
...
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
OatmealDome
700162b8bd
MTLUtil: Include TargetConditionals
2022-07-23 17:22:11 -04:00
OatmealDome
77f44f1600
MTLMain: Include TargetConditionals
2022-07-23 17:22:11 -04:00
OatmealDome
b32b27ae9a
MTLMain: Only compile NSView manipulation code on macOS
2022-07-23 17:22:04 -04:00
JosJuice
e5a177ece9
Merge pull request #10868 from tellowkrinkle/UsesDSBFix
...
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-23 22:14:07 +02:00
JosJuice
8f410bff15
Android: Add graphics mods support to CheatsActivity
2022-07-23 21:58:45 +02:00
OatmealDome
8ad7fa0313
MTLUtil: Return invalid for non-supported texture formats on non-macOS platforms
2022-07-23 13:53:31 -04:00
OatmealDome
7edd3aff75
MTLUtil: Don't attempt to get all GPUs on non-macOS platforms
2022-07-23 13:53:22 -04:00
OatmealDome
50d3ad58df
CMakeLists: Link videometal with Foundation
2022-07-23 13:53:15 -04:00
Pokechu22
6a7aa8f2c6
Convert CP/XF matrix indices mismatch panic alert to a warning
...
https://bugs.dolphin-emu.org/issues/12977 indicates that this happens on startup of Spider-Man 2, even in single-core. I don't have the game, so I can't directly determine why this is happening, but presumably real hardware does not hang in this case, so we can make it less obtrusive.
2022-07-23 09:01:22 -07:00
JMC47
89c4fdeeea
Merge pull request #10754 from tellowkrinkle/Metal
...
VideoBackends: Add Metal backend
2022-07-23 01:57:35 -04:00
Pokechu22
5bbdf7ae15
ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
...
Fixes https://bugs.dolphin-emu.org/issues/12981
2022-07-22 22:22:34 -07:00
Pokechu22
97412553f9
Add a more detailed comment about SPR_WPAR's BNE bit
2022-07-22 22:22:34 -07:00
Pokechu22
c06f203e98
MMU: Clarify masking on gather pipe address
2022-07-22 22:22:34 -07:00
Pokechu22
1c833ddc3c
Create constant for GPFifo physical address
2022-07-22 22:22:33 -07:00
Pokechu22
b76f4dd5f8
ProcessorInterface: Remove unused fields
2022-07-22 22:20:26 -07:00
TellowKrinkle
6559c6b8ee
VideoBackends:Multiple: Grammar fixes
2022-07-21 20:44:19 -05:00
TellowKrinkle
a41345127f
VideoBackends:Metal: Remove unified memory config
...
Not worth the extra code
2022-07-21 20:44:19 -05:00
TellowKrinkle
5065767abd
VideoBackends:Metal: Avoid submitting draw calls with no vertices/indices
2022-07-21 20:44:19 -05:00
TellowKrinkle
ee3f2b8fcb
VideoBackends:Metal: Implement PerfQuery
2022-07-21 20:44:19 -05:00
TellowKrinkle
c48035908c
VideoBackends:Metal: Use unified memory path by default on all GPUs
2022-07-21 20:44:19 -05:00
TellowKrinkle
6ee0248eab
VideoBackends:Metal: MSAA support
2022-07-21 20:44:19 -05:00
TellowKrinkle
c0fd128171
VideoBackends:Metal: Use base vertex
2022-07-21 20:44:19 -05:00
TellowKrinkle
5742ccf8de
VideoBackends:Metal: Cache pipelines
...
Metal pipelines hold less stuff than Dolphin pipelines, so duplicates will appear
2022-07-21 20:44:19 -05:00
TellowKrinkle
e32213d031
VideoBackends:Metal: Create samplers on demand
2022-07-21 20:44:19 -05:00
TellowKrinkle
61705b05da
VideoBackends:Metal: FBFetch for Intel GPUs
2022-07-21 20:44:19 -05:00
TellowKrinkle
a5ef9dfd53
VideoBackends:Metal: Use DriverDetails for bugs
2022-07-21 20:44:19 -05:00
TellowKrinkle
716c0980d7
VideoBackends: Add Metal renderer
2022-07-21 20:44:19 -05:00
Admiral H. Curtiss
df399b0995
Merge pull request #10878 from Pokechu22/btreal-allow-libusb-descriptor-errors
...
BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning
2022-07-22 02:00:13 +02:00
Pokechu22
6eaa4a4e89
DSPHLE: Add HLE version of libaesnd ucode
2022-07-20 18:41:47 -07:00
Pokechu22
5e64f453ab
DSPHLE/ASnd: Rename m_next_command_is_voice_addr to m_next_mail_is_voice_addr
2022-07-20 18:41:47 -07:00
Pokechu22
75ae3b7ec4
DSPHLE: Fix comment in libasnd uCode
2022-07-20 18:41:47 -07:00
Pokechu22
76fd0479b8
JitAsm: Remove old commented-out code
...
I'm not sure what the XMM0 check was supposed to be, but the 0xCC008000 one is for the fifo and is handled elsewhere now (look for `optimizeGatherPipe`).
2022-07-20 16:38:54 -07:00
Léo Lam
e40be6e8fd
Merge pull request #10865 from JosJuice/volume-verifier-ios-case
...
VolumeVerifier: Ignore case when looking for IOS on update partition
2022-07-20 20:41:55 +01:00
Admiral H. Curtiss
a1e8e60c4c
IOS: Add IOSC::KeyEntry::misc_data to savestate.
2022-07-20 21:32:44 +02:00
Pokechu22
a23a7f7b10
BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning
2022-07-20 11:21:23 -07:00
Admiral H. Curtiss
b0b5faa793
Merge pull request #10874 from JosJuice/cmpr-layout
...
VideoCommon: Fix CMPR compute shader layout
2022-07-19 12:05:29 +02:00
Admiral H. Curtiss
ec3cfc01c1
DiscIO/DirectoryBlob: Add callback to modify sys files before they're added to the disc.
2022-07-19 00:55:04 +02:00
Admiral H. Curtiss
cc315cb7af
DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files.
2022-07-19 00:55:04 +02:00
Admiral H. Curtiss
f5c132580c
DiscIO/DirectoryBlob: Add ContentSource that stores data locally in std::vector.
2022-07-19 00:55:03 +02:00
Admiral H. Curtiss
9e5bc98496
DiscIO/RiivolutionPatcher: Skip main.dol patches if no main.dol was given.
2022-07-19 00:55:03 +02:00
Admiral H. Curtiss
fa30ba18f5
Merge pull request #10783 from JosJuice/frontend-controller-init
...
Require frontend to initialize controllers
2022-07-19 00:50:32 +02:00
JosJuice
1a2bc2eff9
VideoCommon: Fix CMPR compute shader layout
...
Looks like a copy-paste gone wrong. The compute shaders for the other
formats use a group size of 8 * 8, whereas the CMPR compute shader
is supposed to use a flattened 64 * 1 as I understand it.
2022-07-18 18:56:50 +02:00
Shawn Hoffman
28828435bb
Qt/LogWidget: remove extra space
2022-07-18 09:52:54 -07:00
Shawn Hoffman
0a15d2fcec
cubeb: fix logged source file paths
2022-07-18 09:52:54 -07:00
TellowKrinkle
88c85ce471
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-17 20:50:53 -05:00
Joon Park
319288de8e
Fix OpenGL error on M1 Mac.
...
Followup to #10466 . Resolves the following error:
ERROR: 0:85: '&' does not operate on 'uvec3' and 'int'
2022-07-17 08:54:39 -04:00
JosJuice
dabad82219
Require frontend to initialize controllers
...
We currently have two different code paths for initializing controllers:
Either the frontend (DolphinQt) can do it, or if the frontend doesn't do
it, the core will do it automatically when booting. Having these two
paths has caused problems in the past due to only one frontend being
tested (see de7ef47548
). I would like to get rid of the latter path to
avoid further problems like this.
2022-07-17 14:03:04 +02:00
JosJuice
2f3c0cdbc5
Split out controller initialization to UICommon
2022-07-17 14:02:03 +02:00
JosJuice
81a20a1d74
VolumeVerifier: Ignore case when looking for IOS on update partition
...
One of the Dragon Quest X expansions (S4SJGD) uses lowercase instead of
the usual uppercase for the IOS59 file on its update partition.
2022-07-17 09:20:12 +02:00
JMC47
70b0b03c3c
Merge pull request #10747 from tellowkrinkle/LateUIDFixup
...
Add a post-cache shader UID fixup pass
2022-07-17 00:43:16 -04:00
JMC47
f1d23ff9a4
Merge pull request #10466 from Pokechu22/efb-copy-gamma
...
Accurately handle the copy filter and gamma for EFB and XFB copies
2022-07-17 00:07:50 -04:00
Admiral H. Curtiss
2ef069e0e8
Merge pull request #10833 from sepalani/BBA-log
...
NetworkCaptureLogger: Add GameCube BBA support
2022-07-16 21:44:08 +02:00
OatmealDome
2eecfc8595
WiiPane: Adjust capitalization of conversion buttons and alert titles
2022-07-16 04:08:55 -04:00
OatmealDome
60aaa308bf
WiiPane: Trim automatic SD sync checkbox string
2022-07-16 04:00:26 -04:00
Pokechu22
a6e06f38ad
Add notes about precision of YUV->RGB conversion factors for XFB
2022-07-16 00:07:10 -07:00
Pokechu22
2f43889141
Software: Use hardware-verified numbers for RGB->YUV conversion
2022-07-16 00:07:10 -07:00
Pokechu22
e7339d63f1
Rework TextureConversionShader for hardware accuracy and simplicity
2022-07-16 00:07:10 -07:00
Pokechu22
b16ec5b6dc
Rework TextureConverterShaderGen for hardware accuracy and simplicity
2022-07-16 00:07:10 -07:00
Pokechu22
791bd16b28
Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
...
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
TellowKrinkle
fb5648541c
VideoCommon: Remove dstalpha from BlendingState
...
It's not supported by any PC graphics API, and therefore completely unused
2022-07-15 15:31:47 -05:00
TellowKrinkle
991024173e
VideoCommon: Always use fbfetch in ubershaders if available
...
Reduce the number of different pipelines needed. Also works around drivers that break when you combine fbfetch with dual source blending
2022-07-15 15:31:47 -05:00
Pokechu22
d20094efa2
Add extra Low and High fields to CopyFilterCoefficients
...
This struct is the only one in BPMemory that uses u64 as its base. These fields are to allow viewing it as two u32s instead. It's not used by Dolphin right now, but it is used in the copy of BPMemory.h used by hwtests.
2022-07-15 12:29:40 -07:00
Pokechu22
bed278d3b7
Create dedicated enum for EFB/XFB gamma correction
...
This also changes the behavior for the invalid gamma value, which was confirmed to behave the same as 2.2.
Note that currently, the gamma value is only used for XFB copies, even though hardware testing indicates it also works for EFB copies. This will be changed in a later commit.
2022-07-15 12:29:40 -07:00
Pokechu22
dd41a72378
Only use intensity formats if both intensity_fmt and auto_conv are set
...
auto_conv is normally always set for EFB copies, but hardware testing indicates that intensity_fmt does nothing if auto_conv is not set.
2022-07-15 12:29:40 -07:00
Pokechu22
cd2cc5fa22
Rename EFB copy bit 2 from yuv to unknown_bit
...
It was named yuv in 522746b2c2
, but hardware testing indicates that that bit does nothing (the intensity format bit enables YUV conversion, instead).
2022-07-15 12:29:40 -07:00
Pokechu22
850e524514
Use fmt::to_string for texture format overlay
...
This required adding parentheses to the font used by that.
2022-07-15 12:29:40 -07:00
Pokechu22
290e62f179
Remove casts to integers for texture and EFB formats
...
The only remaining casts for these types that I know of are in TextureInfo (where format_name is set to the int version of the format, and since that affects filenames and probably would break resource packs, I'm not changing it) and in TextureDecoder_Common's TexDecoder_DrawOverlay, which will be handled separately.
2022-07-15 12:29:40 -07:00
Admiral H. Curtiss
89067e66f9
InputCommon: Get rid of static strings.
2022-07-15 19:53:10 +02:00
Admiral H. Curtiss
537fe33997
Merge pull request #10843 from Pokechu22/freelook-background-input
...
Free Look: Add background input setting (disabled by default)
2022-07-14 19:08:29 +02:00
Admiral H. Curtiss
a739f63d96
Merge pull request #10840 from AdmiralCurtiss/cmake-windows-sdl
...
Fix CMake Windows build after SDL merge.
2022-07-14 19:05:25 +02:00
TellowKrinkle
6ab24e6c17
VideoCommon: Better driver bug handling
...
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-07-13 21:51:24 -05:00
JMC47
e237aa1435
Merge pull request #10777 from tellowkrinkle/EFBFlush
...
VideoCommon: Remember to flush command buffers after multiple EFB copies
2022-07-13 19:45:31 -04:00
Pokechu22
25aa30ac69
Free Look: Add background input setting (disabled by default)
...
Before, Free Look would accept background input by default, which means it was easy to accidentally move the camera while typing in another window. (This is because HotkeyScheduler::Run sets the input gate to `true` after it's copied the hotkey state, supposedly for other threads (though `SetInputGate` uses a `thread_local` variable so I'm not 100% sure that's correct) and for the GBA windows (which always accept unfocused input, presumably because they won't be focused normally).
2022-07-13 15:23:00 -07:00
JMC47
5663a44962
Merge pull request #10842 from tellowkrinkle/ClearBackendInfo
...
VideoCommon: Clear backend_info before populating
2022-07-13 16:40:46 -04:00
Admiral H. Curtiss
bae715f396
Merge pull request #10838 from AdmiralCurtiss/volume-verifier-out-of-bounds-read
...
DiscIO/VolumeVerifier: Avoid out-of-bounds reads on trimmed Wii ISOs.
2022-07-13 18:49:24 +02:00
Admiral H. Curtiss
10407cc8c1
DiscIO/VolumeVerifier: Don't try to verify data that would read out of bounds.
2022-07-13 13:35:18 +02:00
JMC47
cb350aed53
Merge pull request #10841 from tellowkrinkle/FBFetchLogicOpMasking
...
VideoCommon: Properly mask fbfetch logic op emulation
2022-07-13 03:56:14 -04:00
TellowKrinkle
f83015649c
VideoCommon: Clear backend_info before populating
2022-07-13 02:55:54 -05:00
TellowKrinkle
6bd0fc86ba
VideoCommon: Properly mask fbfetch logic op emulation
2022-07-13 02:27:45 -05:00
Admiral H. Curtiss
e79c7d4985
InputCommon: Don't force-link against SDL2.lib on Windows.
2022-07-13 01:37:05 +02:00
Sepalani
76fe7b6497
NetworkCaptureLogger: Add GameCube BBA support
2022-07-12 13:35:49 +04:00
Admiral H. Curtiss
2d8d3358c4
FatFsUtil: Skip past entries with invalid filenames.
2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
de9c9f2281
FatFsUtil: Improve error handling and error reporting.
2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
d2910b5753
Qt: Add 'convert now' buttons for the SD card in the WiiPane.
2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
f40eeebcf0
FatFsUtil: Add some path traversal attack protection when unpacking.
2022-07-11 23:11:42 +02:00
Admiral H. Curtiss
a621fdf857
Core: In deterministic mode, build SD cards with a consistent filename order and dummy timestamps.
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
1d12e95404
Qt: Put Wii SD card path and SD sync folder fields in the WiiPane.
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
a5b1bfef68
Common: Change default path for Wii SD cards to not be inside the Wii NAND.
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
4bf75c950b
Qt/WiiPane: Add checkbox for SD card folder syncing.
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
77d4591fb4
Core: If configured, sync SD card image with SD card folder on emulation start and end.
...
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss
b66cc1caf6
Config and UICommon: Add config option and user path for Wii SD card sync folder.
2022-07-11 23:11:40 +02:00
Admiral H. Curtiss
96751c4457
Treewide: Rename references to SD Card image path to clarify they mean the image file, not the folder.
2022-07-11 23:11:40 +02:00
Admiral H. Curtiss
fdc327c252
Externals/FatFs: Build as part of Dolphin.
...
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:37 +02:00
Admiral H. Curtiss
32523f155b
Merge pull request #10825 from Rudolchr/fix_build_with_libfmt-9
...
MsgHandler: Add a check for libfmt version to fix build with libfmt-9
2022-07-11 23:02:08 +02:00
Admiral H. Curtiss
20059776d9
Merge pull request #10831 from sepalani/BBA-cleanup
...
Common/Network+BBA/Builtin: Cleanup
2022-07-11 23:00:21 +02:00
JMC47
b2be9b40cc
Merge pull request #10561 from shuffle2/sdl-motion
...
ControllerInterface: Add support for motion and rumble to SDL backend
2022-07-11 16:28:30 -04:00
Pokechu22
6cc8adb3ae
DVDInterface: Mask upper bits of DIMAR in GC mode
...
The masking was removed in d3aad1d6d5
, based on a Wii hardware test. Based on https://bugs.dolphin-emu.org/issues/12970 the masking should apply in GameCube mode, though.
2022-07-10 18:00:07 -07:00
Admiral H. Curtiss
99eef44765
Merge pull request #10832 from tellowkrinkle/FixCTZ
...
Common: Fix CountTrailingZeros for weird compilers
2022-07-11 02:12:45 +02:00
JMC47
cce6133ef6
Merge pull request #10749 from tellowkrinkle/IntelUbershaders
...
VideoCommon: Fix ubershaders on MoltenVK Intel
2022-07-10 19:35:55 -04:00
Shawn Hoffman
54b4ad8f55
ci/sdl: pump messages for SDL_hidapi so device detection works
2022-07-10 15:39:06 -07:00
Shawn Hoffman
ddf83462ac
sdl: enable SDL_HINT_JOYSTICK_THREAD
...
fixes window message pumping
2022-07-10 15:39:06 -07:00
Shawn Hoffman
655fb94e61
ci/win32: give the wndclass a unique name
...
other things (like SDL) may try to use "Message"
2022-07-10 15:39:06 -07:00
Shawn Hoffman
dd20c7cf78
ci/sdl: re-add the x360 controller block
2022-07-10 15:39:06 -07:00
Shawn Hoffman
3f7a2c6d4d
ci/sdl: minor cleanup
2022-07-10 15:39:06 -07:00
Jun Bo Bi
ceed42a0ee
Add SDL as a submodule
2022-07-10 15:38:59 -07:00
TellowKrinkle
3d34a20105
Common: Fix CountTrailingZeros for weird compilers
2022-07-10 17:35:47 -05:00
Jun Bo Bi
6cb936d0cf
Add SDL motion input and rumble support
2022-07-10 14:49:49 -07:00
JMC47
38cb76dea5
Merge pull request #10807 from merryhime/LogicalImm
...
Arm64Emitter: Simplify LogicalImm logic
2022-07-10 17:27:47 -04:00
Merry
0d947ed6fe
Arm64Emitter: Simplify LogicalImm further
...
h/t @dougallj
2022-07-10 22:17:09 +01:00
Merry
20ccc38f0f
BitUtils: Implement CountTrailingZeros
2022-07-10 22:17:09 +01:00
Sepalani
be2ede6109
BBA/BuiltIn: Move functions to anonymous namespace
2022-07-10 20:57:35 +04:00
Sepalani
b950d038b9
Common/Network: Update IP checksum since total_len might have changed
2022-07-10 20:56:07 +04:00
Sepalani
5fdf255a2d
Common/Network: Make Build() methods const
2022-07-10 20:12:07 +04:00
Sepalani
d902b04ae0
Common/Network: Remove unused offset variables
2022-07-10 14:11:50 +04:00
Sepalani
b206f98261
Common/Network: Remove unnecessary size checks
2022-07-10 14:04:03 +04:00
Sepalani
6238834c05
Common/Network: Add InsertObj helper
2022-07-10 13:56:33 +04:00
Sepalani
4efe1e7ca7
Common/Network: Ensure offsetof is valid
2022-07-10 12:48:12 +04:00
Sepalani
b7bd2a4001
Common/Network: Use member initializer list
2022-07-10 12:31:59 +04:00
Sepalani
13957a627c
Common/Network: Remove unused constructors
2022-07-10 11:42:58 +04:00
JosJuice
6e09b13ce3
Merge pull request #10829 from AdmiralCurtiss/spirv-cross-cmake-fix
...
Fix CMake Windows build after #10673 (HLSL from SPIRV).
2022-07-10 09:08:24 +02:00
OatmealDome
1c6a0073d2
ShaderCompiler: Use compute shader header in compute shaders
2022-07-09 19:01:58 -04:00
Admiral H. Curtiss
cdd3571491
D3DCommon: Add glslang include directories in CMake.
2022-07-10 00:59:32 +02:00
Admiral H. Curtiss
5a7759e359
Merge pull request #10690 from schthack/BBA-tapless
...
BBA: Added BuiltIn device that allow BBA emulation without the need o…
2022-07-09 23:20:53 +02:00
schthack
087020b23a
Refactoring of the code to match dolphin style
...
Changed access for offsetof + some clean up
2022-07-09 17:01:22 -04:00
JosJuice
0ebc510e6f
JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
...
If a 64-bit register is passed to WriteConditionalExceptionExit,
the LDR instruction in it will read too much data. This seems
to be harmless right now, but causes problem in one of my PRs.
2022-07-09 21:19:25 +02:00
Admiral H. Curtiss
5337943785
Merge pull request #10827 from JosJuice/jitarm64-psqst-unlock
...
JitArm64: Fix GPR unlocking in psq_stXX
2022-07-09 20:27:40 +02:00
JosJuice
6f40981ac0
JitArm64: Fix GPR unlocking in psq_stXX
...
This is what happens when I copypaste things a bit too quickly
2022-07-09 20:10:00 +02:00
Christopher Rudolph
66f330e573
Add a check for libfmt version so that in case libfmt-9 is used the function is_compile_string is called under it's new namespace
2022-07-09 17:02:09 +02:00
Admiral H. Curtiss
e072aaa769
ShaderCache: Fix inverted usage of palette_format.
2022-07-09 13:17:53 +02:00
JMC47
fac66897af
Merge pull request #10819 from Dentomologist/fix_shader_compilation_warnings
...
VideoCommon: Fix D3D shader compilation warnings
2022-07-08 18:46:29 -04:00
JMC47
7853b72c46
Merge pull request #10430 from OatmealDome/mac-portable
...
UICommon: Add support for portable.txt on macOS
2022-07-08 18:41:14 -04:00
JMC47
59e8aacf42
Merge pull request #10745 from JosJuice/softmmu
...
JitArm64: Implement "soft MMU"
2022-07-08 15:55:49 -04:00
JMC47
828afc6735
Merge pull request #10673 from iwubcode/spirv-backends
...
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
Dentomologist
e1e0f42b37
VideoCommon: Fix D3D shader warning X3557 (single iteration loop)
...
Fix warning "loop only executes for 1 iteration(s), forcing loop to
unroll" when vertex_in == 1
2022-07-08 00:25:55 -07:00
Dentomologist
71541c1324
VideoCommon: Fix D3D shader warning X4000 (uninitialized variables)
...
Initialize alpha_A and alpha_B. They were previously only initialized in
cases where they were used, but D3D isn't able to figure that out.
2022-07-08 00:25:14 -07:00
Dentomologist
0fac1d6e87
VideoCommon: Fix D3D shader warning X3571 (negative base for pow())
...
Add abs() to fix "pow(f, e) will not work for negative f, use abs(f) or
conditionally handle negative values if you expect them".
2022-07-08 00:19:05 -07:00
Merry
3092f40e9f
Arm64Emitter: Simplify LogicalImm logic
...
Heavily simplify logical immediate encoding.
This is based on the observation that if a valid repeating element
exists, it repeats through `value`. Thus it does not matter which
one you analyse. Thus we skip over the least significent element
if LSB = 1 by masking it out with `inverse_mask_from_trailing_ones`,
to avoid the degenerate case of a stretch of 1 bits going 'round
the end' of the word.
2022-07-07 22:53:36 +01:00
Admiral H. Curtiss
eccf527bf6
Merge pull request #9147 from jordan-woyak/imu-accel-weight-setting
...
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-07-07 23:17:47 +02:00
Admiral H. Curtiss
ccdb909d06
Merge pull request #10710 from jordan-woyak/rename-range
...
DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window and improved UX.
2022-07-07 23:04:11 +02:00
TellowKrinkle
3ee4b89a46
VideoCommon: Remember to flush command buffers after multiple EFB copies
2022-07-06 18:38:05 -05:00
JMC47
7321802b4b
Merge pull request #10811 from Pokechu22/bs2-dfi-typo
...
BS2Emu: Fix DFI typo
2022-07-06 03:23:55 -04:00
Pokechu22
263d2a419a
BS2Emu: Fix DFI typo
2022-07-05 17:15:59 -07:00
TryTwo
d0b33c7adf
Debugger CodeWidget: Add filter boxes to callstack, function calls, and function callers. Move symbols search box to align with changes.
2022-07-05 12:57:41 -07:00
OatmealDome
c6eb5e2623
FileUtil: Only attempt to write to the destination in Copy if there is actually content to write
2022-07-05 15:13:20 -04:00
Admiral H. Curtiss
24498ca315
Merge pull request #10712 from tellowkrinkle/ControllerLocks
...
InputCommon/ControllerEmu: Use more locks
2022-07-05 11:39:48 +02:00
Admiral H. Curtiss
de3d1344d5
Merge pull request #10762 from CasualPokePlayer/fix_slow_audio_desyncs
...
Reduce gradual audio desyncing in dumps and apply the correct sample rate for GameCube audio
2022-07-05 11:37:30 +02:00
CasualPokePlayer
4234b25682
Do not directly store input sample rate, rather just store a divisor for that sample rate, with it using a fixed dividend of 54000000 * 2.
...
This should reduce (but not completely eliminate) gradual audio desyncs in dumps. This also allows for accurate sample rates for the GameCube.
Completely eliminating gradual audio desyncs will require resampling to an integer sample rate, as nothing seems to support a non-integer sample rate.
2022-07-03 15:07:06 -07:00
schthack
01ada3850f
BBA: Added BuiltIn device that allow BBA emulation without the need of a TapDevice Configuration include a dns server setting
2022-07-02 18:02:50 -04:00
Admiral H. Curtiss
3bcd7aced9
Merge pull request #8467 from CookiePLMonster/interruptable-shader-precompile
...
Make shader precompilation interruptable
2022-07-02 13:08:37 +02:00
Admiral H. Curtiss
2f228310af
Merge pull request #10794 from TryTwo/PR_MemoryWidget_Cell_Edit
...
Debugger MemoryViewWidget: Allow direct editing of memory cells.
2022-07-02 13:05:39 +02:00
JosJuice
2a791116f1
Merge pull request #10800 from Pokechu22/registerwidget-crash
...
RegisterWidget: Fix crash when right-clicking when there is no selected cell
2022-07-02 09:18:28 +02:00
JosJuice
07a15a3228
Merge pull request #10624 from Minty-Meeo/resolve-gcc-warnings
...
Resolve Linux GCC Warnings
2022-07-02 09:17:44 +02:00
JMC47
b5f4b0dffe
Merge pull request #10803 from Zopolis4/clangingaround
...
Resolve additional warnings generated by clang
2022-07-02 03:12:34 -04:00
Zopolis4
0f07deb0ef
Remove unused variable in SI_DeviceKeyboard.h left over from SI_DeviceGCController.h
2022-07-02 16:16:54 +10:00
iwubcode
66f5085800
DolphinQt: add word wrap to graphics mods description
2022-07-01 19:31:19 -05:00
iwubcode
8dd4e916a7
DolphinQt: save changes to disk before refreshing mod list
2022-07-01 19:31:19 -05:00
TryTwo
bd59b0a490
Debugger MemoryViewWidget: Allow direct editing of memory cells.
2022-07-01 17:30:24 -07:00
Pokechu22
bf68211878
RegisterWidget: Fix crash when right-clicking when there is no selected cell
2022-07-01 17:13:00 -07:00
Minty-Meeo
69e32dea52
Resolve GCC Warnings
2022-06-30 15:26:48 -05:00
iwubcode
4788a05c76
VideoCommon: fix projection graphics mod affecting more than the intended draw call
2022-06-29 20:04:59 -05:00
JMC47
5d04e1e1de
Merge pull request #10518 from iwubcode/draw-mod
...
Introducing a 'GraphicsMod' system for creators
2022-06-28 13:35:39 -04:00
JMC47
e50e45f400
Merge pull request #10700 from sepalani/ssl-handshake
...
Socket: Fix some non-blocking connect edge cases
2022-06-27 21:39:36 -04:00
iwubcode
8aef0015fd
DolphinQt: add warning if graphics mods are not enabled
2022-06-27 18:28:28 -05:00
iwubcode
f3054aa99f
DolphinQt: add widget in game properties to list the various graphics mods available
2022-06-27 18:22:06 -05:00
iwubcode
1480b78f64
VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n'
2022-06-27 18:20:52 -05:00
iwubcode
69839df1eb
VideoCommon: support dynamically updating game mods at runtime
2022-06-27 18:20:52 -05:00
iwubcode
892678648e
VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
2022-06-27 18:20:52 -05:00
iwubcode
62c186e14b
VideoCommon: add UninitializeEFBMemory to mirror XFB function
2022-06-27 18:20:52 -05:00
iwubcode
0f88155729
Core / DolphinQt / VideoCommon: add setting for enabling graphic mods
2022-06-27 18:20:52 -05:00
iwubcode
f416b71925
VideoCommon: add logic to handle a GraphicsMod while Dolphin is running
2022-06-27 18:20:52 -05:00
iwubcode
254246b814
VideoCommon: add logic to read a GraphicsMod from configuration
2022-06-27 18:20:52 -05:00
Jordan Woyak
87fb42b64c
DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window. Removed the slider. Moved the spin box.
2022-06-26 22:52:20 -05:00
Jordan Woyak
4c409411ed
DolphinQt: Don't show the advanced input settings on the main dialog.
2022-06-26 22:48:13 -05:00
Jordan Woyak
80d9e79cf1
ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual Notches" and "Gate Size" categorized as such.
2022-06-26 22:42:16 -05:00
Jordan Woyak
643f82539c
ControllerEmu: Expose gate size setting for octagon analog sticks.
2022-06-26 22:33:44 -05:00
iwubcode
f92beb611f
VideoCommon: add game mod constants
2022-06-26 21:53:21 -05:00
iwubcode
3857e1fa66
Core: add GraphicsMod directory
2022-06-26 21:53:21 -05:00
iwubcode
4fbbd85ef4
VideoCommon: create variables for EFB/XFB copy prefix. Reword prefix to 'efb1' and 'xfb1' to match textures
2022-06-26 21:53:21 -05:00
iwubcode
b9995b04a0
VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file
2022-06-26 00:45:13 -05:00
iwubcode
7854afe512
VideoCommon: add support for setting and getting the stage from the texture info
2022-06-26 00:45:13 -05:00
iwubcode
a1892a9c68
VideoCommon: add function to check whether TextureFormat is a valid value
2022-06-26 00:45:13 -05:00
Pokechu22
76401e8ffb
BS2Emu: Initialize the last rows of postMatrices to the identity matrix
...
This fixes Datel titles having missing textures (which was an issue with the previous commit).
2022-06-25 17:29:49 -07:00
Pokechu22
b2ddffeeb1
BS2Emu: Set HID0/1/2/4 and MSR with correct default values
...
These values were obtained by setting a breakpoint at a game's entry point, and then observing the register values with Dolphin's register widget.
There are other registers that aren't handled by this PR, including CR, XER, SRR0, SRR1, and "Int Mask" (as well as most of the GPRs). They could be added in a later PR if it turns out that their values matter, but probably most of them don't.
This fixes Datel titles booting with the IPL skipped (see https://bugs.dolphin-emu.org/issues/8223 ), though when booted this way they are currently missing textures. Due to somewhat janky code, Datel overwrites the syscall interrupt handler and then immediately triggers it (with the `sc` instruction) before they restore the correct one. This works on real hardware due to icache, and also works in Dolphin when the IPL runs due to icache, but prior to this change `HID0.ICE` defaulted to 0 so icache was not enabled when the IPL was skipped.
2022-06-25 14:27:29 -07:00
Pokechu22
9675faa232
DSPHLE: Properly reflect initial halt state in mail handler
...
DSPHLE::Initialize sets the halt and init bits to true (i.e. m_dsp_control.Hex starts as 0x804), which is reasonable behavior (this is the state the DSP will be in when starting a game from the IPL, as after `__OSStopAudioSystem` the control register is 0x804).
However, CMailHandler::m_halted defaults to false, and we only call CMailHandler::SetHalted in DSPHLE::DSP_WriteControlRegister when m_dsp_control.DSPHalt changes, so since DSPHalt defaults to true, if the first thing that happens is writing true to DSPHalt, we won't properly halt the mail handler.
Now, we call CMailHandler::SetHalted on startup. This fixes Datel titles when the IPL is skipped with DSP HLE (though this configuration only works once https://bugs.dolphin-emu.org/issues/8223 is fixed).
2022-06-25 14:06:55 -07:00
Admiral H. Curtiss
caf0e5b3e8
DSPHLE: Add variables in CMailHandler to savestate.
2022-06-25 19:15:21 +02:00
Pokechu22
52f32e61dc
DSPHLE: Fix build error in the libasnd uCode
...
This was a conflict between 8a144a735f
and b063f15dcc
.
2022-06-24 19:29:31 -07:00
JMC47
75943a7a2c
Merge pull request #10763 from Pokechu22/dsp-hle-asnd
...
DSPHLE: Add HLE version of libasnd ucode
2022-06-24 21:51:27 -04:00
iwubcode
a8b5266347
VideoCommon: enable optimizer and remove debug details when converting GLSL to SPIR-V with validation layers turned off
2022-06-24 18:09:53 -05:00
iwubcode
dda1479ecf
VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality
2022-06-24 18:09:53 -05:00
iwubcode
c2d3b7e7f5
VideoCommon: update pixel shader output to match old D3D code
2022-06-24 18:09:53 -05:00
iwubcode
0eb9352579
D3D: update BoundingBox to match generated shader code
2022-06-24 18:09:53 -05:00
iwubcode
cad1d6ce90
VideoCommon: fix support of stereoscopic rendering after moving d3d to SPIRV generation
2022-06-24 18:09:53 -05:00
iwubcode
993fa3bf94
VideoCommon: update UberShaderPixel to properly support logic ops, matching the specialized shader
2022-06-24 18:09:53 -05:00
iwubcode
5dd2704416
D3D / VideoCommon: generate HLSL from SPIRV
2022-06-24 18:09:53 -05:00
iwubcode
3790c99a7d
VideoCommon: add common spirv helper functions
...
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
Pokechu22
1faca4bfc7
Merge pull request #10752 from tellowkrinkle/BetterShaderNames
...
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00
JMC47
76f890f6b0
Merge pull request #10761 from Pokechu22/dsp-halt-mail
...
DSPHLE: Handle mail more accurately
2022-06-24 18:46:20 -04:00
JMC47
ffa3bf86fb
Merge pull request #10760 from tellowkrinkle/std430
...
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04:00
Zopolis4
5d2290ba3c
Removed unused variable MAX_MSGLEN in LogManager.cpp
2022-06-24 14:57:03 +10:00
Pokechu22
8a144a735f
DSPHLE: Add HLE version of libasnd ucode
2022-06-23 10:50:24 -07:00
Admiral H. Curtiss
0a2aabe6ec
Merge pull request #10753 from Pokechu22/dsp-hle-cdd1-constants
...
DSPHLE: Move CDD1 constants to UCodes.h
2022-06-23 13:43:57 +02:00
Pierre Bourdon
2bd72dfc6f
Merge pull request #10758 from shuffle2/x64-on-arm64
...
windows: detect and warn if running x64 dolphin on arm64
2022-06-23 07:34:34 +02:00
Pokechu22
f3c8e75666
DSPHLE: Move CDD1 constants to UCodes.h
...
These are used by *all* uCodes, though not all uCodes support MAIL_RESUME or MAIL_CONTINUE.
2022-06-22 22:01:13 -07:00
Shawn Hoffman
29ddd0e6f0
windows: detect and warn if running x64 dolphin on arm64
2022-06-22 15:33:12 -07:00
Pokechu22
a72fa4b9cc
DSPHLE: Don't generate new mail if the DSP is halted
...
This fixes booting Datel titles with DSPHLE (see https://bugs.dolphin-emu.org/issues/12943 ). Datel messed up their DSP initialization code, so it only works by receiving a mail later on, but if halting isn't implemented then it receives the mail too early and hangs.
2022-06-22 09:57:33 -07:00
Pokechu22
3aeafcc70b
DSPHLE: Return last mail with top bit cleared if there is no new mail
...
This is an accuracy improvement, though I don't think it matters for anything in practice.
2022-06-22 09:56:51 -07:00
Pokechu22
bdbb23fa1a
DSPHLE: Rename CMailHandler::m_Mails to m_pending_mails
2022-06-22 09:56:51 -07:00
Pokechu22
0fec8ffb3c
DSPHLE: Remove empty destructors
...
Most of these were made unnecessary by the previous commit.
2022-06-22 09:56:51 -07:00
Pokechu22
567f9bede4
DSPHLE: Remove unneeded calls to m_mail_handler.Clear()
...
It's cleared whenever the uCode changes, so there's no reason to clear it in a destructor or during initialization.
I've also renamed it to ClearPending.
2022-06-22 09:56:50 -07:00
Pokechu22
b063f15dcc
DSPHLE: Replace CMailHandler::IsEmpty with CMailHandler::HasPending
2022-06-22 09:56:50 -07:00
Pierre Bourdon
c8e716234e
Merge pull request #10732 from Pokechu22/dsp-init
...
Increase accuracy of DSP initialization process
2022-06-22 14:36:04 +02:00
Pierre Bourdon
6ddff87d42
Merge pull request #10755 from tellowkrinkle/DebugUID
...
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
Pierre Bourdon
dc61f87fe4
Merge pull request #10772 from shuffle2/morepch
...
msbuild: add pch for dolphinqt
2022-06-22 14:27:44 +02:00
Pierre Bourdon
ceef02ed2a
Merge pull request #10750 from Pokechu22/hermes-test
...
Enhance DSPAssemblyTest, and fix various DSPTool bugs discovered while doing so
2022-06-22 14:26:50 +02:00
Spotlight
430c58cf27
IOS: Use host nameserver on more BSDs
2022-06-21 21:49:02 -05:00
Spotlight
a2530e3b93
IOS: Use first available IPv4 nameserver
2022-06-21 21:49:02 -05:00
Shawn Hoffman
b39a11e23b
msbuild: add pch for dolphinqt
...
since this now includes Qt headers it's better than only using
the vanilla DolphinLib one alone (previous behavior before Qt6)
2022-06-21 13:35:14 -07:00
Pokechu22
a334883c47
Qt/MemoryViewWidget: Don't elide text
...
Before, the Hex 32 display would get truncated on Linux.
2022-06-20 18:53:23 -07:00
Admiral H. Curtiss
f441e3ab98
Merge pull request #10723 from Pokechu22/dsp-lle-unsigned-loop-counter
...
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-21 02:01:13 +02:00
Pokechu22
c317f7fd22
DSPLLE: Don't log when DIRQ is set to 0
...
No interrupt is generated in this case. The homebrew liband uCode writes zero fairly frequently, so logging it results in spam.
2022-06-19 10:46:41 -07:00
Braxton Anderson
2b2b8e932d
Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter
2022-06-17 20:11:53 -06:00
TellowKrinkle
f79ac768d8
VideoCommon:ShaderCache: Add const to some local variables
2022-06-17 20:14:32 -05:00
Admiral H. Curtiss
23ed611077
Merge pull request #10729 from Pokechu22/libusb-error-wrap
...
Improve libusb error logging
2022-06-17 16:01:46 +02:00
Admiral H. Curtiss
b199108964
Merge pull request #10520 from AdmiralCurtiss/resource-pack-init-crash
...
ResourcePack: Avoid crashes on invalid packs during Init().
2022-06-17 13:55:16 +02:00
Admiral H. Curtiss
efbf5a450b
ResourcePack: Avoid crashes on invalid packs during Init().
2022-06-17 03:49:05 +02:00
TellowKrinkle
26529a31ab
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-16 20:26:11 -05:00
Shawn Hoffman
896d5454f0
updater: use new platform id for win-arm64
2022-06-16 14:55:51 -07:00
Pokechu22
053b3e725b
DSPHLE: More accurately handle initialization behavior
...
This improves timing, but does not fix Datel titles.
2022-06-16 12:18:05 -07:00
Pokechu22
072913bbad
DSPLLE: More accurately handle initialization behavior
2022-06-16 12:18:05 -07:00
Pokechu22
c38c2b1aaa
DSPLLE: Fix debug logging in ReadMailboxLow
...
The # option means that 0x is prepended already, so the old code resulted in 0x0xDEADBEEF instead of the intended 0xDEADBEEF. WriteMailboxLow was already correct.
2022-06-16 12:18:05 -07:00
Pokechu22
3ceda1df8c
DSPLLE: Rename cr to control_reg
...
Before, there were two distinct fields called cr and r.cr, which is needlessly confusing (see the comment in DSPCore.h).
2022-06-16 12:18:05 -07:00
TellowKrinkle
c7892d7371
VideoCommon: Name ubershaders
2022-06-16 02:08:45 -05:00
TellowKrinkle
23c1721fbd
VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders
2022-06-16 02:08:45 -05:00
JosJuice
107a928452
Merge pull request #10748 from tellowkrinkle/SDL22Fun
...
InputCommon: SDL 2.0.22 init crash workaround
2022-06-15 18:02:59 +02:00
Admiral H. Curtiss
ac3920a0da
Qt/GameCubePane: Fix swapping memory cards mid-emulation.
2022-06-15 10:42:14 +02:00
TellowKrinkle
3fe1a1a3d7
VideoCommon: Don't add garbage to shader uids in debug builds
...
There wasn't anything stopping compilers from doing it in release builds either, but most optimizations would make the padding zero
2022-06-14 21:51:58 -05:00
TellowKrinkle
994210e369
InputCommon: SDL 2.0.22 init crash workaround
...
See https://github.com/libsdl-org/SDL/pull/5598
2022-06-14 21:02:45 -05:00
JMC47
431d757151
Merge pull request #10743 from tellowkrinkle/LargeBlockRVZ
...
Fix creation of rvz with > 2mb chunk size
2022-06-14 16:17:24 -04:00
JMC47
8a8e9c5ef6
Merge pull request #10742 from tellowkrinkle/Xcode
...
Improve incremental build time for Xcode projects
2022-06-14 16:14:54 -04:00
Pokechu22
41939eeaf9
DSPDisassembler: Fix disassembly of LSR and ASR
...
Before, both 1441 and 147f would disassemble as `lsr $acc0, #1`, when the second should be `lsr $acc0, #-1`, and both 14c1 and 14ff would be `asr $acc0, #1` when the second should be `asr $acc0, #-1`. I'm not entirely sure whether the minus signs actually make sense here, but this change is consistent with the assembler so that's an improvement at least.
devkitPro previously changed the formatting to not require negative signs for lsr and asr; this is probably something we should do in the future: 8a65c85c9b
This fixes the HermesText and HermesBinary tests (HermesText already wrote `lsr $ACC0, #-5`, so this is consistent with what it used before.)
2022-06-14 12:22:06 -07:00
Pokechu22
2d774010c3
DSPCodeUtil: Include the PC and hex in the "Extra code words" section
...
It's included in the section before, so it's helpful to supply here too.
2022-06-14 12:22:06 -07:00
Pokechu22
087d89225c
DSPCodeUtil: Give better output when comparing instructions with large immediates
2022-06-14 12:22:06 -07:00
Pokechu22
cad9801ded
DSPDisassembler: Fix out-of-bounds read when the last word is an instruction with a large immediate
...
For instance, ending with 0x009e (which you can do with CW 0x009e) indicates a LRI $ac0.m instruction, but there is no immediate value to load, so before whatever garbage in memory existed after the end of the file was used.
The bounds-checking also previously assumed that IRAM or IROM was being used, both of which were exactly 0x1000 long.
2022-06-14 12:22:06 -07:00
Pokechu22
693a29f8ce
DSPCodeUtil: Use fmt::print instead of logging in DSP::Compare
2022-06-14 12:22:05 -07:00
TellowKrinkle
25929789c1
VideoCommon: Don't pass State by inout
...
Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`. Not all Metal backends handle this mess well. In particular, it causes register spills on Intel, losing about 5% in performance.
2022-06-14 00:48:47 -05:00
TellowKrinkle
db6e928c8d
VideoCommon: Fix Intel GPUs on Metal/Vulkan locking up in ubershaders
2022-06-14 00:48:47 -05:00
JMC47
9315ac7071
Merge pull request #10587 from AdmiralCurtiss/memcard-path-unify
...
Raw Memory Card Path handling unification and consistency fixes.
2022-06-13 20:18:36 -04:00
JMC47
f96e91119a
Merge pull request #10735 from CasualPokePlayer/audio_dump_volume_fix
...
Have audio dumps apply volume
2022-06-13 17:09:58 -04:00
Jordan Woyak
1fc86cacd7
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-06-13 00:07:00 -05:00
Tillmann Karras
59dfc43949
Common: replace std::aligned_storage_t with alignas
...
C++23 deprecates std::aligned_storage_t while alignas works since C++11.
This fixes issue 12925.
2022-06-13 00:06:19 +01:00
JosJuice
62ec19c1ba
JitArm64: Remove redundant line in the EmitBackpatchRoutine comment
...
All stores clobber X0, so that stores clobber X0 when emitting_routine
is true is nothing special.
2022-06-12 11:03:38 +02:00
JosJuice
75e897c40e
JitArm64: Fix a minor mistake in the EmitBackpatchRoutine comment
...
X30 is used in fewer situations than the comment was claiming.
(I think that when I wrote the comment I was counting the use of X30
as a temp variable in the slowmem code as clobbering X30, but that
happens after pushing X30, so it doesn't actually get clobbered.)
2022-06-12 11:03:37 +02:00
JosJuice
3de49dee78
JitArm64: Properly reserve scratch register for soft MMU
...
Cleans up a hack from the previous commit.
2022-06-12 11:03:35 +02:00
JosJuice
3dce1df00e
JitArm64: Implement "soft MMU"
...
This is used when fastmem isn't available. Instead of always falling
back to the C++ code in MMU.cpp, the JIT translates addresses on its
own by looking them up in a table that Dolphin constructs. This is
slower than fastmem, but faster than the old non-fastmem code.
This is primarily useful for iOS, since that's the only major platform
nowadays where you can't reliably get fastmem. I think it would make
sense to merge this feature to master despite this, since there's
nothing actually iOS-specific about the feature. It would be of use
for me when I have to disable fastmem to stop Android Studio from
constantly breaking on segfaults, for instance.
Co-authored-by: OatmealDome <julian@oatmealdome.me>
2022-06-12 11:03:25 +02:00
OatmealDome
3e5f1a4f99
MemTools: Always provide a valid pointer in send_msg for mach_msg_overwrite
...
This cannot be nullptr in macOS Ventura and iOS 16.
2022-06-12 00:19:09 -04:00
TellowKrinkle
7cf5547b97
CMake: Make bundled MoltenVK optional
...
Adds ~20s to incremental build time in Xcode projects
2022-06-11 16:34:33 -05:00
TellowKrinkle
26fc167a44
DiscIO: Fix creation of rvz with > 2mb chunk size
2022-06-11 16:10:32 -05:00
TellowKrinkle
e4614067b3
CMake: Respect SKIP_POSTPROCESS_BUNDLE
2022-06-11 15:46:38 -05:00
CasualPokePlayer
ad892176d0
have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect)
2022-06-10 21:27:10 -07:00
Silent
7faf5ea170
Clear the UI after async shader compilation
2022-06-10 17:19:59 +02:00
Silent
dcad3ec892
Allow to interrupt shader precompilation by stopping emulation
2022-06-10 17:11:32 +02:00
JosJuice
bcc64a05b3
Memmap: Remove outdated comments for 32-bit
2022-06-09 19:51:36 +02:00
JosJuice
63283dcc72
JitArm64: Refactor EmitBackpatchRoutine parameters, part 2
2022-06-09 19:51:36 +02:00
JosJuice
27ed2a99a0
JitArm64: Refactor EmitBackpatchRoutine parameters, part 1
2022-06-09 19:51:36 +02:00
Pokechu22
27772e01d9
GCAdapter: Compare with LIBUSB_SUCCESS instead of 0
2022-06-08 15:30:22 -07:00
Pokechu22
83afaba785
IOS/USB: Use LibusbUtils::ErrorWrap and LIBUSB_SUCCESS
2022-06-08 15:29:11 -07:00
Pokechu22
5d301cc206
BTReal: Log warnings when libusb calls fail
2022-06-08 15:29:11 -07:00
Pokechu22
eeab51e3a4
Log warnings when LibusbUtils::MakeConfigDescriptor fails
2022-06-08 15:29:11 -07:00
Pokechu22
15cbb5c8f9
Log warnings when LibusbUtils::GetDeviceList fails
2022-06-08 15:29:11 -07:00
Pokechu22
91a7c4bdf2
LibusbUtils: Log warnings when libusb_set_option or libusb_handle_events_timeout_completed fail
2022-06-08 13:18:31 -07:00
Sepalani
d7135daff5
Socket: Fix some errors related to non-blocking connect
2022-06-08 19:06:42 +04:00
Sepalani
c53a4c8c1a
Socket: Keep track of the socket connection progress
...
Workaround for mbedtls handshake issues with partially connected sockets
2022-06-08 19:06:42 +04:00
Sepalani
cbadc6e81a
NetworkCaptureLogger: Move ErrorState struct to Common/Network
2022-06-08 19:06:42 +04:00
Sepalani
41ce3a83d5
Socket: Refactor WiiSockMan::Convert
2022-06-08 19:06:42 +04:00
JMC47
daf8e3ddde
Merge pull request #10462 from OatmealDome/steam-runtime
...
DolphinQt: Add support for a Steam Runtime build
2022-06-06 20:18:06 -04:00
Tillmann Karras
79a7bf02eb
CMake: rename minizip to minizip-ng
...
minizip-ng is the new name used by the upstream project as well as all
distros other than Fedora (but it looks like it will be renamed there).
2022-06-06 14:21:43 +02:00
Pokechu22
d03b277403
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-05 19:34:31 -07:00
Admiral H. Curtiss
4fd18cf207
DolphinQt: Unify handling of raw memory card path.
2022-06-05 21:48:13 +02:00
Admiral H. Curtiss
deb9964333
Core: Unify handling of raw memory card path.
2022-06-05 21:43:48 +02:00
Admiral H. Curtiss
b1d1f2aa06
Common/StringUtil: Add convenience function for converting paths to use forward slashes on Windows.
2022-06-05 21:24:45 +02:00
Admiral H. Curtiss
2081e2f2a1
Config: Move ToGameCubeRegion(), GetDirectoryForRegion(), and GetBootROMPath() to new config system namespace.
2022-06-05 21:24:45 +02:00
JMC47
664663e8de
Merge pull request #10604 from Pokechu22/gcadapter-refactor
...
Refactor GCAdapter, part 1
2022-06-04 16:30:25 -04:00
Admiral H. Curtiss
96f9d1000d
Merge pull request #10721 from Dentomologist/fix_warnings_on_generic_builder
...
Fix warnings on generic builder
2022-06-04 21:51:58 +02:00
Dentomologist
92af703f29
DSPAssembler: Fix -Wswitch warning
2022-06-04 12:08:09 -07:00
Tilka
d7cda67462
Merge pull request #10716 from Pokechu22/dsp-lle-loop-saturation
...
DSP LLE: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-04 15:30:06 +01:00
Admiral H. Curtiss
9fb17b5a48
Merge pull request #10718 from shuffle2/hotkeys
...
qt: unregister Settings' DevicesChanged callback during shutdown
2022-06-03 13:48:28 +02:00
Shawn Hoffman
b16711f2af
qt: fix wiipane usb list layout
2022-06-02 23:58:13 -07:00
Shawn Hoffman
27dd2c4aa4
qt: unregister Settings' DevicesChanged callback during shutdown
...
fixes a crash on close
2022-06-02 23:32:21 -07:00
Pokechu22
6823b4d7a0
GCAdapter: Use LibusbUtils::ErrorWrap in log messages
2022-06-02 19:39:36 -07:00
Pokechu22
457fcbaf5e
LibusbUtils: Create ErrorWrap
2022-06-02 19:39:36 -07:00
Pokechu22
0d8772ccbe
GCAdapter: Make local variables const where possible
2022-06-02 19:39:36 -07:00
Pokechu22
cd9edeacda
GCAdapter: Merge Read logic
2022-06-02 19:39:36 -07:00
Pokechu22
9ec65baf46
GCAdapter: Have the read thread control the write thread
...
This was done for Android in 6cc40b1235
.
2022-06-02 19:39:36 -07:00
Pokechu22
0fa92694d1
GCAdapter: Exit early if the adapter fails to open on Android
...
This is only so that indentation is consistent with the non-android code.
2022-06-02 19:39:36 -07:00
Pokechu22
749a4ad1ef
GCAdapter: Remove check on write size on android
...
It was removed for non-android in 56239d1ae1
, and android already uses a separate thread, so presumably this isn't needed anymore.
2022-06-02 19:39:36 -07:00
Pokechu22
27947046af
GCAdapter: Harmonize read/write thread variable names
2022-06-02 19:39:36 -07:00
Pokechu22
279888da8c
GCAdapter: Remove unused includes
2022-06-02 19:39:36 -07:00
Pokechu22
3ae775e574
GCAdapter: Use determinism hack on Android
...
This hack was added in 8f0cbefbe5
, and the part of it in SI_DeviceGCAdapter is present on Android already, so I don't see any reason why this part doesn't apply to Android.
2022-06-02 19:39:36 -07:00
Pokechu22
55922e6d17
GCAdapter: Convert ControllerType to an enum class
2022-06-02 19:39:36 -07:00
Pokechu22
682d86f4da
GCAdapter: Fix rumble enabled config on Android
...
I believe the setting already existed in the UI; it just wasn't implemented in GCAdapter_Android.cpp.
2022-06-02 19:39:36 -07:00
Pokechu22
36d4ee0939
GCAdapter: Use std::array for controller read and write payloads
2022-06-02 19:39:36 -07:00
Pokechu22
dd6592698e
GCAdapter: Merge GCAdapter.cpp and GCAdapter_Android.cpp
...
This is mostly a brainless merge, #ifdef-ing anything that doesn't match between the two while preserving common logic. I didn't rename any variables (although similar ones do exist), but I did change one log that was ERROR on android and NOTICE elsewhere to just always be NOTICE. Further merging will follow.
2022-06-02 19:39:36 -07:00
Mai M
f7f47d3cd0
Merge pull request #10692 from Pokechu22/dsp-manual-set40-and-write-backlog
...
docs/DSP: Add sections on 16-bit and 40-bit modes and on main and extended opcode writing to the same register
2022-06-02 20:26:31 -04:00
Mai M
c8ab236e0a
Merge pull request #10709 from Pokechu22/dsp-lle-update-sr-16
...
DSP LLE JIT: Fix Update_SR_Register16_OverS32
2022-06-02 20:22:36 -04:00
Mai M
84944625df
Merge pull request #10714 from OatmealDome/macos-mojave-bump
...
BuildMacOSUniversalBinary: Bump minimum macOS to 10.14
2022-06-02 20:20:52 -04:00
Pokechu22
0fc1fb023f
Merge pull request #10678 from Dentomologist/skip_pagefault_test_if_no_exception_handler
...
UnitTests: Skip PageFaultTest if exception handlers aren't supported
2022-06-02 16:21:21 -07:00
OatmealDome
7ce1a5717a
UICommon: Add support for portable.txt on macOS
2022-06-02 14:56:09 -04:00
Admiral H. Curtiss
a58bb2aa24
Merge pull request #10701 from TryTwo/PR_Memory_Widget_Connections
...
Debugger MemoryWidget: Navigate to memory from breakpoint widget and cheat search.
2022-06-02 20:50:44 +02:00
Pokechu22
4bc42ded80
DSP LLE Interpreter: Remove OpReadRegisterAndSaturate
...
Instead, saturate in OpReadRegister, as all uses of OpReadRegisterAndSaturate called OpReadRegister for other registers (and there isn't anything that writes to $ac0.m or $ac1.m without saturation).
2022-06-01 22:01:49 -07:00
Pokechu22
928f745e36
DSP LLE Interpreter: Fix typo in 'LS
...
This was introduced in fc1db5eaa0
.
2022-06-01 22:01:49 -07:00
Pokechu22
e7f78379ec
DSP LLE Recompiler: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-01 22:01:49 -07:00
Pokechu22
bc206b7a27
DSP LLE Interpreter: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-01 22:01:49 -07:00
OatmealDome
803a0de5a4
VKMain: Remove check for macOS 10.14
2022-06-01 22:57:56 -04:00
OatmealDome
1cb3058abe
MemoryUtil: Remove __builtin_available for macOS 10.14
2022-06-01 22:57:56 -04:00
OatmealDome
6e2febd404
VideoBackendBase: Remove __builtin_available for macOS 10.14
2022-06-01 22:57:51 -04:00
TryTwo
177dae6a1a
Add options for BreakpointWidget, WatchWidget, and CheatSearches to send address to Memory Widget
2022-06-01 01:53:15 -07:00
TellowKrinkle
f9c6eb7b98
InputCommon/ControllerEmu: Use more locks
...
Loading configs while another thread is messing with stuff just doesn't feel like a good idea
Hopefully fixes Wiimote Scanning Thread crashes on startup
2022-05-31 20:17:37 -05:00
Dentomologist
e0c9ae16b9
FileUtil: Refactor CreateSysDirectoryPath()
2022-05-31 16:18:08 -07:00
Dentomologist
c2be78079c
FileUtil: Remove GetSysDirectory log spam
...
Create and log path the first time GetSysDirectory is called, then just
return the path on future calls.
2022-05-31 16:18:08 -07:00
Dentomologist
4d563ce4d1
Android: Ensure File::s_android_sys_directory is set only once
2022-05-31 16:18:08 -07:00
Pokechu22
f88b7ab6b3
DSP LLE JIT: Fix Update_SR_Register16_OverS32
...
There were 3 bugs here:
- The input register for the full register wasn't actually being used; it was read into RCX but RCX wasn't used by Update_SR_Register16_OverS32 (except as a scratch register). The way the DSP LLE recompiler uses registers is in general confusing, so this commit changes a few uses to have a variable for the register being used, to make code a bit more readable. (Default parameter values were also removed so that they needed to be explicitly specified).
- Update_SR_Register16 was doing a 64-bit test, when it should have been doing a 16-bit test. For the most part this doesn't matter due to sign-extension, but it does come up with e.g. `ORI` or `ANDI`.
- Update_SR_Register16_OverS32 did the over s32 check, and then called Update_SR_Register16. Update_SR_Register16 masks $sr with ~SR_CMP_MASK, clearing the over s32 bit. Now the over s32 check is performed after calling Update_SR_Register16 (without masking a second time). No official uCode cares about the over s32 bit.
2022-05-30 20:10:55 -07:00
Pokechu22
7c63bd1893
docs/DSP: Fix inconsistency with ADDI and CMPI
...
We don't have anything called $amD, though we do have $acsD. However, these instructions affect flags based on the whole accumulator, so it's better to just use $acD.
2022-05-29 15:00:09 -07:00
Pokechu22
baf2c710ff
DSP: Fix typo with TST
2022-05-29 15:00:09 -07:00
Pokechu22
4dc7208195
docs/DSP: Fix typo with arithmetic instructions that take a 16-bit immediate
...
These instructions used an 'r' in their bit list, but a 'd' in the operands.
2022-05-29 15:00:09 -07:00
Pokechu22
b349254ff4
docs/DSP: Document the behavior when main and extended opcodes both write to the same register (the write backlog)
...
For more information, ApplyWriteBackLog, WriteToBackLog, and ZeroWriteBackLog were added in b787f5f8f7
and the explanatory comment was added in fd40513fed
, although it did not mention the specific instructions that could trigger this edge case. The statements about which registers can be written by main opcodes and extension opcodes are based on my own checking of all instructions in the manual.
2022-05-29 15:00:09 -07:00
OatmealDome
df22439826
FS: Reshuffle Rename to fix steamrt unit test failure
2022-05-29 13:50:32 -04:00
OatmealDome
09875c6403
DolphinQt: Copy qt.conf into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
5c4122ec2a
DolphinQt: Copy Sys into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
77fb5fa7dc
DolphinQt: Copy all Qt libraries into Binaries output folder on Steam builds for Linux
2022-05-29 13:50:32 -04:00
OatmealDome
6b05f5cca8
DolphinQt: Set the executable's rpath to a lib directory in $ORIGIN on Steam builds for Linux
...
We will store our Qt shared libraries here.
2022-05-29 13:50:32 -04:00
OatmealDome
e679502a5d
GLX: Guard against redefinition of PFNGLXSWAPINTERVALEXTPROC
...
This type is already declared in glxext.h in the Steam Runtime.
2022-05-29 13:50:32 -04:00
Tilka
e17a4f49f5
Merge pull request #10668 from Dentomologist/convert_pointerwrap_mode_to_enum_class
...
Convert PointerWrap::Mode to enum class
2022-05-29 00:57:43 +01:00
Tilka
3dbc18060b
Merge pull request #10694 from Pokechu22/dsp-assembler-error-messages-etc
...
DSPAssembler: Rework errors and warnings, and related cleanup
2022-05-29 00:16:23 +01:00
Tilka
57e444cd5d
Merge pull request #10697 from Dentomologist/windows_remove_qt5_code_and_references
...
Windows: Remove unused Qt5 block and reference
2022-05-29 00:14:34 +01:00
Pokechu22
d307c34af1
DSP LLE: Rename CMPAR to CMPAXH
2022-05-27 18:22:38 -07:00
Dentomologist
059cd5f6e1
Windows: Remove unused Qt 5 code and references
2022-05-25 17:51:17 -07:00