Commit Graph

29178 Commits

Author SHA1 Message Date
JosJuice 6b73a4772b
Merge pull request #11744 from AdmiralCurtiss/ios-di-registers
IOS/DI: Remove RegisterWrapper.
2023-04-09 08:55:07 +02:00
Admiral H. Curtiss fe4aadc575
IOS/DI: Remove RegisterWrapper. 2023-04-09 04:20:46 +02:00
Sketch d11c8075e7 Reload DLList on call to KDDownload 2023-04-08 19:47:11 -04:00
Admiral H. Curtiss 79b8e136b7
Merge pull request #11740 from Pokechu22/interface-pane-mouse-lock-visibility
DolphinQt: Fix mouse lock checkbox appearing when it shouldn't
2023-04-08 22:59:31 +02:00
Admiral H. Curtiss d5b811dd7f
Merge pull request #11738 from malleoz/malleo/tas_input_latency
DolphinQt: Prevent MemoryViewWidget updates when hidden
2023-04-08 13:46:56 +02:00
iwubcode e101f7f6ae VideoCommon: refactor GetTexture into a separate function for creation, separating the custom texture data path from the game's texture data path 2023-04-08 02:54:00 -05:00
Pokechu22 02cd8b6363 DolphinQt: Fix mouse lock checkbox appearing when it shouldn't
See https://bugs.dolphin-emu.org/issues/13232; this was introduced in 7dde0c3c31. Apparently, providing a parent for a widget that is not visible makes your new widget visible when the parent is later made visible, in addition to managing the deletion of the widget; the documentation does not specify this (only that if the parent is visible you need to explicitly show it).
2023-04-07 22:33:40 -07:00
TellowKrinkle ed177bdbd7 VideoBackends:Metal: Use max pixel samplers constant 2023-04-08 02:12:31 +02:00
sowens99 44e3993f2f DolphinQt: Prevent MemoryViewWidget updates when hidden 2023-04-07 11:21:19 -04:00
Mai aaedc2827d
Merge pull request #11735 from Pokechu22/cmake-no-spirv-cross-on-linux
CMake: Don't include SPIRV-Cross except on Windows and macOS
2023-04-06 23:11:14 -04:00
Mai 5686c614ec
Merge pull request #11717 from AdmiralCurtiss/ppcstate-rest
Replace most remaining global ppcState references.
2023-04-06 22:35:32 -04:00
Mai 74da38916e
Merge pull request #11729 from AdmiralCurtiss/redundant-mov
Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR().
2023-04-06 21:42:28 -04:00
Mai 8b9c1bff0b
Merge pull request #11731 from Pokechu22/typeutils-cc0
Common: Relicense TypeUtils to CC0
2023-04-06 21:41:56 -04:00
Pokechu22 56fcc97f6d CMake: Check `WIN32` instead of `CMAKE_SYSTEM_NAME STREQUAL Windows` 2023-04-06 18:37:45 -07:00
Minty-Meeo 1312624e05 Resolve [-Wshadow] 2023-04-06 19:25:26 -05:00
sowens99 cd79207853 DolphinQt: StickWidget and IRWidget check for changed x/y before signaling change 2023-04-06 01:54:20 -04:00
Pokechu22 b08d259d5c Common: Relicense TypeUtils to CC0
I am the sole contributor (apart from e149ad4f0a which only changed the license header).
2023-04-05 19:01:11 -07:00
Admiral H. Curtiss 2d1f661118
DolphinQt: Avoid ppcState global. 2023-04-05 20:09:32 +02:00
Admiral H. Curtiss 192d8b6e40
VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode(). 2023-04-05 20:09:32 +02:00
Admiral H. Curtiss e5941428d1
PowerPC/PPCTables: Pass instruction address to GetOpInfo(). 2023-04-05 20:09:32 +02:00
Admiral H. Curtiss 6018daa3fa
PowerPC/PPCCache: Access PowerPCState through System. 2023-04-05 20:09:32 +02:00
Admiral H. Curtiss aec3a882d7
PowerPC/JitInterface: Access PowerPCState through System. 2023-04-05 20:09:31 +02:00
Admiral H. Curtiss 18f8ae37ab
PowerPC/Expression: Pass System to EvaluateCondition(). 2023-04-05 20:09:31 +02:00
Admiral H. Curtiss 0a88c2329a
Merge pull request #11715 from JosJuice/dcbx-order
Jit: Change argument order for InvalidateICacheLine(s)FromJIT
2023-04-05 20:06:26 +02:00
Admiral H. Curtiss 2ac7b5a523
Jit64: Fix possibly redundant MOV in ABI_CallFunctionPR(). 2023-04-05 20:00:37 +02:00
Mai 25fba7247e
Merge pull request #11726 from mackal/dolphinqt-memory-leaks
DolphinQt: Fix memory leaks
2023-04-05 04:18:32 -04:00
OatmealDome 2995b5e061
Merge pull request #11667 from TellowKrinkle/DontSucceedOnLinkFail
CMake: Use generator expressions for codesign targets
2023-04-05 05:35:58 +02:00
Michael Cook (mackal) f424e7815a DolphinQt: Fix memory leaks in MemoryWidget
QMenuBar::addMenu does not take ownership of the QMenu, setting their
parent allows them to be cleaned up
2023-04-04 16:10:31 -04:00
Michael Cook (mackal) 7dde0c3c31 DolphinQt: non-Windows builds leak in InterfacePane
The m_checkbox_lock_mouse QCheckBox was only conditionally being added
to the layout, leaving it unmanaged and leaking

Setting the parent will allow it to be managed.
2023-04-04 16:07:06 -04:00
Michael Cook (mackal) e511718fbc DolphinQt: Fix leak in LogConfigWidget
The m_verbosity_debug button was only conditionally being added as
widget, this was done in order to hide the object, but this left it
unmanaged.

Unconditionally adding it to the layout and controlling it's visibility
will resolve these issues
2023-04-04 16:05:23 -04:00
Pierre Bourdon d8fabd37fb
Merge pull request #11417 from K0bin/vk-submit-thread-cleanup
VideoBackends:Vulkan: Clean up submission thread using WorkQueueThread
2023-04-04 22:02:39 +02:00
Pierre Bourdon c71a4c2751
Merge pull request #11719 from AdmiralCurtiss/enet-update
Update ENet to 8ae0e85298fafdb20777b4eb4241218f52f775b0
2023-04-04 22:00:45 +02:00
Michael Cook (mackal) 2dca24229b DolphinQt: Fix memory lkea in FilesystemWidget
QTreeView::setModel doesn't transfer ownership of the object.

Setting the parent resolves this
2023-04-04 15:59:45 -04:00
Pierre Bourdon b63b574a3f
Merge pull request #11669 from LillyJadeKatrin/retroachievements-rcheevos-integration
Retroachievements rcheevos integration
2023-04-04 12:34:20 +02:00
LillyJadeKatrin 84b3df0af2 Added Achievement Manager with Login
Added AchievementManager class. Upon startup (currently only in DolphinQt), logs into RetroAchievements with the login credentials stored in achievements.ini.

Co-authored-by: AdmiralCurtiss <AdmiralCurtiss@users.noreply.github.com>
2023-04-03 21:17:44 -04:00
LillyJadeKatrin 07d2f3d305 Added Initial Achievement Settings
Added AchievementSettings in Config with RA_INTEGRATION_ENABLED, RA_USERNAME, and RA_API_TOKEN. Includes code to load and store from Achievements.ini file in config folder.
2023-04-03 21:17:44 -04:00
Michael Cook (mackal) 241a739dc2 DolphinQt: RenderWidget fix heap-use-after-free
The QByteArray returned by QString::toUtf8() was being freed so the char
pointer was pointing to freed memory.

Found via ASan, didn't notice any issues during normal runtime.

This was triggered after hitting a key combo with alt (ex. toggle
fullscreen) probably happens with others
2023-04-03 10:43:49 -04:00
Mai 655fca3efe
Merge pull request #11712 from AdmiralCurtiss/nand-import-bounds
NANDImporter: Check data bounds.
2023-04-03 08:29:57 -04:00
Pokechu22 9e0755a598 HookableEvent: Use std::recursive_mutex instead of std::mutex
This fixes a crash when recording fifologs, as the mutex is acquired when BPWritten calls AfterFrameEvent::Trigger, but then acquired again when FifoRecorder::EndFrame calls m_end_of_frame_event.reset(). std::mutex does not allow calling lock() if the thread already owns the mutex, while std::recursive_mutex does allow this.

This is a regression from #11522 (which introduced the HookableEvent system).
2023-04-02 15:51:21 -07:00
Admiral H. Curtiss 1e1041f299
NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
LillyJadeKatrin f3114b59f4 Added USE_RETRO_ACHIEVEMENTS compiler flag
Added a flag to VS and CMake for enabling RetroAchievements integration.
2023-04-02 08:28:25 -04:00
LillyJadeKatrin 2836feac71 Added rcheevos to Externals
Adds the rcheevos library from RetroAchievements to the Dolphin Externals as a submodule. Change was verified to import correctly and build both via Visual Studio and via cmake ninja.
2023-04-02 08:28:23 -04:00
JosJuice 6089310c80 Add Finnish translation
A lot of progress has been made on the Finnish translation over on
Transifex recently. Let's add it.
2023-04-02 11:33:42 +02:00
Admiral H. Curtiss c97c80d1cb
NANDImporter: Check data bounds. 2023-04-02 03:45:34 +02:00
Admiral H. Curtiss aaeaa9c6b6
Merge pull request #11714 from sepalani/check-wii-save-path
GameList: Check Wii save path
2023-04-02 02:44:29 +02:00
JosJuice 450ca0b69e
Merge pull request #11700 from AdmiralCurtiss/mmu-class
PowerPC/MMU: Refactor to class, move to System.
2023-04-01 18:02:04 +02:00
Admiral H. Curtiss e24e52af3c Jit64: Use utility function for function calls in dcbx.
We have these for a reason. I think this also fixes a theoretical
problem when `ABI_PARAM1 == loop_counter` where the first MOV destroys
the second's value; I'm not sure if this can actually happen in practice
though.
2023-04-01 15:30:03 +02:00
JosJuice 1bf593f65a Jit: Change argument order for InvalidateICacheLine(s)FromJIT 2023-04-01 14:34:30 +02:00
Sepalani 9ee564dde3 GameList: Check Wii save path
Make the behaviour consistent with GC save
2023-04-01 16:23:37 +04:00
Pierre Bourdon 7e9a63b987
Merge pull request #11704 from AdmiralCurtiss/more-log
Netplay: More logging before game start.
2023-03-30 19:26:49 +02:00
Admiral H. Curtiss 0ccf24b0c5
Netplay: More logging for server and client thread main loops. 2023-03-30 16:57:39 +02:00
Markus Wick 50a45bd614
Merge pull request #11673 from K0bin/vertex-loader-micro-opt
Vertex Loader Microoptimization
2023-03-30 11:05:02 +02:00
Admiral H. Curtiss bfe0940bbd
Netplay: More logging before game start. 2023-03-30 00:02:30 +02:00
Pierre Bourdon d62838a2f4
Merge pull request #11690 from degasus/asciiart
Shaders: Reintroduce the old Ascii-Art shader.
2023-03-28 11:17:27 +02:00
Admiral H. Curtiss 8dabd1a025
PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
Mai 98fad9004b
Merge pull request #11698 from AdmiralCurtiss/mmu-comments
PowerPC/MMU: Clean up old comments.
2023-03-27 10:32:19 -04:00
Mai c096ee64f2
Merge pull request #11696 from AdmiralCurtiss/jit-interface-class
JitInterface: Refactor to class, move to System.
2023-03-27 10:31:53 -04:00
Admiral H. Curtiss d7fabf37d6
PowerPC/MMU: Clean up old comments. 2023-03-26 15:19:48 +02:00
MayImilae 0d74a8561a Remove GCI Folder Path from the Wrote to OSD Message
Follow up to PR11470. Forgot to do GCI as well. Oops.
2023-03-26 06:19:17 -07:00
Admiral H. Curtiss 7f50c070b2
JitInterface: Convert m_jit to unique_ptr. 2023-03-26 14:38:07 +02:00
Admiral H. Curtiss 9217a9eba4
JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
Admiral H. Curtiss 1885ddcde2
JitArm64: Avoid System::GetInstance() and ppcState. 2023-03-25 15:47:30 +01:00
Admiral H. Curtiss 6b44947488
Merge pull request #11677 from AdmiralCurtiss/deglobal-jit
Avoid System::GetInstance() and ppcState global in Jit64 and CachedInterpreter.
2023-03-25 14:52:46 +01:00
Admiral H. Curtiss fc394bdbdb
Jit64: Avoid System::GetInstance() and ppcState. 2023-03-25 02:37:10 +01:00
Admiral H. Curtiss dfc14db313
CachedInterpreter: Avoid System::GetInstance() and ppcState. 2023-03-25 02:37:10 +01:00
Admiral H. Curtiss 9c0226b7e3
JitBase: Avoid System::GetInstance() and ppcState. 2023-03-25 02:37:00 +01:00
Admiral H. Curtiss b568cf5268
Interpreter: Remove remaining System::GetInstance() and global ppcState. 2023-03-24 21:58:41 +01:00
degasus 196c684ac1 Vulkan: Enable subgroupShuffle.
It is used as workaround for the missing subgroupBroadcastDynamicId flag on SPIR-V < 1.5.
2023-03-24 21:53:23 +01:00
Admiral H. Curtiss 2edb69f89f
Merge pull request #11682 from lioncash/queue
Common: Move FixedSizeQueue into Common namespace
2023-03-24 12:55:10 +01:00
Pierre Bourdon eb7d7836fd
Merge pull request #11685 from shuffle2/updater-test
test-updater.py: include space and unicode in paths to test
2023-03-22 23:40:24 +01:00
Shawn Hoffman fdc1626308 test-updater.py: include space and unicode in paths to test 2023-03-22 11:08:58 -07:00
Shawn Hoffman 3961afdbb9 windows: temporarily hardcode VCToolsVersion to 14.34.31931.0
this should be reverted after next beta is built
see https://bugs.dolphin-emu.org/issues/13206
2023-03-22 10:42:32 -07:00
Lioncash 0f326c6067 Common: Move FixedSizeQueue into Common namespace
Gets this out of the global namespace.
2023-03-22 01:23:15 -04:00
Lioncash 0888c93d48 Common: Move FPU-related helpers into Common namespace
Makes these utilities' namespace consistent with the majority of the
Common library.
2023-03-21 10:58:13 -04:00
Admiral H. Curtiss 8f16fd60dd
JitArm64: Use 64-bit register for pointer when falling back to interpreter. 2023-03-21 02:46:29 +01:00
Robin Kertels 93fce0e4b6
VideoCommon:VertexManagerBase: Only calculate remaining indices once
Before, both of those were calculated 3 times due to the ASSERTs.
2023-03-20 20:59:50 +01:00
Robin Kertels 408b09da31
VideoCommon:VertexShaderManager: Inline SetVertexFormat & UpdateValue/Offset 2023-03-20 20:59:38 +01:00
Robin Kertels c1be9628fc
VideoBackends:Vulkan: Use WorkQueueThread 2023-03-20 16:40:32 +01:00
Robin Kertels 9d422d14d5
WorkQueueThread: Fix WaitForCompletion 2023-03-20 16:31:40 +01:00
Robin Kertels 9186050daa
VideoBackends:Vulkan: Clean up submission thread BlockingLoop usage 2023-03-20 16:23:35 +01:00
Robin Kertels 7703fef3a4
VideoCommon:VertexLoaderManager: Only update vertex format in shader manager if necessary. 2023-03-20 00:41:16 +01:00
Admiral H. Curtiss 454d2fd9ab
Interpreter: Avoid ppcState global (Interpreter_SystemRegisters.cpp). 2023-03-19 03:11:22 +01:00
Admiral H. Curtiss c582aad0c7
Interpreter: Avoid ppcState global (Interpreter_Paired.cpp). 2023-03-19 03:11:18 +01:00
Admiral H. Curtiss 514a7af473
Interpreter: Avoid ppcState global (Interpreter_LoadStorePaired.cpp). 2023-03-19 03:11:13 +01:00
Admiral H. Curtiss 9af8410e4c
Interpreter: Avoid ppcState global (Interpreter_LoadStore.cpp). 2023-03-19 03:11:09 +01:00
Admiral H. Curtiss 8b13349886
Interpreter: Avoid ppcState global (Interpreter_Integer.cpp). 2023-03-19 03:11:05 +01:00
Admiral H. Curtiss 2ce86a890a
Interpreter: Avoid ppcState global (Interpreter_FloatingPoint.cpp). 2023-03-19 03:11:01 +01:00
Admiral H. Curtiss d4ca591e02
Interpreter: Avoid ppcState global (Interpreter_Branch.cpp). 2023-03-19 03:10:56 +01:00
Admiral H. Curtiss 68ab623764
Interpreter: Avoid ppcState global (Interpreter.cpp). 2023-03-19 03:10:42 +01:00
Admiral H. Curtiss 3d67c11b91
Interpreter: Move global state into class, move instance to System. 2023-03-19 03:05:20 +01:00
Admiral H. Curtiss 919182eda2
Interpreter: Pass Interpreter to CPU instruction functions. 2023-03-19 03:05:11 +01:00
Admiral H. Curtiss a4d3342419
Merge pull request #11665 from JosJuice/fix-movie-wii-save
Core: Fix starting movie recording with existing Wii save
2023-03-19 01:46:21 +01:00
Admiral H. Curtiss fb7a371ac0
Merge pull request #11666 from AdmiralCurtiss/updater-spaces
WinUpdater: Quote path for args when relaunching Dolphin.
2023-03-18 18:32:35 +01:00
Admiral H. Curtiss 33d0ec97e9
WinUpdater: Quote path for args when relaunching Dolphin. 2023-03-17 12:48:39 +01:00
TellowKrinkle d037c60caf CMake: Use proper dependency tracking command for storyboard compiling 2023-03-17 01:28:33 -05:00
TellowKrinkle 66936f2087 CMake: Use generator expressions to get codesigning targets
Also works around a bug where CMake's ninja generator doesn't properly handle ||'s on POST_BUILD commands, making the || apply to the whole build like `<link> && custom0 || custom1`
2023-03-17 01:28:16 -05:00
Pokechu22 4dd658f4da Remove PPCTables::UsesFPU
We don't have getters for other flags, so it's not useful to have that.
2023-03-16 18:39:41 -07:00
Pokechu22 164ea57790 Split PPCTables from Interpreter_Tables
This also allows use of constexpr in both places. Some additional work was needed in PPCTables due to mutable data associated with each opcode.
2023-03-16 18:36:25 -07:00
Pokechu22 cd627d1232 PPCTables: Fix OPLOG system
Since OPLOG is defined in PPCTables.cpp only, it isn't visible elsewhere. This broke in 3ede866c37.
2023-03-16 18:36:25 -07:00
Pokechu22 34f39ee22e JitArm64_Tables: Use C++20 features 2023-03-16 18:36:25 -07:00