Commit Graph

35321 Commits

Author SHA1 Message Date
Lioncash 6a86b35e88 State: Make use of re-entrant variant of localtime
Makes this member function thread-safe. We can also unify the string
handling to make it easier to maintain.
2024-01-23 15:28:30 -05:00
Lioncash 1b3f61041a Movie: Remove global system accessor from GetRTCDisplay()
We can just use m_system instance reference instead.
2024-01-23 15:15:13 -05:00
Lioncash 763562357b Movie: Mark getters as const
These don't modify internal member state.
2024-01-23 15:15:13 -05:00
Lioncash c0b0023b64 Movie: Use re-entrant variant of gmtime in GetRTCDisplay()
Makes this member function thread-safe.
2024-01-23 15:15:10 -05:00
Lioncash f03da37693 NetKDTime: Use re-entrant variants of gmtime
Makes these implementations more thread-safe by design. These likely
won't be run on any other thread, but we may as well just use the
re-entrant variant if it's available.
2024-01-23 14:30:44 -05:00
iwubcode 3a688aa35e VideoCommon: add function to serialize MaterialAsset to json 2024-01-23 13:01:33 -06:00
Lioncash 5aeadb1ef8 PostProcessing: Don't potentially leak memory in BlitFromTexture()
All release() does is relinquish the pointer, rather than free the
memory associated with it.
2024-01-23 13:34:40 -05:00
Lioncash a3f9f2c7aa PostProcessing: Remove unnecessary get() calls in BlitFromTexture()
We can just use operator-> instead.
2024-01-23 13:34:16 -05:00
JosJuice f2292467ad
Merge pull request #12518 from lioncash/pragma
AchievementSettings: Move pragma once out of ifdef
2024-01-23 19:24:38 +01:00
JosJuice 96fda3d126
Merge pull request #12517 from lioncash/alloc
Jit64/JitRegCache: Simplify GetAllocationOrder()
2024-01-23 19:23:42 +01:00
iwubcode a40a952177 VideoCommon: add a method to calculate a default value for ShaderAsset and another to list its types 2024-01-23 11:58:32 -06:00
iwubcode b5a6225e1a VideoCommon: add function to serialize ShaderAsset to json 2024-01-23 11:58:32 -06:00
Lioncash 49eadbb824 AchievementSettings: Move pragma once out of ifdef
Makes the header a little more consistent with others (and also we
should still have a header guard be present at all times).
2024-01-23 11:56:50 -05:00
Lioncash 9f82efa3e2 Jit64/JitRegCache: Simplify GetAllocationOrder()
Given we have fixed allocation orders, we can just directly return a
span instead of a pointer and a size via an out parameter.

Makes it a little more convenient, since we get both pieces of info at
once, and also have the ability to iterate directly off the span out of
the box.
2024-01-23 11:03:59 -05:00
Mai 713572e874
Merge pull request #12510 from JosJuice/android-revert-attach-early
Revert "Android: Attach CPU thread to JVM early"
2024-01-21 10:23:15 -05:00
Mai d64705d691
Merge pull request #12512 from JosJuice/assembler-dirty-flag
DolphinQt: Rework dirty flag handling in AssemblerWidget::TabTextForEditor
2024-01-21 10:22:46 -05:00
JosJuice 4b7c953415
Merge pull request #12509 from AdmiralCurtiss/bbox-init-only-if-supported
VideoCommon: Only initialize Bounding Box if supported by GPU/driver.
2024-01-20 21:59:15 +01:00
JosJuice 6276232574 DolphinQt: Rework dirty flag handling in AssemblerWidget::TabTextForEditor
Putting the handling of the dirty flag in only one string makes it
clearer for translators what's going on.
2024-01-20 20:00:52 +01:00
JosJuice 6cd67e3937 Partially revert "DolphinQt/Assembler: improve translatability"
This reverts the parts of commit c8c9928eb1 that made translatability
worse rather than better. Changing "Error in column %2" to "%1 in column
%2" not only means that the translators have to check the i18n comments
to know what word hides behind %1, but there's also the problem that
the translator might need to translate "Error" in this context
differently from the standalone string "Error". Having to copy-paste
some HTML tags may be annoying for translators, but it's a far less
serious problem.
2024-01-20 14:46:41 +01:00
JosJuice c8327ad514 Revert "Android: Attach CPU thread to JVM early"
This reverts commit e86d713600.

A proper fix was added in 86c1f6e1e7,
so the workaround is no longer necessary.
2024-01-20 14:26:50 +01:00
Admiral H. Curtiss ac670d99e2
VideoCommon: Only initialize Bounding Box if supported by GPU/driver. 2024-01-20 12:34:24 +01:00
Admiral H. Curtiss 83d4b692b8
InputCommon/WGInput: Handle add/remove events on separate thread to prevent deadlocks.
In particular this is triggered when running Dolphin with the Steam overlay.
2024-01-18 00:30:45 +01:00
Admiral H. Curtiss 12318f921f
Merge pull request #12503 from AdmiralCurtiss/sdl-fixes
InputCommon/SDL: Fix potential issues in controller initialization.
2024-01-18 00:29:25 +01:00
Mai 6aacbc4c35
Merge pull request #12488 from JosJuice/jitarm64-psq-stxx-w0
JitArm64: Remove unnecessary locking of W0 in psq_stXX
2024-01-15 15:14:59 -05:00
Mai 5534f510e0
Merge pull request #12498 from AdmiralCurtiss/globals-socket
Core/IOS/Network/Socket: Avoid global system accessor.
2024-01-15 15:13:41 -05:00
Admiral H. Curtiss c7d7ae4912
InputCommon/SDL: Code style fixes. 2024-01-15 15:19:41 +01:00
Admiral H. Curtiss 5e6e61c723
InputCommon/SDL: Avoid potential infinite loops from integer truncation. 2024-01-15 15:19:24 +01:00
Admiral H. Curtiss d657ad5932
InputCommon/SDL: Check for errors from SDL_JoystickNumButtons(), SDL_JoystickNumAxes(), SDL_JoystickNumHats(). 2024-01-15 15:18:38 +01:00
Admiral H. Curtiss 959c39133b
InputCommon/SDL: Fix incorrect use of std::vector::assign() and check bounds. 2024-01-15 15:17:32 +01:00
Admiral H. Curtiss 95cba6be2b
Core/Movie: Refactor to class, move to System.
A bit of global state remains (the `header` in `BeginRecordingInput()`) due to unclear lifetime requirements.
2024-01-15 08:05:30 +01:00
Mai c76dee7807
Merge pull request #12285 from iwubcode/serialize_graphics_mods
VideoCommon: add ability to serialize graphics mod to json object
2024-01-13 14:15:14 -05:00
Admiral H. Curtiss 1cca3b24c6
Merge pull request #12085 from SuperSamus/sdl-gamecontroller
SDL: Add GameController API, cleanup
2024-01-13 16:37:43 +01:00
Martino Fontana 51e05f468a SDL: Add GameController API, cleanup 2024-01-13 16:10:25 +01:00
Admiral H. Curtiss 4a362ddd33
Core/IOS/Network/Socket: Avoid global system accessor. 2024-01-13 13:18:20 +01:00
Mai 8760aca8ec
Merge pull request #12500 from AdmiralCurtiss/globals-fiforecorder
FifoRecorder: Move instance to System.
2024-01-13 06:38:39 -05:00
Mai d36baf633c
Merge pull request #12499 from AdmiralCurtiss/globals-mmiorw
Core/HW/MMIO: Pass System through Read() and Write().
2024-01-13 06:37:49 -05:00
Admiral H. Curtiss 443b4ae745
Core/FifoPlayer: Avoid global System accessor. 2024-01-12 21:54:35 +01:00
Admiral H. Curtiss 637fd49909
FifoRecorder: Move instance to System. 2024-01-12 15:06:06 +01:00
Admiral H. Curtiss 42d61cfc4c
Core/HW/MMIO: Pass System through Read() and Write(). 2024-01-12 08:28:01 +01:00
Mai 6725c25600
Merge pull request #12494 from AdmiralCurtiss/globals-wiiipc
Core/IOS/WiiIPC: Refactor to class, move to System.
2024-01-12 02:08:00 -05:00
Mai ab3655fbea
Merge pull request #12496 from AdmiralCurtiss/globals-gba
Core/HW/GBACore: Avoid global System accessor.
2024-01-12 02:05:57 -05:00
Admiral H. Curtiss bca5b10faf
Merge pull request #12489 from JosJuice/optimizable-access-size
PowerPC: Add access size parameter to MMU::IsOptimizableRAMAddress
2024-01-12 07:44:59 +01:00
Admiral H. Curtiss f7a9ea9d7e
Core/HW/GBACore: Avoid global System accessor. 2024-01-12 07:30:20 +01:00
Admiral H. Curtiss 5a633f0bcf
Core/IOS/WiiIPC: Add missing variables to savestate. 2024-01-12 06:37:11 +01:00
Admiral H. Curtiss 17753d5168
Core/IOS/WiiIPC: Refactor to class, move to System. 2024-01-12 06:37:10 +01:00
Admiral H. Curtiss be7f4ab244
Core: Pass sensor bar state into the Wiimote input calculation functions instead of having it access a global. 2024-01-11 06:02:49 +01:00
Vicki Pfau a8033f164b Steam Deck: Pad out feature report to 64 bytes
Also update the names of the setting post-Steam Deck commits to SDL

Fixes https://bugs.dolphin-emu.org/issues/13412
2024-01-10 19:49:52 -08:00
JosJuice b972329ed0 PowerPC: Add access size parameter to MMU::IsOptimizableRAMAddress
For correctness, we need to check not only the start address of the
memory access but also the end address.
2024-01-10 18:17:45 +01:00
Martino Fontana 0ab2bc2287 ControllerInterface: Make FullAnalogSurface inherit IsDetectable() 2024-01-10 12:20:07 +01:00
Lioncash 409d2ecad3 SI_Device: Remove global system accessors
We can pass the system timer instance through to avoid needing the
global accessor.
2024-01-08 11:03:26 -05:00
Lioncash 7398d0b6ef SI_DeviceGBAEmu: Remove global system accessors
We can pass the system timer instance in from the existing system
instance instead of the global accessor.
2024-01-08 10:56:41 -05:00
Admiral H. Curtiss 1f0fe5a99a
Core/DSPHLE: Store reference to DSPManager in HLEAccelerator (AX/AXWii). 2024-01-08 10:27:39 +01:00
Admiral H. Curtiss 3a9160100d
Core/DSPHLE: Store reference to DSPManager in AESndAccelerator.
Avoids the use of the global System in ReadMemory() and WriteMemory().
2024-01-08 10:23:29 +01:00
Admiral H. Curtiss e9ab33b871
Core/DSPHLE: Remove global System access in UCodes. 2024-01-08 10:23:29 +01:00
Admiral H. Curtiss a9bf93cf2a
Core/DSPHLE: Remove global System access from CMailHandler. 2024-01-08 10:23:29 +01:00
Admiral H. Curtiss 9be9cbda2f
Core/DSPHLE: Store reference to System in DSPHLE instances. 2024-01-08 10:23:28 +01:00
Admiral H. Curtiss 3b0444be6b
Core/DSPHLE: Move HLEAccelerator instance into AXUCode. 2024-01-08 03:53:52 +01:00
Admiral H. Curtiss bfd53c7294
Core/DSPHLE: Make HLEAccelerator state local to GetInputSamples() in AX and AXWii UCodes. 2024-01-08 03:53:52 +01:00
Mai 180d053ec1
Merge pull request #12486 from AdmiralCurtiss/globals-aesndaccel
Core/DSPHLE: Move AESndAccelerator instance into AESndUCode.
2024-01-07 20:36:01 -05:00
JosJuice f2145c91e7 JitArm64: Update register comments in psq_lXX/psq_stXX
This was also overlooked in 166bd87f70.
2024-01-07 23:01:38 +01:00
JosJuice d94b00ec36 JitArm64: Remove unnecessary locking of W0 in psq_stXX
It seems like I made a mistake in 166bd87f70. Locking W0 when
jo.memcheck is true is only necessary for load instructions, not store
instructions.
2024-01-07 22:59:51 +01:00
JosJuice 4e57b66dcf
Merge pull request #12375 from JosJuice/android-gate-size-crash
Android: Fix crash when trying to edit gate size setting
2024-01-07 19:34:06 +01:00
JosJuice 696a6defd2
Merge pull request #12472 from mitaclaw/arm64-flush-mode
Arm64RegCache: Use FlushMode everywhere
2024-01-07 18:45:25 +01:00
Admiral H. Curtiss 2a42977dd3
Core/DSPHLE: Move AESndAccelerator instance into AESndUCode. 2024-01-07 04:49:34 +01:00
Tilka 5b2ea515ad
Merge pull request #12484 from SuperSamus/vulkan-dont-panic-suboptimal-khr
VKGfx: Don't panic for VK_SUBOPTIMAL_KHR
2024-01-06 12:39:40 +00:00
Admiral H. Curtiss fc2ec826d4
FifoPlayer: Move instance to System. 2024-01-05 20:15:18 +01:00
Martino Fontana 58f5bf5496 VKGfx: Don't panic for VK_SUBOPTIMAL_KHR 2024-01-05 11:20:35 +01:00
Mai 2f7f7afe6d
Merge pull request #12468 from JosJuice/android-targets-fixes
Android: Fix the targets line in build.gradle.kts
2024-01-05 01:55:11 -05:00
Mai feb7207a4c
Merge pull request #12482 from AdmiralCurtiss/globals-coreinit
Core: Pass System through more of the emulation thread init process.
2024-01-05 01:53:11 -05:00
Admiral H. Curtiss 2155a61176
Core: Pass System through more of the emulation thread init process. 2024-01-05 05:19:29 +01:00
Admiral H. Curtiss 07c035e659
Core/SystemTimers: Refactor to class, move to System. 2024-01-04 23:35:19 +01:00
Tilka 9c91b5edca
Merge pull request #12480 from AdmiralCurtiss/codetrace-system
Core/CodeTrace: Take address from given instruction in GetInstructionAttributes().
2024-01-04 22:00:15 +00:00
Admiral H. Curtiss 0be476cfaf
Core/CodeTrace: Take address from given instruction in GetInstructionAttributes().
In all instance this method is called, the instruction comes from SaveCurrentInstruction(), which already sets the address to the PC.
2024-01-04 21:44:54 +01:00
Admiral H. Curtiss ce19d6a35e
Core/Boot: Avoid global system accessor when setting disc. 2024-01-04 21:30:24 +01:00
iwubcode 1073722cdf Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android devices."
This reverts commit 79648e1c24.
2024-01-03 18:43:44 -06:00
Tilka 48eb8b17ef
Merge pull request #12475 from Tilka/zelda
DSPHLE/Zelda: fix reverb volume being multiplied by current volume twice
2024-01-02 05:06:21 +00:00
Admiral H. Curtiss fd1a261e73
Merge pull request #12470 from JosJuice/jitarm64-low-dcbz-for-real
JitArm64: Don't fall back to interpreter on low DCBZ hack
2024-01-01 23:16:30 +01:00
Tillmann Karras 381c2702f6 DSPHLE/Zelda: fix reverb volume being multiplied by current volume twice 2024-01-01 21:53:26 +00:00
Admiral H. Curtiss 295d86c86f
Merge pull request #12455 from PatrickFerry/qt_handle_overridden_graphics_backend
Qt: Handle Overridden Graphics Backend
2024-01-01 22:42:30 +01:00
Admiral H. Curtiss 6e3a2324a4
Merge pull request #12464 from JosJuice/jit-isi-membase
Jit: Reload RMEM/MEM_REG on ISI exception
2024-01-01 22:09:05 +01:00
Admiral H. Curtiss 043d868841
Merge pull request #12473 from Dentomologist/bitset64_fix_iterator_incrementation
BitSet64: Fix iterator incrementation
2024-01-01 22:03:11 +01:00
Admiral H. Curtiss 370daaf26c
Merge pull request #12474 from Dentomologist/bitset_use_static_cast
BitSet: Use direct initialization instead of c-style casts
2024-01-01 22:01:45 +01:00
Dentomologist 7dbf463ddf BitSet64: Fix iterator incrementation
Use 1 of the same type as the stored value when shifting left. This
prevents undefined behavior caused by shifting an int more than 31 bits.

Previously iterator incrementation could either hang or prematurely
report it had reached the end of the bitset.
2024-01-01 00:41:48 -08:00
Dentomologist abb484a101 BitSet: Use direct initialization instead of c-style casts 2024-01-01 00:36:13 -08:00
Tilka 07df4ff16e
Merge pull request #12471 from mitaclaw/flush-gpr-arm-bug
Fix Logic Inefficiency in Arm64GPRCache::FlushRegisters
2024-01-01 00:46:34 +01:00
Dentomologist 58c5ae3de9 UnitTests: Refactor BitSetTest
Group numbers and their bitcounts together in pairs, which allows for
range-based loop iteration.
2023-12-31 12:10:50 -08:00
mitaclaw 4805b02893 Arm64RegCache: Use FlushMode everywhere 2023-12-31 02:09:56 -08:00
mitaclaw 01e534a681 Fix Logic Inefficiency in Arm64GPRCache::FlushRegisters
This was introduced in 6a9f565ac4.
2023-12-30 23:44:27 -08:00
Tilka 8ecc478662
Merge pull request #12469 from JosJuice/tlb-index-constants
PowerPC: Add constants for the two TLB indices
2023-12-30 16:59:17 +01:00
JosJuice 465f17a882 PowerPC: Add constants for the two TLB indices
Just for readability.
2023-12-30 14:31:05 +01:00
JosJuice 684b3dfd4a JitArm64: Don't fall back to interpreter on low DCBZ hack
I missed this in 16eb188f1d.
2023-12-30 14:18:49 +01:00
JosJuice b56e6cc03d Android: Update the comment for the targets line in build.gradle.kts
This comment hasn't really made sense since 23bebc5270 commented out
the relevant line.
2023-12-30 14:16:28 +01:00
JosJuice b5f41e0742 Android: Fix syntax of the targets line in build.gradle.kts
Seems like this was missed in the conversion to Kotlin in 001089dbf4.
2023-12-30 14:14:40 +01:00
JosJuice 2a89a1d27a
Merge pull request #12461 from blakbin/DocumentProvider
Improve DocumentProvider
2023-12-30 12:50:46 +01:00
JosJuice 26760cf8a8
Merge pull request #12467 from AdmiralCurtiss/codepage-convert-linkage
Common/StringUtil: Use internal linkage for codepage conversion functions.
2023-12-30 12:13:53 +01:00
luc-git 6b166f1819
DolphinQt/Mapping: Add "Use Mouse Controlled Pointing" button. 2023-12-29 20:31:39 +01:00
Admiral H. Curtiss 99fbc4b97e
Merge pull request #11885 from Filoppi/devices_deadlock_fix_v2
Input: Improve Controller Interface devices threading
2023-12-29 20:17:04 +01:00
Admiral H. Curtiss 4f04ac5858
Common/StringUtil: Use internal linkage for codepage conversion functions. 2023-12-29 19:50:55 +01:00
Admiral H. Curtiss bf0ac9de0c
Merge pull request #12466 from JosJuice/win32-error-string-encoding
Common: Fix encoding handling in GetWin32ErrorString
2023-12-29 19:48:00 +01:00
JosJuice 0c7359e150 Common: Fix encoding handling in GetWin32ErrorString
These messages can be localized, so we can't just assume it's all ASCII.
2023-12-29 16:01:13 +01:00