Commit Graph

40816 Commits

Author SHA1 Message Date
TryTwo b57ba42a55 Core::SetState() allow state to change without sending a callback.
Some state changes are meant to be near instantanoues, before switching to something else. By reporting ithe instant switch, the UI will flicker between states (pause/play button) and the debugger will unnecessarily update. Skipping the callback avoids these issues.
2023-11-16 11:07:37 -07:00
TryTwo df8c0d2b39 Core::GetState() bugfix: remove forced incorrect state on frame advance.
This was implemented to prevent UI flickering due to  the state rapidly switching between pause/play.  Recently, it has been causing issues with debugger windows, which update during frame advance.
2023-11-16 10:41:53 -07:00
JosJuice b40a824f92 Translation resources sync with Transifex 2023-11-15 21:19:12 +01:00
Admiral H. Curtiss 6309aa0010
Merge pull request #12175 from Sam-Belliveau/correct-area-sampling
Corrected Area Sampling Range
2023-11-15 01:49:45 +01:00
Admiral H. Curtiss 3975d5e923
Merge pull request #12176 from Filoppi/patch-22
Make AutoHDR work with color luminance instead of average
2023-11-14 19:53:35 +01:00
Filoppi a8fd938a06 Change paper white default to 203 to match the ITU 2023-11-14 20:21:34 +02:00
Sam Belliveau 7894b40111
Fix inner area sampling loop from going beyond bounds 2023-11-14 12:05:12 -05:00
Tilka 87c27936fc
Merge pull request #12238 from AdmiralCurtiss/achievementheaderwidget-unused-variables
DolphinQt/AchievementHeaderWidget: Remove unused member variables.
2023-11-12 21:24:17 +00:00
Tilka aa1311cd78
Merge pull request #12268 from JosJuice/fastmem-terminology
Jit: Define new terms related to fastmem
2023-11-12 19:44:45 +00:00
Tilka 166423ad61
Merge pull request #12273 from Dentomologist/dolphinqt_remove_unnecessary_qoverloads
DolphinQt: Remove unnecessary qOverloads
2023-11-12 19:43:05 +00:00
Tilka 4b38560323
Merge pull request #12282 from Wack0/mmu-tlb-patch
MMU: Use VSID in segment register as additional TLB lookup key
2023-11-12 19:41:23 +00:00
Tilka 15a3200b70
Merge pull request #12288 from Pokechu22/bp-stride-scale-fallthrough
Fix accidental fallthrough in BPStructs
2023-11-12 19:35:37 +00:00
Tilka 4285e9d8aa
Merge pull request #12276 from Tilka/ax_volume
AX: make volume field signed
2023-11-12 19:35:15 +00:00
Pokechu22 3984d1964b Fix accidental fallthrough in BPStructs
This caused us to update the indirect texture information in shaders more often than we needed to, which probably doesn't matter in practice since it's only used in ubershaders and copyyscale and stride are generally only updated before EFB/XFB copies, which generally will have other changes afterwards.
2023-11-12 10:39:56 -08:00
Tilka e7b922ee62
Merge pull request #12286 from Pokechu22/more-bp-register-descriptions
Add descriptions for more BP registers
2023-11-12 07:59:32 +00:00
Pokechu22 da8407e01c Add descriptions for more BP registers 2023-11-11 23:32:17 -08:00
Pokechu22 dfdb9a4a07 Clarify per-texture tmem information in the fifo analyzer 2023-11-11 23:32:17 -08:00
Pokechu22 ea41d0e384 Convert BPMEM_LOADTLUT1 to a struct 2023-11-11 23:32:17 -08:00
Pokechu22 2a1d445b30 Enhance description of BPMEM_PRELOAD_MODE in the fifo analyzer 2023-11-11 23:32:17 -08:00
Pokechu22 6bad17b170 Rename bpmem.copyMipMapStrideChannels to bpmem.copyDestStride
As far as I can tell, it has nothing to do with the mipmap/half_scale functionality, but does change based on the width of the destination texture (and the destination texture is half the width if half_scale is set). The comment that was there (which dates back to the initial megacommit) seems to not have accounted for the width aspect; it was first used as an actual stride in bbbe898839 (the first commit that used it at all).
2023-11-11 23:32:14 -08:00
Tilka e5d2deb017
Merge pull request #12287 from Tilka/blending
VideoCommon: copy software renderer logic for blend mode priorities
2023-11-12 07:31:13 +00:00
Tillmann Karras ac9079f2ca VideoCommon: copy software renderer logic for blend mode priorities
I've not tested this on hardware, but it fixes issue 12271 (shadow
people in Deal or No Deal - Special Edition).
2023-11-12 05:51:28 +00:00
Pokechu22 9543555bfe Fix typo in comment for bpmem.texcoords 2023-11-11 16:13:37 -08:00
Rairii 2333fc2701 MMU: Use VSID in segment register as additional TLB lookup key 2023-11-11 15:59:47 +00:00
Admiral H. Curtiss f35ee22755
Merge pull request #12283 from Dentomologist/wiisocket_delete_move_assignment_operator
WiiSocket: Explicitly delete move assignment operator
2023-11-11 13:31:16 +01:00
Dentomologist 9ebd257206 WiiSocket: Explicitly delete move operators
The move assignment operator for a class is implicitly deleted when the
class has a non-static reference data member, which is true of
WiiSocket's m_socket_manager member.

Explicitly declaring the operator as default generates a
-Wdefaulted-function-deleted warning on Clang.

Delete the move constructor as well for consistency.
2023-11-10 12:56:00 -08:00
Admiral H. Curtiss 4345980b25
Merge pull request #12284 from Dentomologist/sdl_add_default_case_to_switch_statement
SDL: Add default case to switch statement
2023-11-10 21:25:40 +01:00
Dentomologist 2d3bae9c79 SDL: Add default case to switch statement
Fix -WSwitch warning about unhandled enum value SDL_NUM_LOG_PRIORITIES.

log_level is initialized to LNOTICE right before the switch statement so
this doesn't cause any behavior changes.
2023-11-10 12:05:20 -08:00
Dentomologist 1dff22d576 Movie: Fix crash when starting input recording on OpenGL single-core
Use RunOnCPUThread instead of RunAsCPUThread in BeginRecordingInput.

Most OpenGL functions require an OpenGL context to have been created on
that thread before calling the function; when that isn't the case they
return invalid results which can cause crashes when passed into other
functions.

Dolphin creates the OpenGL context in the EmuThread which then becomes
either the CPU-GPU thread or the Video thread for single and dual core
respectively. OpenGL functions must therefore be called from that
thread.

Movie::BeginRecordingInput is called from the Host thread and runs a
block of code which ultimately creates a savestate, which in turn embeds
the framebuffer which requires calling various OpenGL functions.

In single core the use of RunAsCPUThread leads to this all happening on
the Host thread, eventually leading to invalid OpenGL calls and a crash.

In Dual core the crash is avoided because VideoBackendBase::DoState uses
the AsyncRequests::DO_SAVE_STATE event which causes VideoCommon_DoState
and its subsequent OpenGL calls to safely run on the Video thread.

This commit uses RunOnCPUThread instead of RunAsCPUThread, which causes
the subsequent code to run on the CPU-GPU thread in single core which
has the valid OpenGL context and so doesn't crash.
2023-11-08 19:14:54 -08:00
Admiral H. Curtiss 620fbcdfb7
Merge pull request #12274 from JosJuice/jitarm64-non-dirty-immediates
JitArm64: Fix some oddities with non-dirty immediates
2023-11-08 20:44:32 +01:00
Admiral H. Curtiss 8064fecbb8
Merge pull request #12277 from Wack0/patch-1
MMU: on DSI exception, don't set store bit in DSISR on read
2023-11-08 19:44:44 +01:00
Rairii 18d777095b
MMU: on DSI exception, don't set store bit on read 2023-11-08 16:06:11 +00:00
JosJuice 8140d6b1d3 Translation resources sync with Transifex 2023-11-07 20:01:29 +01:00
JosJuice aec5238aa6
Merge pull request #12237 from AdmiralCurtiss/hard-label
DolphinQt/AchievementHeaderWidget: Fix wrong label for hard unlock count.
2023-11-06 20:22:23 +01:00
Admiral H. Curtiss 40bf452ac8
Merge pull request #12182 from JosJuice/jit64-ps-sum1
Jit64: Use MOVSD in ps_sum1 and ps_merge01
2023-11-06 14:50:33 +01:00
Tillmann Karras b8bc391d27 AX: make volume field signed
This fixes overly loud sounds in Freestyle Metal X (issue 13120).
2023-11-05 21:21:07 +00:00
Admiral H. Curtiss ec69ed2173
Merge pull request #12133 from mandar1jn/skylanders-improved-generation
Skylanders: Improve figure data view and generation
2023-11-05 18:29:19 +01:00
Admiral H. Curtiss 1748e6416f
Merge pull request #12272 from AdmiralCurtiss/dark-mode-gui
DolphinQt: Allow forcing light or dark style on Windows.
2023-11-05 18:28:59 +01:00
Admiral H. Curtiss 2f9e98b77b
DolphinQt: Check theme instead of system for when to apply dark title bars on Windows. 2023-11-05 18:13:00 +01:00
Mandar1jn afdf6de041
Skylanders: Improve figure data view and generation
Co-authored-by: deReeperJosh <joshua@dereeper.co.nz>
2023-11-05 18:06:10 +01:00
JosJuice 9a342af857
Merge pull request #12275 from JosJuice/directoryblob-comma
DiscIO: Remove unintentional use of comma operator
2023-11-05 14:40:25 +01:00
Admiral H. Curtiss ed6014ddb5
DolphinQt/InterfacePane: Rework style dropdown so the built-in light/dark style can be manually selected. 2023-11-05 12:59:32 +01:00
Admiral H. Curtiss 8f55c28472
DolphinQt/Settings: Add option to force the light or dark style on Windows. 2023-11-05 12:59:32 +01:00
Admiral H. Curtiss 6d585b6eb6
DolphinQt/Settings: Split setting of the user style into two functions.
This makes it so that if you just want to reload the current style (eg. on program start, or in response to a system event), you don't need to know the name of the currently selected user style. It's also more consistent with the way the 'userstyle/enabled' flag works.
2023-11-05 12:58:11 +01:00
Admiral H. Curtiss 9d08c8a45d
Merge pull request #12271 from TryTwo/Qt_Display_Fixes
UI, CodeDiffDialog: Fix table widget display issues, including dark style.
2023-11-05 12:53:45 +01:00
JosJuice 9c53c110f8 DiscIO: Remove unintentional use of comma operator 2023-11-05 09:24:49 +01:00
JosJuice f9dd13a309 JitArm64: Preserve dirty flag when materializing immediate
Before dbf5dca, the dirty flag had no meaning for an immediate value,
so we made sure to always set the dirty flag when switching a register
from Immediate to Register. But after dbf5dca, that is no longer the
case. If an immediate is marked as not dirty, we can keep the register
marked as not dirty after materializing the value. This way we skip
having to write it back to ppcState later.
2023-11-05 09:21:58 +01:00
JosJuice 1b7bd32ac1 JitArm64: Correctly flush non-dirty immediates
Without this change, non-dirty immediates don't actually get flushed.
This can be a problem if we for instance are flushing all registers in
order to execute an interpreter fallback. If that interpreter fallback
writes to a register that contained a non-dirty immediate, the JIT will
keep using the old value instead of loading the updated value.
2023-11-05 09:15:08 +01:00
TryTwo 2a5147a19b Dark style: add QTableCornerButton. Fix padding for tables.
CodeDiffDialog: Fix QTableWidget UI issues
2023-11-04 15:00:07 -07:00
Dentomologist 43e69d3e6a DolphinQt: Remove unnecessary qOverloads
qOverload is used to disambiguate pointers to overloaded functions, but
most of the usages in the code base were with non-overloaded functions.
2023-11-04 14:14:14 -07:00