Commit Graph

30504 Commits

Author SHA1 Message Date
iwubcode 79648e1c24 VideoCommon: revert max pixel shader samplers back to 8 for Android devices.
It was reported that some games (Zelda Wind Waker and Zelda Twilight Princess but others may also exhibit the issue) have graphical issues with the max pixel samplers set to 16 on some Android devices (ex: Pixel6); since this was increased for a performance heavy feature (custom shaders) just disable it for now.  In the future, this could be handled more elegantly
2023-12-21 00:36:44 -06:00
Lioncache f97b2d472a VideoCommon/CommandProcessor: Pass system instance through constructor
Makes the use of the interface a little less noisy, especially given
how much of the interface depends on an instance being present.
2023-12-20 09:02:53 -05:00
Tilka 70b7a59456
Merge pull request #12451 from lioncash/fifo
VideoCommon/Fifo: Pass system instance through FifoManager constructor
2023-12-20 12:45:38 +00:00
Tilka 01340d7f8d
Merge pull request #12442 from lioncash/hle
Core/HLE/HLE: Remove global system accessors
2023-12-20 12:41:09 +00:00
iwubcode fcfcf14e07 VideoCommon: when loading a texture asset, set sampler to linear sampler if the texture type is not defined and the 2d texture is assumed 2023-12-19 21:51:42 -06:00
iwubcode ae758f489a VideoCommon: update custom pipeline action to support a variety of texture samplers (2D, 2D array, and cube maps) 2023-12-19 21:51:42 -06:00
Tillmann Karras ddb4566a41 VideoCommon: apply "force 24-bit color" to EFB-to-VRAM copies as well 2023-12-20 02:25:07 +00:00
Admiral H. Curtiss acd76918d7
Merge pull request #12448 from lioncash/es
Core/IOS/ES: Remove global system accessor in InitializeEmulationState()
2023-12-19 04:26:08 +01:00
Lioncache b0d244b772 VideoCommon/Fifo: Pass system instance through FifoManager constructor
Given how many member functions make use of the system instance,
it's likely just better to pass the system instance in on construction.

Makes the interface a little less noisy to use.
2023-12-18 22:03:25 -05:00
OatmealDome 186b2f4e92
Merge pull request #12450 from lioncash/cheats
CheatSearch: Get rid of global system accessors
2023-12-18 20:10:48 -05:00
Lioncache dec53848f5 CheatSearch: Get rid of global system accessors
We can retrieve the system via the CPUThreadGuard instances.
2023-12-18 19:24:35 -05:00
Lioncache 00f494307f UICommon: Remove global system accessor in TriggerSTMPowerEvent()
This can be passed through via the IOS instance.
2023-12-18 19:17:16 -05:00
Lioncache c0b7e9cd94 Core/HLE/HLE: Remove global system accessor from ExecuteFromJIT()
We can just pass in our system instance via the ABI function helpers.
2023-12-18 19:11:52 -05:00
Lioncache f4277a901a Core/HLE/HLE: Remove global system accessors
We can get rid of the global system accessors by requiring passing in
relevant state that the function needs and making callsites do the work.

This *does* add a global accessor to the PPCAnalyzer, however, this already
has global accessors present elsewhere within its code, so they can be removed
all at once in a follow up change.
2023-12-18 19:11:49 -05:00
Lioncache f1b18d8ae3 Core/IOS/ES: Remove global system accessor in InitializeEmulationState()
We can pass the core timing instance into the function.
2023-12-18 19:06:45 -05:00
Admiral H. Curtiss 251c7a1030
Merge pull request #12445 from lioncash/gecko
Core/GeckoCode: Remove global system accessors
2023-12-18 23:54:22 +01:00
Admiral H. Curtiss 57b4379364
Merge pull request #12441 from lioncash/ios
Core/IOS/IOS: Remove global system accessors
2023-12-18 23:30:38 +01:00
Admiral H. Curtiss 7f01c1ed5b
Merge pull request #12446 from lioncash/patch
Core/PatchEngine: Get rid of global system accessors
2023-12-18 23:24:51 +01:00
Lioncache ca5695aef2 Core/Debugger/PPCDebugInterface: Remove global system accessor
We can use the CPUThreadGuard instance to get the active system instance.
2023-12-18 16:57:50 -05:00
Lioncache 3802c7bf11 Core/PatchEngine: Get rid of global system accessors
We can pass the system instance into ApplyFramePatches() instead,
especially considering the patch engine callback already has it
available.
2023-12-18 16:48:25 -05:00
Lioncache cea58759d9 Core/GeckoCode: unsigned int -> u32
Same thing for all intents and purposes, less to read.
2023-12-18 16:39:04 -05:00
Lioncache bb866248cf Core/GeckoCode: Avoid signed conversion in RunCodeHandler()
i is being used alongside unsigned types, so it should be unsigned as well.
2023-12-18 16:38:41 -05:00
Lioncache 1ceaa8c52a Core/GeckoCode: Remove global system accessor
We can use the CPUThreadGuard instance to retrieve the system instance instead.
2023-12-18 16:35:52 -05:00
Lioncache 472c65ed35 Core/Debugger_SymbolMap: Make GetCallstack() less verbose
This also allows the constructed CallstackEntry instances to be moved into
the output vector, rather than being copied.
2023-12-18 15:46:32 -05:00
Lioncache 75ec350dc4 Core/Debugger_SymbolMap: Remove redundant system parameters from interface
The CPU thread guard already allows access to the system instance. We can
remove the system parameter to reduce rendundancy here.
2023-12-18 15:46:22 -05:00
Lioncache 514b3e6f55 Core/Debugger_SymbolMap: Remove AddAutoBreakpoints()
This is wholly unused in current code.
2023-12-18 15:24:58 -05:00
Filoppi e456bef163 Input: Improve Controller Interface devices threading
This specific issue was already addressed by https://github.com/dolphin-emu/dolphin/pull/11635
though I felt like there was something more we could do, and wasn't too happy with the
likelihood of devices update calls being skipped (due to `m_devices_population_mutex` being locked).
2023-12-18 21:45:22 +02:00
Lioncache 04300114f7 Core/HLE/HLE_OS: Mark helpers as static where applicable
Previously, these were given external linkage when they're only used within
this translation unit.
2023-12-18 13:44:55 -05:00
Lioncache c4df659e21 HLE_OS: Get rid of global system accessors
Thread guards provide access to the current active system instance.
2023-12-18 13:39:53 -05:00
Lioncache c3c39de212 HLE_Misc: Get rid of global system accessors
Thread guards provide access to the current active system instance.
2023-12-18 13:33:07 -05:00
Lioncache affe928987 Common/TraversalServer: Make use of fmt more
We can convert printf and fprintf over to the use of fmt as well,
given that we've converted the sprintf calls over.
2023-12-18 13:08:57 -05:00
Lioncache dc85194fac Common/TraversalServer: Make use of fmt over sprintf where applicable
Resolves some deprecation warnings on macOS. This is better anyway, given fmt
has generic type formatting.
2023-12-18 13:08:57 -05:00
Lioncache 1764b13423 Core/DSP/DSPTables: Make pdregname() and pdregnamelong() return std::string
Keeps the interface consistent.
2023-12-18 13:08:57 -05:00
Lioncache 62740d97a8 Core/DSP/DSPTables: Make use of fmt::format in pdname()
Resolves a deprecation warning on macOS. Also, we can convert
the function to just return a std::string instead of using a
static internal buffer, which is gross and thread-unsafe.
2023-12-18 13:08:57 -05:00
Lioncache 9abcc1c08b Core/NetPlayServer: Use fmt::format_to_n in GetInterfaceHost()
Lets us avoid some noisy deprecation warnings on macOS (and also lets us use
a more generic formatting specifier).
2023-12-18 13:08:57 -05:00
Lioncache 2b877fc92b Core/IOS/Top: Make use of fmt::format_to_n where applicable
Same behavior, but avoids deprecation warnings on macOS builds and also lets us
use generic print formatting.
2023-12-18 13:08:57 -05:00
Lioncache 04822d5a2c Core/IOS/ES: Make use of fmt::format where applicable
Eliminates a deprecation warnings on macOS. While we're in the
same area, we can remove the call to GetPointer() and instead
use CopyToEmu() to copy the string data back to the emulated memory.
2023-12-18 13:05:04 -05:00
Lioncache e6db08e03a Core/IOS/IOS: Remove global system accessor from Init()
Removes the final global system accessor from the main IOS code by
passing the system instance through it.
2023-12-18 12:28:21 -05:00
Lioncache 1f50a2fd5b Core/IOS/IOS: Remove global system accessor from WriteReturnValue()
We can pass the memory instance into it instead of using the global accessor.
2023-12-18 12:22:01 -05:00
Lioncache b8c657b06f Core/IOS/IOS: Remove global system accessor from RAMOverrideForIOSMemoryValues()
We can allow passing in the memory instance instead of directly going for the
global system instance.
2023-12-18 12:10:25 -05:00
Lioncache a13bcd87d4 Core/IOS/IOS: Remove global system accessors from internal functions
These functions can all be modified to take in the required instance,
rather than using the global system accessor.
2023-12-18 12:04:58 -05:00
Lioncache 0c9f9ca8b6 Core/IOS/IOS: Remove global system accessor from destructor
An EmulationKernel already houses a reference to the current system
2023-12-18 11:55:30 -05:00
Lioncache 0d75d658b1 Core/IOS/IOS: Remove system parameters from BootstrapPPC() and BootIOS()
An EmulationKernel instance already houses a reference to the currently active system instance.
2023-12-18 11:54:03 -05:00
Lioncache 69523de5d5 Core/EXI/EXI_DeviceMemoryCard: Remove global system accessor
We can pass the core timing instance into the Init() call.
2023-12-18 11:15:51 -05:00
Admiral H. Curtiss 715a551dac
Merge pull request #12170 from Filoppi/custom_aspect_ratio
Add support for custom aspect ratios
2023-12-18 05:19:06 +01:00
Filoppi a6dfeed318 Video: make the "Auto" resolution setting also follow the max res setting, to avoid trying to create texture bigger than the maximum supported one 2023-12-18 02:00:25 +02:00
Filoppi ff03189a60 Video: fix auto resolution scale calculations 2023-12-18 02:00:25 +02:00
Filoppi fdd1934f12 Video: fix Auto Resolution Scale not updating when the window was resized.
Also fixes the widescreen hack not fully updating when the aspect ratio setting changed on the spot.
2023-12-18 02:00:25 +02:00
Filoppi b3aa6ad93b Video: implement custom aspect ratio support (already exposed to Qt).
This also renamed some variables/functions.
2023-12-18 02:00:24 +02:00
Filoppi f96bea95d8 Video: rename Presenter::SetWindowSize() 2023-12-18 00:28:15 +02:00
Filoppi 24004af814 Video: polish aspect ratio related code comments to make it clearer 2023-12-18 00:28:14 +02:00
Mai de8bc32dc5
Merge pull request #12362 from CasualPokePlayer/sysconf_widescreen
Add SYSCONF widescreen setting to dtm header
2023-12-17 15:19:02 -05:00
Mai 51a44aa5d2
Merge pull request #12431 from JosJuice/jitarm64-rlwnmx-call-rlwinmx
JitArm64: Call rlwinmx implementation from rlwnmx with imm b
2023-12-17 15:18:00 -05:00
Mai bcd74a81a9
Merge pull request #12370 from iwubcode/more_samplers
VideoBackends / VideoCommon: update max pixel shader samplers from 8 to 16
2023-12-17 14:50:23 -05:00
Mai 559ea0593c
Merge pull request #12432 from JosJuice/jitarm64-logic-i2r-opt
JitArm64: Add additional optimized cases to ANDI2R and friends
2023-12-17 14:45:55 -05:00
Mai f0f0f97554
Merge pull request #12433 from mitaclaw/windows-arm-debug-fix
Fix Windows ARM64 debug build errors
2023-12-17 14:43:55 -05:00
Mai 0125b5182f
Merge pull request #12409 from iwubcode/custom_material_graphics_mod_action_data
VideoCommon: prepare graphics mods for custom shader material data
2023-12-17 14:42:34 -05:00
Mai b27c15fab6
Merge pull request #12382 from iwubcode/shader_asset_default_value
VideoCommon: update shader asset to provide a variant default value
2023-12-17 14:41:55 -05:00
Mai f589c04aa7
Merge pull request #12372 from iwubcode/texture_usage_flag
VideoBackends / VideoCommon: add type enum to dictate how the texture is used; support texture 2d
2023-12-17 14:40:39 -05:00
mitaclaw ca443d7f89 Fix Windows ARM64 debug build errors
Jit.cpp : Potentially uninitialized local pointer variable 'host_address_after_return' used in a DEBUG_ASSERT on line 470.
dolphin-emu.sln : A copy-paste error.
2023-12-17 11:31:28 -08:00
JosJuice dc60bc5f1e JitArm64: Improve codegen in ANDI2R and friends
The codegen for the functions themselves, not for the emitted code.

This seems to save 32 bytes per function. We also get rid of the oddity
we had before where ANDI2R would do masking for 32-bit operations but
the other functions wouldn't.
2023-12-17 18:13:32 +01:00
JosJuice a8e1e1ae48 JitArm64: Optimize additional cases of ANDI2R and friends
Now we'll never need a scratch register for values that are all zeroes
or all ones.
2023-12-17 18:13:32 +01:00
JosJuice 6303416201 JitArm64: Optimize ANDI2R and friends to no-ops when possible
This optimizes rlwnmx with mask == 0xFFFFFFFF.
2023-12-17 18:13:30 +01:00
JosJuice 26de2a7feb JitArm64: Call rlwinmx implementation from rlwnmx with imm b
This way we get some additional optimized cases for rlwnmx with imm b.
2023-12-17 17:00:41 +01:00
Mai e6c85bf8f0
Merge pull request #12428 from JosJuice/jitarm64-rlwinmx-shift-only
JitArm64: Add rlwinmx case for only shifting
2023-12-17 10:45:59 -05:00
Mai 519234949e
Merge pull request #12429 from JosJuice/jitarm64-mtsrin-64-bit
JitArm64: Use 64-bit register for address in mtsrin
2023-12-17 10:45:36 -05:00
Tilka 18f9b966a0
Merge pull request #12358 from rsgnz/master
VideoCommon: Fix "Post-processing shader not found" when (off) is selected.
2023-12-17 09:50:41 +00:00
Tilka 773ffd04b8
Merge pull request #11497 from vyuuui/debugger_assembler_ui
Built-in assembler for debugger interface
2023-12-16 21:15:31 +00:00
JosJuice f5951c9f45 JitArm64: Use 64-bit register for address in mtsrin
Fixes a regression from d34d3bd513 that, depending on the host memory
layout, could cause either a host crash or a guest crash when running
F-Zero GX.
2023-12-16 20:27:58 +01:00
JosJuice b5a95b7804 JitArm64: Add rlwinmx case for only shifting
Small optimization.
2023-12-16 17:34:33 +01:00
Admiral H. Curtiss 190c4e8cda
Merge pull request #12427 from JosJuice/jitarm64-msr-updated-logical-imm
JitArm64: Fix MSRUpdated(ARM64Reg) with FEATURE_FLAG_PERFMON set
2023-12-16 17:22:23 +01:00
JosJuice e0eb4ef5bc JitArm64: Use enum class for LogicalImm size parameter
This should prevent issues like the one fixed in the previous commit
from happening again.
2023-12-16 16:48:26 +01:00
Admiral H. Curtiss 36cb8110f4
Merge pull request #12346 from iwubcode/arb_mipmaps_default_off
Core: disable arbitrary mipmap detection by default
2023-12-16 16:23:10 +01:00
JosJuice 064b23b25b JitArm64: Fix MSRUpdated(ARM64Reg) with FEATURE_FLAG_PERFMON set
The second parameter of the LogicalImm constructor is the size, not the
first.
2023-12-16 12:07:11 +01:00
Admiral H. Curtiss 4b459294b0
Merge pull request #12414 from LillyJadeKatrin/retroachievements-bugfix
Retroachievements - Fixed Login Checks
2023-12-16 05:33:43 +01:00
Admiral H. Curtiss 1daaaf8c26
Merge pull request #12425 from Naim2000/no-install-wad
Disable installing WADs and importing/exporting Wii saves while emulation is running
2023-12-16 05:09:26 +01:00
Naim2000 8f9102f5e5 Disable importing/exporting Wii saves while emulation is running 2023-12-15 19:48:06 -05:00
OatmealDome c159e4fb7a
Merge pull request #12420 from OatmealDome/mtl-oob
MTLStateTracker: Increase fragment buffer array size to 3
2023-12-15 17:12:31 -05:00
iwubcode 12dd15c8dd VideoBackends / VideoCommon: add type enum to dictate whether a texture is a 2D texture, a texture array, or a cube map; support 2D texture type across backends
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-12-15 11:06:02 -06:00
Naim2000 efd0c5b07e Disable "Install WAD" while emulation is running
The "(Un)install to/from the NAND" options in the context menu for WAD files has always been disabled, don't know what happened to this one
2023-12-15 10:14:44 -05:00
Tillmann Karras c8c9928eb1 DolphinQt/Assembler: improve translatability
Also, don't show error line numbers in the instruction patch dialog. The
input text field only accepts one line anyway.
2023-12-15 00:37:42 +00:00
Admiral H. Curtiss 370474a7cb
Merge pull request #12422 from lioncash/global
WiiNetConfig: Eliminate usages of the global system accessor
2023-12-14 23:27:10 +01:00
Tilka f777a584c1
Merge pull request #12423 from lioncash/mios
IOS/MIOS: Eliminate global system accessors
2023-12-14 22:19:11 +00:00
Lioncash 27806d8d7b WiiNetConfig: Eliminate usages of the global system accessor
We can pass in the existing memory manager instance into the functions
instead of using the global accessor to access it.
2023-12-14 16:46:52 -05:00
Lioncash 1573b50bb3 HW/CPU: Remove remaining global system accessors
We can just pass in the m_system member instead.
2023-12-14 16:14:59 -05:00
Lioncash 5e9763c0fa IOS/MIOS: Eliminate global system accessors
We can pass the system instance through the EmulationKernel instance.
2023-12-14 16:05:59 -05:00
JosJuice 84ac561e46
Merge pull request #12421 from lioncash/fwd
WC24PatchEngine: Move IniFile header dependency into the cpp file
2023-12-14 21:21:59 +01:00
JosJuice e34bfe0f72
Merge pull request #12419 from lioncash/conf
SysConf: std::move fs pointer in constructor
2023-12-14 20:47:27 +01:00
Lioncash 88431cfbca WC24PatchEngine: Make GetNetworkPatch() take a std::string_view
Makes it consistent with GetNetworkPatchByPayload()
2023-12-14 14:24:49 -05:00
Lioncash fa70a8fd01 WC24PatchEngine: Make a few functions internally linked
These are only used within this translation unit, so we can remove the
IniFile dependency from the header.
2023-12-14 14:23:41 -05:00
OatmealDome 438c48912b MTLStateTracker: Increase fragment buffer array size to 3 2023-12-14 14:17:07 -05:00
Lioncash 14abdab314 SysConf: std::move fs pointer in constructor
Just gets rid of a trivial atomic reference count increment and
decrement. Not a super heavyweight thing, but it is essentially "free"
to get rid of.
2023-12-14 14:01:17 -05:00
JosJuice 38752c91af
Merge pull request #12418 from lioncash/fifo
DolphinQt/Host: Convert inclusion of Fifo.cpp to Fifo.h
2023-12-14 19:56:32 +01:00
Lioncash a20b4b5669 DolphinQt/Host: Convert inclusion of Fifo.cpp to Fifo.h
Quite a bizarre include.

Also resolves an indirect include (lol), since this TU was
including the system header that way.
2023-12-14 05:24:51 -05:00
Lioncash 6bbdf36a7b GameListModel: Remove fallthrough in data()
A harmless case of it, but this can still cause warnings.
2023-12-14 04:25:40 -05:00
Tilka cdf4193e67
Merge pull request #12410 from lioncash/ignored
Common/Crypto: Resolve -Wignored-attributes warnings
2023-12-13 18:39:22 +00:00
Lioncash dbc792a3ec Common/Crypto/SHA1: Resolve -Wignored-attributes warnings
See commit 417d1310d22b11d5d724625721b5fec09eda099a for an explanation
on why we do this.
2023-12-13 13:04:53 -05:00
Lioncash bced5fac18 Common/Crypto/AES: Resolve -Wignored-attributes warnings
The alias for __m128i is typically something like:

typedef long long __m128i __attribute__((__vector_size__(16), __may_alias__));

and the part that ends up not getting preserved is the __may_alias__
attribute specifier.

So, in order to preserve that, we can just use a wrapper struct, so the
data type itself isn't being passed through the template.
2023-12-13 13:02:51 -05:00
Tilka b5d8498346
Merge pull request #12415 from lioncash/buffer
GBAWidget: Use std::span with SetVideoBuffer()
2023-12-13 15:57:40 +00:00
Tilka df922afdbb
Merge pull request #12412 from lioncash/maybe
DSPInterpreter: Mark IsProperlySignExtended() as [[maybe_unused]]
2023-12-13 15:52:32 +00:00
Tilka 52a144745d
Merge pull request #12408 from lioncash/enums
General: Resolve -Wswitch warnings
2023-12-13 15:48:12 +00:00
Lioncash dfb2783c25 GBAWidget: Add missing override specifiers 2023-12-13 10:12:18 -05:00
Lioncash 67a06d17b1 GBAWidget: Use std::span with SetVideoBuffer()
Previously we were always taking the buffer by value, even if it wasn't
being stored anywhere and only read from.

We can use a std::span for the same thing.
2023-12-13 10:11:52 -05:00
LillyJadeKatrin aa3e1e2324 Retroachievements - Fixed Login Checks
Two fixes: verify that there's an API token before attempting to automatically log in, and don't attempt to hash a game and load it unless achievements are enabled and the player is logged in. This prevents multiple API requests that we already know will fail, one of which will display an unnecessary error message to the player.
2023-12-13 09:00:25 -05:00
vyuuui feb831a781 Added assembler files to windows build 2023-12-13 05:33:04 -08:00
vyuuui 38c15df464 Parser and Assembler implementations 2023-12-13 05:32:20 -08:00
Lioncash ecd7fa4380 DSPInterpreter: Mark IsProperlySignExtended() as [[maybe_unused]]
This function is used in debug asserts, so in release builds this will
go unused and otherwise generate a warning
2023-12-12 21:02:15 -05:00
Lioncash e06480a8ab Software/SWGfx: Default destructor in cpp file
Fixes a build failure with clang 17.

The destructor needs to be in the cpp file, since we have a forward
declared std::unique_ptr type as part of the class. So technically the
default inline destructor could invoke without seeing the full data type
definition.
2023-12-12 20:33:43 -05:00
iwubcode b1d9e13d75 VideoCommon: prepare graphics mods for custom shader material data 2023-12-12 17:56:26 -06:00
Tilka 7b57a4a37d
Merge pull request #12407 from lioncash/unused2
CPUThreadConfigCallback: Mark static ID as [[maybe_unused]]
2023-12-12 23:38:47 +00:00
Mai ea3033731d
Merge pull request #12240 from iwubcode/material_asset_additional_properties
VideoCommon: add additional data types to material asset
2023-12-12 18:38:20 -05:00
Lioncash 91f691296c IOS/Crypto/Sha: Handle ShaCommandUnknown in IOCtlV
Resolves a -Wswitch warning.
2023-12-12 17:42:36 -05:00
Tillmann Karras 5b4b8dba61 VideoCommon: add message to XF load assert 2023-12-12 22:35:02 +00:00
Lioncash c14b3539c9 CPUThreadConfigCallback: Mark static ID as [[maybe_unused]]
This isn't used, but is likely kept around so the one-timed execution of
a magic static is taken advantage of.
2023-12-12 17:30:37 -05:00
Tilka 53a51a6f1b
Merge pull request #12405 from lioncash/shadow2
General: Resolve lingering -Wshadow warnings
2023-12-12 22:20:23 +00:00
Tilka 8c99198251
Merge pull request #12404 from lioncash/guard
CheatSearchWidget: Make use of CPUThreadGuard parameter in UpdateTableRows()
2023-12-12 22:18:26 +00:00
Lioncash e883bbc57a ConfigFloatSlider: Resolve -Wshadow warning
Fairly straightforward variable shadowing.
2023-12-12 17:07:37 -05:00
Lioncash 79c84c98ed WC24PatchEngine: Resolve -Wshadow warning
While not captured, we're definitely shadowing the result variable
outside the lambda.
2023-12-12 17:03:42 -05:00
Lioncash 81d5370141 HLE_OS: Resolve -Wshadow warnings
We get a warning about shadowing the va_list type and just
run-of-the-mill variable shadowing, which we can easily fix.
2023-12-12 17:01:32 -05:00
Lioncash a812a1f938 LightingShaderGen: Resolve -Wshadow warnings
Given how the lambda doesn't capture anything, we can move this to a
internally linked function, which prevents any name shadowing.
2023-12-12 16:55:06 -05:00
Tilka 6184ec655e
Merge pull request #12403 from lioncash/uninit
PPCDebugInterface: Silence trivial -Wmaybe-uninitialized warning
2023-12-12 21:49:01 +00:00
Tilka 995eb779fa
Merge pull request #12402 from lioncash/shadow
AchievementManager: Resolve -Wshadow warnings
2023-12-12 21:42:21 +00:00
Lioncash 915e43dfba CheatSearchWidget: Make use of CPUThreadGuard parameter in UpdateTableRows
Previously, the parameter wasn't being used, because it was being
shadowed by another CPUThreadGuard at its only would-be usage point.
2023-12-12 16:41:00 -05:00
Tilka b4bfc4feba
Merge pull request #12401 from AdmiralCurtiss/feature-flag-fix
JitCommon: Fix feature_flags truncation in index calculation.
2023-12-12 20:56:04 +00:00
Tilka 8cbb2c2e44
Merge pull request #12399 from lioncash/erasing
General: Make use of std::erase_if/std::erase where applicable
2023-12-12 20:54:52 +00:00
Tilka 99959944eb
Merge pull request #12376 from lioncash/span2
VFFUtil: Use std::span with WriteToVFF
2023-12-12 20:50:17 +00:00
Tilka 4d98c237c7
Merge pull request #12371 from lioncash/span
VideoCommon: Use std::span for BoundingBox::Write()
2023-12-12 20:47:08 +00:00
Lioncash b0b1308160 PPCDebugInterface: Silence trivial -Wmaybe-uninitialized warning
We can just initialize register_index, even if it gets overwritten later
on via Common::FromChars.
2023-12-12 15:42:28 -05:00
Lioncash 18032f19a5 AchievementManager: Resolve -Wshadow warnings
Renames some variables to avoid shadowing warnings on gcc.

Also gets rid of a FilereaderState struct, since one is already defined
in the declaration of the AchievementManager class.
2023-12-12 15:37:20 -05:00
Admiral H. Curtiss c1957ac169
JitCommon: Fix feature_flags truncation in index calculation. 2023-12-12 21:16:29 +01:00
Tilka c92e402454
Merge pull request #12398 from lioncash/parse
RiivolutionParser: Make use of std::span where applicable
2023-12-12 20:07:44 +00:00
Tilka 198a53e7df
Merge pull request #12397 from lioncash/asset
CustomAssetLibrary: Remove unused GetAssetSize() function
2023-12-12 20:02:44 +00:00
Lioncash ded2d55438 ExpressionParser: Avoid some miscellaneous copies
Just some trivial copies that can be eliminated or turned into moves.
2023-12-12 14:03:41 -05:00
Lioncash a5bbeb721a ExpressionParser: Mark constructors explicit where applicable
Makes for consistency with the surrounding code.
2023-12-12 14:00:27 -05:00
Lioncash ea71a76ea9 ExpressionParser: Pass control qualifiers by const reference
These aren't necessarily cheap to copy, since a control qualifier will
have around 3 std::strings inside of it, so passing by value can churn
allocations a little bit.
2023-12-12 13:50:46 -05:00
Lioncash 9aea481e59 ExpressionParser: Make use of std::erase_if 2023-12-12 13:31:58 -05:00
Lioncash 196f8e5123 MappingCommon: Make use of std::erase_if 2023-12-12 13:31:18 -05:00
Lioncash 888a8692b4 SysConf: Make use of std::erase_if 2023-12-12 13:30:39 -05:00
Lioncash 01d15994fe PatchEngine: Make use of std::erase 2023-12-12 13:30:08 -05:00
Lioncash e69ac2d43e Socket: Make use of std::erase_if 2023-12-12 13:29:33 -05:00
Lioncash 96eac73d11 NetKDRequest: Make use of std::erase 2023-12-12 13:27:54 -05:00
Lioncash e7f7dde546 Formats: Make use of std::erase_if 2023-12-12 13:27:17 -05:00
Lioncash df227aa03c I2CBus: Make use of std::erase_if 2023-12-12 13:26:47 -05:00
Lioncash ff0e7fbf08 GeckoCodeConfig: Make use of std::erase_if 2023-12-12 13:26:16 -05:00
Lioncash 84ae0c1c7e ActionReplay: Make use of std::erase_if 2023-12-12 13:25:26 -05:00
Lioncash 50e4dc5dba Watches: Make use of std::erase_if 2023-12-12 13:24:40 -05:00
Lioncash b728e37086 RiivolutionParser: Remove usages of global system accessor
We can retrieve the encompassing system instance through the
CPUThreadGuard instance instead.
2023-12-12 12:48:40 -05:00
Lioncash c2e39e0d68 RiivolutionParser: Make use of std::span where applicable
The main interface for these only take in patches and iterate over them
in a contiguous sequence, so we can reasonably generify the interface.
2023-12-12 12:38:43 -05:00
iwubcode b69d336838 VideoCommon: update shader asset to provide a variant default value 2023-12-12 00:01:22 -06:00
Lioncash 4c7a4831cb CustomAssetLibrary: Remove unused GetAssetSize() function
There's a direct analogue of this function within
DirectFilesystemAssetLibrary that *is* used, however, so we can get rid
of this one.
2023-12-11 22:00:52 -05:00
Admiral H. Curtiss 2c6bf2d224
Merge pull request #12394 from lioncash/compare
General: Resolve -Wsign-compare warnings
2023-12-12 03:43:12 +01:00
Lioncash e011c3b383 Core/SyncIdentifier: Default operator==
Lets us remove a bunch of code and a dependency on the <tuple> header.
2023-12-11 19:39:55 -05:00
Tilka 6699acf10c
Merge pull request #12386 from lioncash/setting
Common/SettingsHandler: Minor convenience changes
2023-12-12 00:02:21 +00:00
Admiral H. Curtiss f04d834e8f
Merge pull request #12393 from lioncash/tls
DolphinQT/Host: Remove unused TLS variable tls_is_host_thread
2023-12-12 00:29:21 +01:00
Lioncash 0e51c0f8fc JitArm64_RegCache: Resolve -Wsign-compare warning 2023-12-11 18:15:50 -05:00
Lioncash 4c3a5eb1c5 JitArm64_SystemRegisters: Resolve -Wsign-compare warning 2023-12-11 18:11:34 -05:00
Lioncash f97316a1e6 TraversalClient: Resolve -Wsign-compare warning 2023-12-11 18:01:29 -05:00
Lioncash 49f44c1334 VertexManagerBase: Resolve -Wsign-compare warning 2023-12-11 18:00:34 -05:00
Admiral H. Curtiss b48af86148
Merge pull request #12390 from lioncash/string
GraphicsModListWidget: Add string specifier to By and Description fields
2023-12-11 23:47:53 +01:00
Admiral H. Curtiss 4f02f526b8
Merge pull request #12392 from lioncash/decl
General: Resolve -Wmissing-declaration warnings
2023-12-11 23:39:23 +01:00
Admiral H. Curtiss 54301d709a
Merge pull request #12389 from lioncash/cheeve
AchievementManager: Make GetInstance() and GetLock() return a reference
2023-12-11 23:37:29 +01:00
Lioncash f490b990f5 DolphinQT/Host: Remove unimplemented prototypes
Remnants of prior existing code.
2023-12-11 17:30:56 -05:00
Lioncash d705c31d1a DolphinQT/Host: Remove unused TLS variable tls_is_host_thread
This is never accessed or read from.
2023-12-11 17:27:57 -05:00
Admiral H. Curtiss 16ba56a34b
Merge pull request #12388 from lioncash/compare
GameFile: Default GameBanner operator==
2023-12-11 23:25:27 +01:00
Lioncash e8b4796273 PostProcessing: Mark helper functions as static
These didn't have any prototypes and were generating
-Wmissing-declaration warnings.
2023-12-11 17:07:59 -05:00
Lioncash abb5cc3a3a ShaderAsset: Mark ParseShaderProperties() as static
This had no function prototype, so this can be internally linked.

Resolves a -Wmissing-declaration warning.
2023-12-11 17:05:06 -05:00
Lioncash b4b624b97b WC24PatchEngine: Mark LoadPatches() as static
Resolves a -Wmissing-declaration warning, since no prototype existed for
the function.
2023-12-11 17:02:15 -05:00
Lioncash 2b2ee61e79 CustomShaderCache: Resolve -Wreorder warnings
Lays out the initializer lists to be in the same order that
initialization would occur in.
2023-12-11 16:59:03 -05:00
Lioncash 9472da788d ConfigFloatSlider: Resolve -Wreorder warnings
Orders the initializer list the way that the members would actually be
initialized in.

Resolves some -Wreorder warnings
2023-12-11 16:15:48 -05:00
Lioncash 5d1514418e GraphicsModListWidget: Add string specifier to By and Description fields
Translators should always know where text is going to be appended and
have the ability to move things around to fit the language better.
2023-12-11 15:43:41 -05:00
Lioncash d90537cc18 AchievementManager: Return by reference from GetLock()
This makes the API a little nicer to use, since you don't need to do
a mandatory dereference when passing the lock into any kind of scope
guard.
2023-12-11 13:51:50 -05:00
Lioncash 3c7fa0738c AchievementsWindow: Add missing override specifier 2023-12-11 13:47:59 -05:00
Lioncash dbf28df64c DolphinQT: Remove unnecessary includes from achievement files
Reduces the amount of dependencies being pulled in on both local and
external headers.
2023-12-11 13:40:55 -05:00
Lioncash e55f9ed102 AchievementManager: Make GetInstance() return a reference
The internal static member will always have a valid lifetime. Makes this
consistent with other instance based objects in our code.
2023-12-11 13:36:39 -05:00
Lioncash cdf8849e17 GameFile: Default GameBanner operator==
Same behavior, but less code.
2023-12-11 11:36:35 -05:00
Lioncash ff38362216 GameFileCache: Use std::span with Update()
All we're really doing is iterating over a sequence of strings, so we
don't need to tie this specifically to std::vector.
2023-12-11 11:12:09 -05:00
Lioncash 2ca80adeb2 GameFileCache: Pass std::function by reference rather than by value
std::function is internally allowed to allocate, and these functions
aren't being stored anywhere (only called), so we can freely get rid
of some minor overhead here by passing by reference.

This change also creates aliases for the functions, so that there isn't
a lot of visual noise when reading the function signatures.
2023-12-11 11:09:18 -05:00
Lioncash 88a973131c Common/SettingsHandler: Use std::string_view more
We don't need to enforce the use of std::string instances with
AddSetting(). We can accept views and only construct one string,
rather than three temporaries.
2023-12-11 07:54:43 -05:00
Lioncash 04b9f6c28d Common/SettingsHandler: Use std::erase in Decrypt()
Same behavior, way less verbose code.
2023-12-11 07:49:43 -05:00
Mai d84ed054ee
Merge pull request #12374 from iwubcode/custom_texture_potential_crash_fix
VideoCommon: prevent a potential custom texture crash
2023-12-11 07:42:48 -05:00
Admiral H. Curtiss 694b3b4ea1
HW/CEXIIPL: Fix loading files at nonzero offset in LoadFileToIPL(). 2023-12-11 02:22:06 +01:00
Mai c2b642d0b7
Merge pull request #12381 from AdmiralCurtiss/re-enable-achievement-nag
AchievementManager: Only nag user about disabled achievements when they were actually enabled before.
2023-12-10 20:16:24 -05:00
Mai bdd28f1f26
Merge pull request #12378 from JosJuice/jitarm64-a-early-discard
JitArm64: Add additional condition for lmw/stmw a discard
2023-12-10 20:15:57 -05:00
iwubcode 3658d3bffe VideoCommon: add ability to serialize graphics mod to json object 2023-12-10 18:29:21 -06:00
iwubcode ac862b04ab VideoBackends / VideoCommon: update max pixel shader samplers from 8 to 16, this allows us to support more samplers than the native Wii/GC 2023-12-10 18:14:02 -06:00
Admiral H. Curtiss 70cd0040a3
AchievementManager: Only nag user about disabled achievements when they were actually enabled before. 2023-12-10 21:10:49 +01:00
JosJuice c55f21729f Add "large entry points map" setting
To aid in debugging, this makes it possible to disable the recently
added 32/64 GiB region which hasn't had a proper name so far.
2023-12-10 21:07:27 +01:00
JosJuice 0ec12f9e7e JitArm64: Add additional condition for lmw/stmw a discard
If a is one of the registers that will be loaded/stored, we must not
discard it early. Sorry for this fixup of a fixup...
2023-12-10 19:13:35 +01:00
JosJuice 13a4f1b799 JitArm64: Guard against discarding a in lmw/stmw
If a_is_addr_base_reg is true, discarding a before the end of the
instruction would result in the instruction being miscompiled.
2023-12-10 17:58:15 +01:00
Lioncash f4b1a199e8 VFFUtil: Use std::span with WriteToVFF
Same behavior, but allows different containers to be used.

In one case it also gets rid of needing to construct a std::vector.
2023-12-10 10:17:39 -05:00
Mai e2472e4f50
Merge pull request #12352 from JosJuice/jitarm64-flush-in-long-inst
JitArm64: Flush in the middle of lmw/stmw/mfcr
2023-12-10 09:15:07 -05:00
Mai f249e414ad
Merge pull request #12366 from AdmiralCurtiss/exi-ipl-fixes
HW/CEXIIPL: Various fixes.
2023-12-10 09:12:18 -05:00
Admiral H. Curtiss a0da6788a3
MMU: Use MSR.IR for instruction reads. 2023-12-10 14:18:25 +01:00
Admiral H. Curtiss c12725c916
MMU: Assert that the given XCheckTLBFlag is valid for the operation. 2023-12-10 14:18:25 +01:00
Admiral H. Curtiss 0d6a0724fd
MMU: Always use data read for the PTE lookup in TranslatePageAddress. 2023-12-10 14:18:24 +01:00
Admiral H. Curtiss 5d2fc0147e
MMU: Mark IsOpcodeFlag() and IsNoExceptionFlag() as constexpr. 2023-12-10 14:18:24 +01:00
Admiral H. Curtiss 8194b53166
HW/CEXIIPL: Check for errors when reading font. 2023-12-10 14:17:38 +01:00
Admiral H. Curtiss 57e166dbef
HW/CEXIIPL: Consider that the loaded file may not actually contain a nullterminated string. 2023-12-10 14:17:37 +01:00
Admiral H. Curtiss 7d53916466
HW/CEXIIPL: Respect bounds in LoadFileToIPL(). 2023-12-10 14:17:37 +01:00
Admiral H. Curtiss f284bfca45
Merge pull request #12336 from AdmiralCurtiss/lazymemory-ringbuffer
Common/MemArenaWin: Rewrite LazyMemoryRegion by repeatedly mapping the same block of memory for unwritten regions.
2023-12-10 13:00:09 +01:00