Commit graph

13222 commits

Author SHA1 Message Date
Admiral H. Curtiss
c468ca2107
Merge pull request #12057 from iwubcode/config_core_timing_refresh_only
Core: save core timing parameters into variables updated during refresh
2023-07-24 01:14:18 +02:00
iwubcode
e54b7ac356 Core: save core timing parameters into variables updated during refresh 2023-07-23 14:03:21 -05:00
JosJuice
eb79bf37e2
Merge pull request #12052 from mitaclaw/profiling-is-something
Announce RSCRATCH clobbering in Jit64::Cleanup() when profiling is enabled
2023-07-23 20:12:43 +02:00
Admiral H. Curtiss
c1a4b3f350
Merge pull request #12051 from mandar1jn/J-documentation-improvements
Skylanders: Update J command documentation
2023-07-23 19:23:29 +02:00
Mandar1jn
eba5291ec7 Skylanders: Update J command documentation
I initially thought the 0x01 side was both sides (equavalent to just C. However, this turned out to be something I forgot I implemented in my personal interface. 0x01 does not seem to change any colors.

Recently discovered how exactly the last 2 bytes of the J command for timing data
2023-07-20 23:58:33 +02:00
mitaclaw
70b3db93e0 Announce RSCRATCH clobbering in Jit64 when profiling is enabled 2023-07-19 14:15:42 -07:00
Joshua de Reeper
93c8db66d6 Skylanders: More List Fixes 2023-07-10 09:59:00 +01:00
Admiral H. Curtiss
80c44ea597
Merge pull request #12034 from MaverickAmon02/controller-update-race
Fix unsafe netplay code in SI_DeviceGCController
2023-07-09 14:13:44 +02:00
Amon Neander
d122492db7 Fix unsafe netplay code in SI_DeviceGCController
By misusing Config, this netplay-related code opened up a race condition between Config::OnConfigChanged() and SerialInterface::SerialInterfaceManager::UpdateDevices() that could cause iterator invalidation.
2023-07-06 11:34:08 -04:00
Joshua de Reeper
79a4b91d68 Skylander Portal: Simple List Fixes 2023-07-04 16:48:51 +01:00
LillyJadeKatrin
ccc9d0e5ea Synchronized Achievement Window
Expanded the use of the lock mutex already used for loading the player's existing unlock status to guard against races involving the Achievements dialog window reading from data AchievementManager might be in the process of updating. The lock has been exposed publicly and the AchievementsWindow uses it in its UpdateData method, and anywhere else that might modify data used to render that window has also been wrapped with it.
2023-07-01 22:26:30 -04:00
LillyJadeKatrin
fbaeaf305b Add UpdateCallback to AchievementManager
AchievementManager now has a SetUpdateCallback method for providing a single universal callback for anytime something important changes in the achievement state, such as logging in/out, game load/close, or events such as achievement unlocks. AchievementsWindow sets this callback in its own init to its UpdateData method so that the AchievementsWindow gets updated when one of these changes takes place.
2023-07-01 22:26:29 -04:00
LillyJadeKatrin
f700faf6ab Expose Achievements Data for Display
Added some small methods to AchievementManager to expose useful data for displaying in an achievement UI. Also moved a couple things from private to public for the same purpose.
2023-07-01 22:26:29 -04:00
Admiral H. Curtiss
ed4403537f
Merge pull request #11916 from JosJuice/ppcanalyst-reorder-loop
PPCAnalyst: Reduce number of iterations in ReorderInstructionsCore
2023-07-01 01:06:53 +02:00
Admiral H. Curtiss
82c986816f
Merge pull request #11978 from AdmiralCurtiss/wiimote-S_FALSE
WiimoteReal/IOWin: Don't try to print error message for non-errors.
2023-07-01 00:58:42 +02:00
Admiral H. Curtiss
e71f42f819
Merge pull request #11997 from Dentomologist/dspemulator_remove_pauseandlock_parameter
DSPEmulator: Remove unused PauseAndLock parameter
2023-07-01 00:56:45 +02:00
Admiral H. Curtiss
fa81006b51
Merge pull request #11955 from TellowKrinkle/CMakeDependencies
CMake: Allow ignoring system packages
2023-06-30 19:06:04 +02:00
Dentomologist
ee684b0798 DSPEmulator: Remove unused PauseAndLock parameter 2023-06-25 20:29:23 -07:00
Admiral H. Curtiss
3a8e7de214
Merge pull request #11903 from noahpistilli/wiilink
IOS/KD: Add WiiLink as WC24 service provider by default
2023-06-26 02:27:47 +02:00
Sketch
f9f8e94e30 Add default support for WiiLink + configuration 2023-06-25 14:57:15 -04:00
Pokechu22
50c929928c
Merge pull request #11920 from Minty-Meeo/kill-ascii-to-hex
Kill AsciiToHex
2023-06-23 18:20:36 -07:00
Admiral H. Curtiss
02909bd1a5
Merge pull request #11850 from Filoppi/post_process_fixes
Video: implement color correction to match the Wii/GC NTSC/PAL color spaces (and gamma)
2023-06-23 18:08:23 +02:00
Admiral H. Curtiss
b5ba51c60a
Core: Remove host thread assert in PauseAndLock().
Fixing all the places it's used turned out to be a more complicated task than anticipated. So let's remove this for now so we don't confuse users with cryptic error messages...
2023-06-23 01:18:56 +02:00
get
445bf8d2c6 Kill AsciiToHex
Now superseded by Common::FromChars
2023-06-22 00:06:50 -05:00
Sketch
bc0e8158b3 IOS/KD/Time: Take into account DST for AdjustedUTC 2023-06-20 22:49:33 -04:00
Admiral H. Curtiss
00bf5f55de
WiimoteReal/IOWin: Don't try to print error message for non-errors. 2023-06-20 01:54:59 +02:00
JosJuice
cff3e22f84
Merge pull request #11926 from JosJuice/android-host-check
Android: Re-add host thread check
2023-06-19 20:37:59 +02:00
get
ffabb6c57b Replace std::ostringstream usage with fmt::format 2023-06-18 18:37:32 -05:00
Filoppi
a2702c6e27 Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
To further increase the accuracy of the post process phase, I've added (scRGB) HDR support, which is necessary
to fully display the PAL and NTSC-J color spaces, and also to improve the quality of post process texture samplings and
do them in linear space instead of gamma space (which is very important when playing at low resolutions).
For SDR, the quality is also slightly increased, at least if any post process runs, as the buffer is now
R10G10B10A2 (on Vulkan, DX11 and DX12) if supported; previously it was R8G8B8A8 but the alpha bits were wasted.

Gamma correction is arguably the most important thing as Dolphin on Windows outputted in "sRGB" (implicitly)
as that's what Windows expects by default, though sRGB gamma is very different from the gamma commonly used
by video standards dating to the pre HDR era (roughly gamma 2.35).

Additionally, the addition of HDR support (which is pretty straight forward and minimal), added support for
our own custom AutoHDR shaders, which would allow us to achieve decent looking HDR in Dolphin games without
having to use SpecialK or Windows 11 AutoHDR. Both of which don't necessarily play nice with older games
with strongly different and simpler lighting. HDR should also be supported in Linux.
Development of my own AutoHDR shader is almost complete and will come next.

This has been carefully tested and there should be no regression in any of the different features that Dolphin
offers, like multisampling, stereo rendering, other post processes, etc etc.

Fixes: https://bugs.dolphin-emu.org/issues/8941

Co-authored-by: EndlesslyFlowering <EndlesslyFlowering@protonmail.com>
Co-authored-by: Dogway <lin_ares@hotmail.com>
2023-06-19 01:34:42 +03:00
Admiral H. Curtiss
b71304230c
Jit64: Fix trampolines after #11834. 2023-06-18 01:31:44 +02:00
get
07ad75f34f EnumUtils: Add Common::ToUnderlying
Mirrors the C++23 <utility> function, std::to_underlying
2023-06-17 07:15:33 -05:00
Admiral H. Curtiss
089d433996
Merge pull request #11956 from JosJuice/jitarm64-12-bit-asm
JitArm64: Micro-optimizations in fres routine
2023-06-17 04:00:22 +02:00
Admiral H. Curtiss
f5eea4a957
Merge pull request #11834 from Dentomologist/xemitter_use_pseudonamed_parameter_force5bytes
XEmitter: Add enum class Force5Bytes
2023-06-16 15:46:36 +02:00
JosJuice
9c13436e2b JitArm64: Improve instruction scheduling in fres routine
We want to have a low number of instructions between the LDP and the
MADD so that the MADD can start immediately after the LDP finishes
even if we're on a lower-end in-order CPU.
2023-06-15 22:02:39 +02:00
JMC47
f0f8225ff8
Merge pull request #11424 from Pokechu22/jit-imm-loadstore-update
Jit64: Attempt to fix updating stores with an immediate value
2023-06-15 11:32:30 -04:00
TellowKrinkle
5b10a80401 CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
JosJuice
5b5124d9ff JitArm64: Use immediates more in fres routine
Not sure why I didn't do this to begin with. Maybe I was under the
impression that the most significant bit of a 12-bit immediate was a
sign bit.
2023-06-14 23:27:58 +02:00
Admiral H. Curtiss
bd125733f0
Merge pull request #11946 from Dentomologist/convert_fromwhichroot_to_enum_class
Common: Convert FromWhichRoot to enum class
2023-06-14 13:29:07 +02:00
Admiral H. Curtiss
88ff00a05c
Merge pull request #11942 from Dentomologist/convert_controlleremu_translatability_to_enum_class
ControllerEmu: Convert Translatability to enum class
2023-06-14 13:27:47 +02:00
Dentomologist
7ff7c9e84f Common: Convert FromWhichRoot to enum class 2023-06-13 13:25:22 -07:00
Lioncash
708c986693 PPCCache: Remove redundant reinterpret_casts
The pointer is being passed to functions that take arguments as void*,
so we don't need to cast here.
2023-06-13 08:25:26 -04:00
Dentomologist
527f8e783c ControllerEmu: Convert Translatability to enum class 2023-06-12 18:11:04 -07:00
JosJuice
f11175d117 Revert "Android: Temporarily disable host thread check"
This reverts commit 361171fce0.
2023-06-12 23:39:42 +02:00
Dentomologist
4c2759f541 XEmitter: Add enum class Jump
Replace the bool parameter force5bytes in J, JMP, and J_CC with an enum
class Jump::Short/Near. Many callers set that parameter to the literal
'true', which was unclear if you didn't already know what it did.
2023-06-12 13:04:18 -07:00
Lioncash
41df38cb7c Common: Move DebugInterface.h into Core
The base DebugInterface now depends on the Core's CPUThreadGuard, and
utilities in Common shouldn't be depending on Core facilities. So, we
can move this into the core library instead.
2023-06-12 10:35:31 -04:00
Robin Kertels
23bebc5270
VideoBackends:Vulkan: Allow loading custom drivers on Android
... using libadrenotools
2023-06-11 13:52:34 +02:00
JosJuice
061ec365a8 PPCAnalyst: Reduce number of iterations in ReorderInstructionsCore
We can utilize the fact that if swapping two instructions causes another
swap to become possible, that swap involves one of the two instructions
we just swapped. There's need to search for new swap opportunities as
far back as the beginning of the block; we can just go one step back.
2023-06-09 19:45:51 +02:00
Pokechu22
c63f0f37cd VideoCommon: Pass WindowSystemInfo to InitBackendInfo 2023-06-08 22:07:39 -07:00
Admiral H. Curtiss
7845fb00ee
Merge pull request #11681 from iwubcode/asset_management
VideoCommon: migrate texture packs to use the asset loader system
2023-06-08 22:21:12 +02:00
JosJuice
f561bd4285
Merge pull request #11910 from lioncash/construct
PowerPC/ConditionRegister: Mark PPCToInternal() as constexpr
2023-06-08 21:26:07 +02:00