JosJuice
86c1f6e1e7
Jit: Don't use a second stack
...
This second stack leads to JNI problems on Android, because ART fetches
the address and size of the original stack using pthread functions
(see GetThreadStack in art/runtime/thread.cc), and (presumably) treats
stack addresses outside of the original stack as invalid. (What I don't
understand is why some JNI operations on the CPU thread work fine
despite this but others don't.)
Instead of creating a second stack, let's borrow the approach ART uses:
Use pthread functions to find out the stack's address and size, then
install guard pages at an appropriate location. This lets us get rid
of a workaround we had in the MsgAlert function.
Because we're no longer choosing the stack size ourselves, I've made some
tweaks to where the put the guard pages. Previously we had a stack of
2 MiB and a safe zone of 512 KiB. We now accept stacks as small as 512 KiB
(used on macOS) and use a safe zone of 256 KiB. I feel like this should
be fine, but haven't done much testing beyond "it seems to work".
By the way, on Windows it was already the case that we didn't create
a second stack... But there was a bug in the implementation!
The code for protecting the stack has to run on the CPU thread, since
it's the CPU thread's stack we want to protect, but it was actually
running on EmuThread. This commit fixes that, since now this bug
matters on other operating systems too.
2023-02-28 20:29:46 +01:00
JosJuice
0cdae98181
Jit: Fix GUARD_OFFSET calculation
...
Seems like this was broken all along. The safe zone is at the lower
addresses of the stack, not the higher addresses.
2023-02-28 19:11:35 +01:00
Admiral H. Curtiss
a0974c18cd
RiivolutionPatcher: Use capitalization of file that exists in the host file system if possible.
...
Fixes https://bugs.dolphin-emu.org/issues/13138
2023-02-28 00:56:34 +01:00
Admiral H. Curtiss
bdb19085c4
Common: Add utility function for case-insensitive string comparison.
2023-02-28 00:56:33 +01:00
JosJuice
7586fc8134
Merge pull request #11608 from Dentomologist/fix_dynamicinputtextures_directory_error_logs
...
UICommon: Create Load/DynamicInputTextures directory on startup
2023-02-27 18:07:57 +01:00
Admiral H. Curtiss
251fb92b80
Merge pull request #11606 from JosJuice/control-group-save-enabled
...
InputCommon: Fix ControlGroup::SaveConfig with DefaultValue::Disabled
2023-02-27 12:02:25 +01:00
Admiral H. Curtiss
c730ee2de2
Merge pull request #11596 from AdmiralCurtiss/copyany
...
Common/FileUtil: Migrate CopyDir() to a more clear interface.
2023-02-27 12:02:00 +01:00
Admiral H. Curtiss
a11b9d585f
Common/FileUtil: Remove obsolete CopyDir() function.
2023-02-26 23:17:10 +01:00
Admiral H. Curtiss
4f462b4ef6
Migrate destructive calls of File::CopyDir() to File::Move().
2023-02-26 23:17:10 +01:00
Admiral H. Curtiss
5367bf394c
Common/FileUtil: Add Move() function.
2023-02-26 23:17:09 +01:00
Dentomologist
e62162e486
UICommon: Create Load/DynamicInputTextures directory on startup
...
Fix console error spam on Dolphin and game startup if the directory
doesn't exist.
2023-02-26 13:10:15 -08:00
Daniel Garza
02f7c0213f
Qt/GameList: Also filter by filename when searching.
2023-02-26 19:13:45 +01:00
JosJuice
9b3816c993
InputCommon: Fix ControlGroup::SaveConfig with DefaultValue::Disabled
...
I also changed LoadConfig, but that change doesn't affect correctness,
it's only so it looks neat by matching SaveConfig.
This bug was added in 18a4afb053
, the
commit that introduced DefaultValue::Disabled. The bug can't actually be
triggered in master, but it can be triggered in the Android input
overhaul PR.
2023-02-26 17:45:09 +01:00
Admiral H. Curtiss
26adf78e45
Merge pull request #11602 from JosJuice/cpu-guard-expression
...
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
2023-02-26 11:55:47 +01:00
Shawn Hoffman
28956cc6c2
workaround msvc optimizer bug
2023-02-25 23:26:27 -08:00
Dentomologist
ad6e95afb4
D3D: Restore workaround for erroneous NaN optimization
...
The HLSL compiler incorrectly decides isnan can't be true, so this
workaround was originally added in 52c82733
but lost during the
conversion to SPIR-V.
2023-02-25 16:27:30 -08:00
JosJuice
ae5311d6e6
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
...
See https://github.com/dolphin-emu/dolphin/pull/11554#discussion_r1113949572 .
2023-02-25 16:13:34 +01:00
Dentomologist
d18735e82e
Qt/WiimoteControllersWidget: Add bluetooth unavailable message
2023-02-24 14:30:43 -08:00
Admiral H. Curtiss
1ed0e014cd
Migrate non-destructive calls of File::CopyDir() to File::Copy().
2023-02-24 20:32:19 +01:00
Admiral H. Curtiss
884917a6d5
Common/FileUtil: Use non-throwing overload of is_directory() in CreateDir() and CreateFullPath().
2023-02-24 20:32:19 +01:00
Admiral H. Curtiss
e479f92418
Common/FileUtil: Add CreateDirs() function as a wrapper around std::filesystem::create_directories().
2023-02-24 20:32:18 +01:00
Admiral H. Curtiss
616d57e7fc
Common/FileUtil: Add Copy() function as a wrapper around std::filesystem::copy().
2023-02-24 20:32:18 +01:00
iwubcode
5d571b068f
VideoBackends: rework d3d11 to specify samplers/bound textures using a bitset with a constant size, instead of hardcoding each individual enumeration value
2023-02-24 11:32:48 -06:00
Shawn Hoffman
2c2fb869a2
use std-provided randomness for JitArm64 unittests
...
decreases runtime significantly and lessens dependency on mbedtls
2023-02-22 12:55:12 -08:00
Admiral H. Curtiss
e52aa52a66
Common/FileUtil: Rename Copy() to CopyRegularFile().
...
This is to clarify that it can only copy files, not folders.
2023-02-22 11:43:58 +01:00
Léo Lam
3c4a21315d
Merge pull request #11592 from Pokechu22/fix-delete-ticket
...
IOS/ES: Fix crash when deleting tickets
2023-02-21 10:53:37 +01:00
Pokechu22
f2ac3aec94
IOS/ES: Fix crash when deleting tickets
...
This broke formatting the system memory; see https://bugs.dolphin-emu.org/issues/13176 . After calling ticket.DeleteTicket(), ticket.m_bytes was 0-length, but calling ticket.IsV1Ticket() still attempted to read from m_bytes.
This was introduced in 2fd9852ca8
, although it didn't actually cause a crash until 929fba08e7
.
2023-02-20 18:33:34 -08:00
Mai
6f21ce7d95
Merge pull request #11555 from CookiePLMonster/wil-todos
...
Address WIL todos in UICommon.cpp
2023-02-20 10:14:49 -05:00
Admiral H. Curtiss
4e6c89fbfd
Qt/CodeViewWidget: Don't read PC in Update() if we don't have a CPU thread guard.
2023-02-20 03:10:12 +01:00
Admiral H. Curtiss
ef1520c2c6
Qt/CodeViewWidget: Don't try to pause emulator in Update() if we happen to be on a breakpoint.
2023-02-20 02:56:04 +01:00
Seeky
4e6e510003
Debugger: Add string comparison to conditional breakpoints.
2023-02-20 01:40:33 +01:00
JosJuice
78c53bfec8
Jit64: Fix the offsetAddedToAddress correction
...
The LEA that the signal handler is trying to undo the effects of is a
32-bit instruction, and the value in the register prior to the LEA is
also 32-bit, so the signal handler should use a 32-bit write.
(Actually, in the end this doesn't really matter, because the first
instruction that reads this value after backpatching is also a 32-bit
instruction...)
2023-02-18 21:14:31 +01:00
Admiral H. Curtiss
8db35e6d04
Merge pull request #11578 from Pokechu22/memory-leaks-feb-2023
...
Fix various memory leaks
2023-02-18 13:56:34 +01:00
Pokechu22
c94aacc968
AudioPane: Fix inconsistent initial state of audio stretching labels
...
This resulted in the labels being solid black even when audio stretching is disabled the first time the settings are opened, but then properly being greyed out after changing a setting (even the audio backend or DSP emulation engine, not just whether audio stretching is enabled).
2023-02-17 18:51:41 -08:00
Pokechu22
f1f3fd5d9d
InputCommon: Fix memory leak in ExpressionParser
...
We allocate in MakeSuppressor via `return unique_ptr(std::make_unique<...>(...).release(), InvokingDeleter{}`, so it wasn't properly getting freed.
2023-02-17 18:29:36 -08:00
Pokechu22
b6d476241a
CodeViewWidget: Fix memory leak
...
Per https://doc.qt.io/qt-6/qabstractitemview.html#setItemDelegateForColumn setItemDelegateForColumn does not take ownership of the parameter, so it was not being deleted. Specifying a parent to QObject (via QStyledItemDelegate's constructor) will allow it to automatically be deleted, per https://doc.qt.io/qt-6/objecttrees.html . The other instance of a QItemDelegate in IOWindow.cpp already used this.
2023-02-17 18:29:32 -08:00
Pokechu22
1c5e223532
MemoryViewWidget: Fix memory leaks
...
bp_item/row_item/item were never deleted, and the normal Qt ownership system wasn't applying to them because they were being cloned.
2023-02-17 18:17:01 -08:00
Admiral H. Curtiss
74abf48234
Merge pull request #11576 from yannhodiesne/convert-prevent-file-deletion
...
Check the input and destination paths before converting a game file onto itself
2023-02-17 18:49:15 +01:00
Markus Wick
b381df700c
Merge pull request #11577 from JosJuice/android-armeabi-v7a
...
Android: Fix armeabi-v7a build
2023-02-17 17:57:38 +01:00
JosJuice
90b676d368
Android: Fix armeabi-v7a build
...
This very much isn't a build configuration that we're going to ship,
but I want to be able to tell people that they can build it on their
own if they really want to see how terribly it performs :)
Just like before, you'll need to edit two lines in app/build.gradle to
define ENABLE_GENERIC=ON and actually enable armeabi-v7a if you want an
armeabi-v7a build. This commit just fixes some compilations errors that
crop up if you do so.
2023-02-17 16:58:24 +01:00
Yann Hodiesne
49e897422f
Use a success count instead of files count
2023-02-17 15:49:31 +01:00
Yann Hodiesne
cb42a03299
Check the input and destination paths before converting a game file onto itself
...
Before these changes you could tell Dolphin to convert a game file into the same format it is already in, leading to the FileDialog using the input path as the default destination path
An unsuspecting user could then click Save and Dolphin would try to convert the input file by writing the destination file on top of it... leading to an I/O error and the input file being entirely removed
2023-02-17 14:26:50 +01:00
Scott Mansell
28331c5905
Merge pull request #11574 from K0bin/val-fix
...
VideoBackends:Vulkan: Fix printing validation errors
2023-02-17 14:52:45 +13:00
Admiral H. Curtiss
0c48324c75
Jit64: Use 5 byte jump in mtmsr for the CP interrupt check.
...
WriteExternalExceptionExit() can write more than the maximum offset of the small jump.
2023-02-16 19:26:19 +01:00
Robin Kertels
2695666e6d
VideoBackends:Vulkan: Fix printing validation errors
2023-02-16 17:53:15 +01:00
Scott Mansell
6038a6e2db
Merge pull request #11569 from Hibyehello/patch-1
...
VideoBackend: Make Metal Default on MacOS
2023-02-16 21:08:35 +13:00
Pokechu22
74a14c7d1f
ControllerInterface: Fix uninitialized variables in DualShockUDPClient
...
Strangely, this case did not trigger a C26495 warning in Visual Studio's analyzer; instead, I spotted this when using Valgrind.
2023-02-15 19:23:47 -08:00
Pokechu22
67381cdb8b
VideoCommon: Remove unused ShutdownImGui function declaration
...
This was moved to the ~OnScreenUI() destructor in 0d4537d60f
.
2023-02-15 19:20:59 -08:00
Pokechu22
8802f96b7e
Fix uninitialized variable warnings (C26495)
2023-02-15 19:18:39 -08:00
Josh
cd38ed76e2
Keep Vulkan precedence over OpenGL
2023-02-15 12:22:56 -06:00
Josh
546a016dc8
VideoBackend: Make Metal Default on MacOS
2023-02-15 12:05:54 -06:00
SMarioMan
301e97f7f7
Remove WinAPI-specific type from socket request
2023-02-15 09:29:21 -05:00
SMarioMan
a45f6d9438
Enable broadcast permissions in socket requests
2023-02-15 07:59:38 -05:00
Admiral H. Curtiss
0758e00cfe
Common/FileUtil: Revert behavior of CreateFullPath().
...
This was accidentally changed in 7e6436db34
.
2023-02-15 02:21:50 +01:00
Admiral H. Curtiss
661b74f4a3
Merge pull request #11564 from JosJuice/jitarm64-cmp-order
...
JitArm64: Fix special cases of cmp
2023-02-14 20:19:07 +01:00
Admiral H. Curtiss
e1d3237dbd
Merge pull request #11342 from TellowKrinkle/GLLayerMac
...
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 20:17:22 +01:00
JosJuice
0049a76775
JitArm64: Fix special cases of cmp
...
This fixes a regression from 592ba31
. When `a` was a constant 0 and `b`
was a non-constant 0x80000000, the 32-bit negation operation would
overflow, causing an incorrect result. The sign extension needs to happen
before the negation to avoid overflow.
Note that I can't merge the SXTW and NEG into one instruction.
NEG is an alias for SUB with the first operand being set to ZR,
but "SUB (extended register)" treats register 31 as SP instead of ZR.
I've also changed the order for the case where `a` is a constant
0xFFFFFFFF. I don't think the order actually affects correctness here,
but let's use the same order for all the cases since it makes the code
easier to reason about.
2023-02-14 19:16:00 +01:00
Admiral H. Curtiss
22ed084209
Merge pull request #11563 from JosJuice/host-lock-cpu-fixups
...
Follow-up fixes for "Properly lock CPU before accessing emulated memory"
2023-02-14 19:04:21 +01:00
JosJuice
5b6784432c
Follow-up fixes for "Properly lock CPU before accessing emulated memory"
2023-02-14 18:44:16 +01:00
TellowKrinkle
f25a0b43b6
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 18:25:33 +01:00
Pokechu22
4f6ce51d69
VideoCommon: Clear blend configuration if color/alpha update disabled
...
This works around an Intel driver bug where, on D3D12 only, dual-source blending behaves incorrectly if the second source is unused on. This bug is visible in skyboxes in Super Mario Sunshine, which first draw clouds and sun flare in greyscale and then draw the sky afterwards with a source factor of 1 and a dest factor of 1-src_color (this results in the clouds being tinted blue). This process is done on an RGB888 framebuffer, so alpha update is disabled. (Color update is enabled; note that if you look at this in Dolphin's fifo analyzer, it won't be enabled because they use the BP mask functionality to only change the blending functions and not alpha/color update, for whatever reason.)
2023-02-13 18:22:41 -08:00
Admiral H. Curtiss
5f929d00eb
Merge pull request #11560 from phire/EventHook_construct_on_first_use
...
HookableEvent: Switch to construct on first use
2023-02-14 01:01:03 +01:00
Admiral H. Curtiss
34a459bed7
Merge pull request #11445 from JosJuice/jit64-wraparound-backpatch
...
Jit64: Properly handle backpatching overflowed address calculations
2023-02-14 01:00:13 +01:00
Admiral H. Curtiss
3458c58c7d
Merge pull request #11503 from JosJuice/ppcanalyst-read-cr
...
PPCAnalyst: Actually check if instructions want CR
2023-02-14 00:55:24 +01:00
Admiral H. Curtiss
e2d7b6d079
Merge pull request #11559 from Pokechu22/cache-fix-plru-updates
...
PPCCache: Update PLRU on any cache access
2023-02-14 00:50:54 +01:00
Admiral H. Curtiss
8f91cb62e6
Merge pull request #11426 from shuffle2/stdfs
...
fileutil: use std::filesystem
2023-02-14 00:50:34 +01:00
Admiral H. Curtiss
e1dbea3658
JIT: Fix calls to HLE::Execute.
...
This got broken in 7cecb28bdf
.
2023-02-13 11:47:47 +01:00
Scott Mansell
05181f6b88
HookableEvent: Switch to construct on first use
...
A registration might happen during static initialization, which opens
us up to issues with ordering of static initialization.
2023-02-13 18:48:43 +13:00
Scott Mansell
1fc5d37fd2
Merge pull request #11558 from Pokechu22/vertex-loader-size-assertion-details
...
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-13 17:34:04 +13:00
Pokechu22
cc411c4e41
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-12 20:10:38 -08:00
Pokechu22
14c4f4e7f6
PPCCache: Update PLRU on any cache access
...
The previous code only updated the PLRU on cache misses, which made it so that the least recently inserted cache block was evicted, instead of the least recently used/hit one.
This regressed in 9d39647f9e
(part of #11183 , but it was fine in e97d380437
), although beforehand it was only implemented for the instruction cache, and the instruction cache hit extremely infrequently when the JIT or cached interpreter is in use, which generally keeps it from behaving correctly (the pure interpreter behaves correctly with it).
I'm not aware of any games that are affected by this, though I did not do extensive testing.
2023-02-12 19:59:19 -08:00
Scott Mansell
a4729a026f
Merge pull request #11554 from JosJuice/host-lock-cpu
...
DolphinQt: Properly lock CPU before accessing emulated memory
2023-02-13 16:08:36 +13:00
Scott Mansell
f37113204f
Merge pull request #11550 from iwubcode/set_common_samplers_count
...
VideoCommon: add constant value for maximum number of pixel samplers
2023-02-13 16:05:51 +13:00
Scott Mansell
2c24d07837
Merge pull request #11538 from t895/disc-speed-stuff
...
Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
2023-02-13 15:46:56 +13:00
Charles Lombardo
0ed64b080f
Rename Fast Disc Speed to Emulate Disc Speed and invert option
2023-02-12 16:20:38 -05:00
Admiral H. Curtiss
300d63b492
DiscIO/FileBlob: Make m_size unsigned.
2023-02-12 20:51:08 +01:00
JosJuice
611e721a4d
Jit64: Properly handle backpatching overflowed address calculations
...
Previously we would only backpatch overflowed address calculations
if the overflow was 0x1000 or less. Now we can handle the full 2 GiB
of overflow in both directions.
I'm also making equivalent changes to JitArm64's code. This isn't because
it needs it – JitArm64 address calculations should never overflow – but
because I wanted to get rid of the 0x100001000 inherited from Jit64 that
makes even less sense for JitArm64 than for Jit64.
2023-02-12 20:48:27 +01:00
Admiral H. Curtiss
c3dee1f11c
Merge pull request #11499 from iwubcode/graphics-mod-pass-base-path
...
VideoCommon: allow graphics mods to have access to the file path where the config exists to load additional files
2023-02-12 19:04:59 +01:00
Silent
9f3d3e2b9c
Address WIL todos in UICommon.cpp
2023-02-12 15:05:54 +01:00
JosJuice
6f0266e8de
DolphinQt: Only update call stack if paused
...
This avoids a pseudo infinite loop where CodeWidget::UpdateCallstack
would lock the CPU in order to read the call stack, causing the CPU to
call Host_UpdateDisasmDialog because it's transitioning from running to
pausing, causing Host::UpdateDisasmDialog to be emitted, causing
CodeWidget::Update to be called, once again causing
CodeWidget::UpdateCallstack to be called, repeating the cycle.
Dolphin didn't go completely unresponsive during this, because
Host_UpdateDisasmDialog schedules the emitting of Host::UpdateDisasmDialog
to happen on another thread without blocking, but it was stopping certain
operations like exiting emulation from working.
2023-02-12 12:50:28 +01:00
JosJuice
7cecb28bdf
DolphinQt: Properly lock CPU before accessing emulated memory
...
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.
To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
MayImilae
508c79a66f
Rename VI Skip to VBI Skip
...
VI Skip was very hard to explain on the blog, so this small changes
clarifies what VI Skip is to resolve that issue.
2023-02-11 20:28:41 -08:00
iwubcode
20dc4401c5
VideoCommon: pass a graphics mod base path to the graphics mod, so it can lookup other relative files if necessary
2023-02-11 00:21:40 -06:00
Admiral H. Curtiss
2f6e7d497d
ENetUtil: Add check for valid socket in SendPacket().
2023-02-10 19:32:40 +01:00
Admiral H. Curtiss
9b5c52ad8d
Merge pull request #11541 from Pokechu22/dsptool-no-redefine-label
...
DSPTool: Fix missing error when redefining labels
2023-02-10 11:02:36 +01:00
Admiral H. Curtiss
3c2933cad2
Merge pull request #11549 from Pokechu22/texturecachebase-bitset-include
...
TextureCacheBase: Remove unused bitset include
2023-02-10 10:55:07 +01:00
JMC47
258151fe5a
Merge pull request #11523 from degasus/OGL_KHR_subgroup
...
VideoBackend/OGL: Prefer KHR_shader_subgroup over NV_shader_thread.
2023-02-10 04:47:20 -05:00
iwubcode
af313f8419
VideoCommon: add constant value to set the allowed maximum number of pixel samplers
2023-02-10 00:46:11 -06:00
Pokechu22
3024ca2146
Suppress memcpy writing to an object with no trivial copy-assignment warnings
...
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
2023-02-09 16:23:49 -08:00
Pokechu22
ac7a17579e
BreakPoints: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
3bd655463d
MemoryViewWidget: Fix warning: enumeration value ‘Null’ not handled in switch [-Wswitch]
2023-02-09 16:23:02 -08:00
Pokechu22
5c8d8383e2
CodeWidget: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
470115fd4f
TextureDecoder: Fix warning: array subscript has type ‘char’ [-Wchar-subscripts]
2023-02-09 16:23:02 -08:00
Pokechu22
debed35c10
State: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
9559c45cae
CommandProcessor: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
f1b1f5c013
IOS: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
8d71f542cb
Boot: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
39c5d55f03
VertexLoaderBase: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
95bee485c9
GraphicsModManager: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
7fafb00561
InputCommon/XInput2: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
edcc4a6578
AudioInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
8ad7d58303
DSP: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
24df509447
DVDInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
9c52c600c4
EXI_DeviceEthernet: Fix warning: operation on ‘current_rwp’ may be undefined [-Wsequence-point]
2023-02-09 16:23:01 -08:00
Pokechu22
1465620721
GCMemcardDirectory: Fix variable shadowing warning
2023-02-09 16:23:01 -08:00
Pokechu22
c555a4f0c6
SerialInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:01 -08:00
Pokechu22
72b4675c8f
VideoInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:01 -08:00
Pokechu22
49a84cbc4c
Resolve various "no previous declaration" warnings
2023-02-09 16:23:01 -08:00
Pokechu22
2288ba28ae
Software/Tev: Fix member shadowing warnings
2023-02-09 16:23:01 -08:00
Pokechu22
8b98dd9be3
Move s_using_custom_client to DiscordPresence.cpp
...
Otherwise, files that include the header get warning: ‘Discord::s_using_custom_client’ defined but not used.
2023-02-09 16:23:01 -08:00
Pokechu22
b316ce6fdd
Fix warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20
2023-02-09 16:23:01 -08:00
Pokechu22
af5013b60f
Suppress -Winvalid-offsetof for PowerPC::PowerPCState
...
This code doesn't need to be portable (since the goal is to have a smaller offset for x64 codegen), so if it's not supported there are other problems. Similar code exists in e.g. DSP.cpp.
2023-02-09 16:23:01 -08:00
Pokechu22
5283a85205
TextureCacheBase: Remove unused bitset include
...
It was used for valid_bind_points, which was removed in 88bd10cd30
(and the declaration was more recently removed in 606c18210d
).
2023-02-09 16:04:48 -08:00
JMC47
a88e5ef390
Merge pull request #11498 from iwubcode/save_pipeline_config
...
VideoCommon: store the configuration used to create the AbstractPipeline
2023-02-09 18:38:49 -05:00
Markus Wick
a38e365931
Merge pull request #11547 from JosJuice/fix-gles
...
OGL: Fix GLES crashing on initialization
2023-02-09 18:16:48 +01:00
JosJuice
6dfd582de6
OGL: Fix GLES crashing on initialization
...
Fixes a regression from PR 11522 ("Kill Renderer").
2023-02-09 18:09:03 +01:00
Markus Wick
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
degasus
4b2aa948e6
VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.
...
While the NV extension is totally fine, the KHR extension should be able to support more hardware.
For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years.
For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension.
For Intel, the KHR is also supported for some years.
2023-02-09 13:27:02 +01:00
iwubcode
d0c6b6c9ed
VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration
2023-02-09 02:13:53 -06:00
Scott Mansell
aaad0cd39f
Merge pull request #11539 from phire/improve_workqueuethread
...
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
Scott Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
5c1b3ac61d
Hook up Presenter's ConfigChanged function
...
Fixes issue with post-processing not working
2023-02-09 18:36:20 +13:00
Scott Mansell
9c1fe59cc9
Insert a more solid abstraction between Qt and Imgui
2023-02-09 18:36:20 +13:00
Scott Mansell
b2a31103b4
Presenter: Handle blanked frames correctly
2023-02-09 18:36:20 +13:00
Scott Mansell
83b7b01265
Fix XFB duplicate detection
...
Frame duplicate detection was inverted. Huge problem for 60fps games
where it would see all frames as "duplicates" and nothing would ever be
presented.
2023-02-09 18:36:20 +13:00
Scott Mansell
d3ddd96cee
Make sure m_prev_efb_format is initilized
2023-02-09 18:36:20 +13:00
Scott Mansell
59a4b026f6
Better documentation for HookableEvent.
2023-02-09 18:36:20 +13:00
Scott Mansell
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00
Scott Mansell
60f2b5af7b
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com>
Co-authored-by: BhaaL <bhaalsen@gmail.com>
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
e0a1631659
Add comment about "end of frame"
2023-02-09 18:36:20 +13:00
Scott Mansell
43b6a49012
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
05fad53fa0
Update STATE_VERSION
...
Co-authored-by: BhaaL <bhaalsen@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
e2de281897
Make sure pixel shaders pick up Initial EFB Scale
2023-02-09 18:36:20 +13:00
Scott Mansell
cf9a6f8477
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
f7ad825736
fix fbdev
2023-02-09 18:36:20 +13:00
Scott Mansell
628af9d564
Fix builds with FFMPEG disabled
2023-02-09 18:36:20 +13:00
Scott Mansell
4422af1272
Cleanup headers
2023-02-09 18:36:20 +13:00
Scott Mansell
5803786beb
Move UseVertexDepthRange() out of Renderer
...
There wasn't really a good place for it, but this will do
2023-02-09 18:36:20 +13:00
Scott Mansell
2cfc02a116
Move m_prev_efb_format into FramebufferManager
2023-02-09 18:36:20 +13:00
Scott Mansell
9b5397abdb
Move WidescreenHeuristic to it's own class
...
It's about the only thing left in renderer
2023-02-09 18:36:20 +13:00
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
Scott Mansell
e009002411
Refactor ClearRegion
...
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
Jordi Mallach
4d164fcb77
Allow building against system libspng
2023-02-06 13:30:46 +01:00
Joshua de Reeper
e0b3dd0dcf
Remove Imaginators Skylanders from list
...
Add Vicarious Visions variant
2023-02-06 15:16:06 +13:00
Admiral H. Curtiss
ca0b61be91
Merge pull request #11459 from OatmealDome/steam-user-dir
...
CommonPaths: Add Steam-specific user directory and clean up
2023-02-05 23:52:41 +01:00
Scott Mansell
2ff155f742
Optimise cond_var predicate order
...
m_items.empty() is by far the most likely reason for a notification.
2023-02-05 17:20:00 +13:00
Scott Mansell
271ffde71d
Prevent WaitForCompletion shutdown deadlock.
...
Adjust shutdown order to prevent potential deadlocks
when one thread calls Shutdown, and another calls WaitForCompletion.
2023-02-05 17:17:16 +13:00
Scott Mansell
9c012b09b3
Address review feedback
2023-02-05 16:52:53 +13:00
Pokechu22
a244cb868b
DSPTool: Fix missing error when redefining labels
...
The logging was broken in 958cbf38a4
(DSPTool doesn't use dolphin's logging system, so it just produced nothing; the same thing affected comparing before 693a29f8ce
).
AssemblerError::LabelAlreadyExists (previously ERR_LABEL_EXISTS) simply was never used.
2023-02-04 17:31:06 -08:00
Scott Mansell
7c4fcc30a3
WorkQueueThread: provide name and function at same time
2023-02-04 15:56:27 +13:00
Scott Mansell
6594532f10
WorkQueueThread: rework Cancel/Shutdown workflow
...
- Cancel doesn't shut down anymore.
Allowing it to be used multiple times thoughout the life of
the WorkQueue
- Remove Clear, so we only have Cancel semantics
- Add IsCancelling so work items can abort early if cancelling
- Replace m_cancelled and m_thread.joinable() guars with m_shutdown.
- Rename Flush to WaitForCompletion (As it's ambiguous if a function
called flush should be blocking or not)
- Add documentation
2023-02-04 14:58:12 +13:00
Scott Mansell
acdb0c5be1
WorkQueueThread: Implement thread name
...
Otherwise we will end up with a dozen threads named "WorkQueueThread"
2023-02-04 14:58:12 +13:00
Robin Kertels
94a0c50bf8
WorkQueueThread: Rework without Flags/Events
2023-02-04 14:31:16 +13:00
Robin Kertels
9affbfe683
WorkQueueThread: Implement proper Flush
...
and rename the existing Flush to FlushOne.
2023-02-04 14:31:16 +13:00
Robin Kertels
9badcc6eb8
WorkQueueThread: Add Push
2023-02-04 14:31:16 +13:00
Scott Mansell
512273a507
WorkQueueThread: Add flush capability
2023-02-04 14:31:16 +13:00
Sam Belliveau
4a97dc7c81
Let VI Skip work if variance > fallback
2023-02-02 20:59:17 -05:00
Sam Belliveau
87d5d39dfe
Set VI Skip Activation to Half The Audio Buffer
2023-02-02 20:55:13 -05:00
Joshua de Reeper
680db55239
Android: Add Skylanders Portal
...
Co-Authored-By: Charles Lombardo <clombardo169@gmail.com>
2023-02-02 21:16:14 +13:00
Pierre Bourdon
c92de420ef
lint: update to clang-format-13
2023-02-02 04:56:08 +01:00
Admiral H. Curtiss
69b178e95f
Merge pull request #11157 from h3xx/use-gnuinstalldirs
...
Use GNUInstallDirs for installation paths
2023-02-01 19:35:46 +01:00
OatmealDome
234de8af09
UICommon: Don't check the registry key or use the old user directory path on Windows builds for Steam
2023-01-31 17:57:09 -05:00
OatmealDome
7240290382
CommonPaths: Add Steam-specific user directory
2023-01-31 17:57:09 -05:00
OatmealDome
59a44bea50
CommonPaths: Split platform-specific definitions for user directories into two blocks
2023-01-31 17:57:09 -05:00
OatmealDome
af33d4f13f
CommonPaths: Split PORTABLE_USER_DIR into "portable" and "embedded" to accomodate macOS
2023-01-31 17:57:09 -05:00
OatmealDome
7f962a4146
UICommon: Use NORMAL_USER_DIR for Windows
2023-01-31 17:57:09 -05:00
OatmealDome
5e3d77adae
CommonPaths: Rename DOLPHIN_DATA_DIR to NORMAL_USER_DIR
2023-01-31 17:57:08 -05:00
OatmealDome
846eef2a05
CommonPaths: Rename USERDATA_DIR to PORTABLE_USER_DIR
2023-01-31 17:57:08 -05:00
Pierre Bourdon
2a2ee5d543
Merge pull request #11434 from momocaoo/graphics-mod-folder-button
...
DolphinQt: Add button to open graphics mod folder on settings
2023-01-31 14:35:21 +01:00
Scott Mansell
e98ab0784d
Merge pull request #11501 from iwubcode/abstract_texture_load_specify_layer
...
VideoBackends: add a way to load data into a specific level AND layer
2023-02-01 00:03:59 +13:00
Scott Mansell
c6b851c2b6
Merge pull request #11506 from phire/cmake_fixes
...
CMake/MSVC fixes
2023-01-31 23:53:31 +13:00
Scott Mansell
12431a83ba
Merge pull request #11435 from techydude0713/wc24-utc-fix
...
NetKDTime: Use UTC based timestamp instead of localtime.
2023-01-31 23:40:15 +13:00
Scott Mansell
854a73dee0
CMake/MSVC: Fix PCH disabled build
2023-01-31 23:21:07 +13:00
Scott Mansell
1956ce151f
Cmake/MSVC: Fix Qt6 discover for IDEs other than Visual Studio
...
CMakeSettings.json is a Visual Studio only extention to cmake that isn't
supported anywhere else. Not even Visual Studio Code.
So we set CMAKE_PREFIX_PATH inside DolphinQt's CMakeLists.txt instead.
2023-01-31 23:19:46 +13:00
OatmealDome
0f037a1af8
Merge pull request #10864 from TellowKrinkle/BetterLogicBlend
...
VideoCommon: Better logic op invert approximation
2023-01-31 01:55:55 -05:00
Scott Mansell
b753641dd4
Add some descriptions to new classes
2023-01-31 19:41:24 +13:00
Scott Mansell
abfc75f362
Cleanup headers
2023-01-31 19:41:24 +13:00
Scott Mansell
ec8f46b02c
Expose Renderer's Framecount
...
We don't want to move it, because we want to complete
this refactor without changing savestate version
2023-01-31 19:41:24 +13:00
Scott Mansell
3be63221c7
Renderer still needs to track swaps for savestates
2023-01-31 19:41:24 +13:00
Scott Mansell
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Scott Mansell
2a18b34a73
Wire up frame before/after events
2023-01-31 19:41:24 +13:00
Scott Mansell
154cb4f722
Introduce an Event system to VideoCommon
...
A lot of the remaining complexity in Renderer is the massive Swap function
which tries to handle a bunch of FrameBegin/FrameEnd events.
Rather than create a new place for it. This event system will try
to distribute it all over the place
2023-01-31 19:41:24 +13:00
Scott Mansell
d6cd8de1a7
Delete unused EFBHasAlphaChannel function
2023-01-31 19:41:24 +13:00
Scott Mansell
9d125a6e43
Move ConfigChanged out of RenderBase
...
There is this nice VideoConfig file that's perfect for it
2023-01-31 19:41:24 +13:00
Scott Mansell
ca5ec13e13
Move GraphicsMod out of RenderBase
2023-01-31 19:41:24 +13:00
Scott Mansell
55d15bdd6e
Move utiltily drawing out of RenderBase
2023-01-31 19:41:24 +13:00
Scott Mansell
99d3e489ea
Move BoundingBox out of RenderBase
...
They were essentially just pass-though methods
2023-01-31 19:41:24 +13:00
Scott Mansell
35a69cb1bb
Fix missing include
2023-01-31 19:41:24 +13:00
Scott Mansell
8ad59f8ccf
Add AbstractGfx for DX12
2023-01-31 19:41:24 +13:00
Scott Mansell
5a2d119bda
Implement AbstractGfx for Dx11
2023-01-31 19:41:24 +13:00
Scott Mansell
8bc8e43dd6
Add virtual Initialize() to PerfQueryBase
...
Both DX12 and Vulkan already had one.
2023-01-31 19:41:24 +13:00
Scott Mansell
3c73707dfe
Fix dead code.
2023-01-31 19:41:24 +13:00
Scott Mansell
eaae5b4a45
Implement AbstactGfx for Metal
2023-01-31 19:41:24 +13:00
Scott Mansell
89d9ec0a84
Fix warning
2023-01-31 19:41:24 +13:00
Scott Mansell
b007b8e104
Replace BeginUI/EndUI
2023-01-31 19:41:24 +13:00
Scott Mansell
18c799f0b6
Present: Set surface info before initializing ImGui
...
Otherwise you get subtle bugs in vulkan that take hours to track down.
2023-01-31 19:41:24 +13:00
Scott Mansell
06ae08ca8b
Fix misnamed local variable
2023-01-31 19:41:24 +13:00
Scott Mansell
f158ff300b
Handle VideoSoftware's present fallback better
...
Not a good idea to abuse bSupportsPostProcessing
2023-01-31 19:41:24 +13:00
Scott Mansell
26e00c3bb4
Fix warning about using & with bools
2023-01-31 19:41:23 +13:00
Scott Mansell
74d3b3443a
Fix warning about compare sign mismatch
2023-01-31 19:41:23 +13:00
Scott Mansell
8f5b196019
Minimise include polution from RenderState
2023-01-31 19:41:23 +13:00
Scott Mansell
2a2014af09
Implement AbstractGfx for Vulkan
2023-01-31 19:41:23 +13:00
Scott Mansell
58b70b2fb2
Don't set common globals from Video Backends
2023-01-31 19:41:23 +13:00
Scott Mansell
d37f83ffeb
Implement AbstractGfx for Software & Null
2023-01-31 19:41:23 +13:00
Scott Mansell
f0336a3129
Implement AbstractGfx for OpenGL
...
Mostly involves moving contents of OGLRender
to OGLGfx and OGLConfig
2023-01-31 18:46:04 +13:00
Scott Mansell
8a23629345
Split AbstractGfx out of Renderer
...
Almost all the virtual functions in Renderer are part of dolphin's
"graphics api abstraction layer", which has slowly formed over the
last decade or two.
Most of the work was done previously with the introduction of the
various "AbstractX" classes, associated with texture cache cleanups
and implementation of newer graphics APIs (Direct3D 12, Vulkan, Metal).
We are simply taking the last step and yeeting these functions out
of Renderer.
This "AbstractGfx" class is now completely agnostic of any details
from the flipper/hollywood GPU we are emulating, though somewhat
specialized.
(Will not build, this commit only contains changes outside VideoBackends)
2023-01-31 18:46:02 +13:00
Scott Mansell
e57eb04ed3
Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h}
...
The name kind of conflicts with a new FrameDumper class
2023-01-31 18:45:29 +13:00
Scott Mansell
0d4537d60f
Move Presenting, Dumping and ImGui out of Renderer
2023-01-31 18:45:21 +13:00
Scott Mansell
c38c76abad
Refactor to remove virtual from RenderXFBToScreen
...
Slightly simplifies the upcoming refactor
2023-01-31 18:29:47 +13:00
Scott Mansell
a01d5283ec
TextureCache: Add content locking
...
Texture cache occasionally mutates textures for efficiency.
Which is awkward if we want to borrow those textures from texture cache
to do something else, such as a graphics debugger, or async presentation
on another thread.
Content locking provides a way to signal that the contents of a texture
cache entry should not change. Texture cache will be forced to use
alternative strategies.
2023-01-31 18:29:47 +13:00
Scott Mansell
606c18210d
TextureCache: Refactor with smart pointers
...
The whole ownership model was getting a bit of a mess, with a some
of special cases to deal with. And I'm planning to make it even more
complex in the future.
So here is some upfront work to convert it over to reference counted
pointers.
2023-01-31 18:29:47 +13:00
Scott Mansell
c1fd4a2013
Move TCacheEntry out of TextureCacheBase
...
Allows for fowards declaration
2023-01-31 18:29:47 +13:00
Pierre Bourdon
2843cd10a8
Merge pull request #11492 from mandar1jn/file-improvements
...
Improve the data in the first data block of the skylanders figures
2023-01-31 03:02:39 +01:00
TellowKrinkle
600ad5f498
VideoCommon: Better logic op invert approximation
2023-01-30 14:04:37 -06:00
Lioncash
cdd3e636e1
Common/Network: Resolve -Wexpansion-to-defined warning
...
Macros that expand to include the standard define macro are undefined.
This is pretty trivial to fix. We can just do the test and then define
the name itself if it's true, rather than making the set of definition
checks the macro itself.
2023-01-30 14:20:56 -05:00
Lioncash
f20790370a
Core/ActionReplay: Make use of std::span where applicable
...
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 13:02:09 -05:00
Lioncash
adb4c0492d
Core/GeckoCode: Make use of std::span where applicable
...
Generifies the interface a little by not strictly requiring the use of
std::vector.
2023-01-30 12:53:50 -05:00
Dan Church
81388eedaa
Use GNUInstallDirs for installation paths
2023-01-30 09:44:44 -06:00
Mandar1jn
c8a91abadc
Improve the data in the first data block of the skylanders figures
...
* Added NUID
* Added BCC
* Added ATQA
* Added SAK
2023-01-30 16:29:20 +01:00
Admiral H. Curtiss
df9ba70c35
Merge pull request #11507 from phire/Wnullablitly-completeness
...
Ignore nullability-completeness warnings in VMA
2023-01-30 10:03:49 +01:00
Admiral H. Curtiss
ae712c61c2
Merge pull request #11500 from iwubcode/vulkan_copy_rectangle_one_layer
...
VideoBackends: update Vulkan's 'CopyRectangleFromTexture' to copy one layer
2023-01-30 10:03:33 +01:00
Admiral H. Curtiss
e48424065b
Merge pull request #10839 from CasualPokePlayer/fix_sysconf_settings
...
Fix SYSCONF movie settings
2023-01-30 09:50:21 +01:00
Admiral H. Curtiss
1eb69ea0a0
Merge pull request #10936 from TellowKrinkle/FixIncludeDirs
...
CMake: Actually use the include directories specified by dependencies
2023-01-30 09:19:06 +01:00
Admiral H. Curtiss
8edca2039e
Merge pull request #10947 from Zopolis4/opensleuth
...
Restrict OpenSLES to Android via CMake
2023-01-30 09:02:45 +01:00
Pierre Bourdon
a2f4606d33
Merge pull request #11205 from TellowKrinkle/AutoPresent
...
VideoBackends:Metal: Default to presentDrawable when vsync is on
2023-01-30 09:01:18 +01:00
Scott Mansell
6d7303993c
Merge pull request #11509 from Sam-Belliveau/improved-speed-counter
...
Tie Speed to CPU Speed and not VPS
2023-01-30 20:41:03 +13:00
TellowKrinkle
e4e425b930
VideoBackends:Metal: Assert on pipelines with no render targets
...
This only actually fails on specific Metal drivers, this way doing it will actually fail the CI and we'll notice
2023-01-29 14:36:28 -06:00
TellowKrinkle
1119a9ba32
VideoCommon: Don't create pipelines with no render targets
...
Some backends don't like it when you do that
2023-01-29 14:35:23 -06:00
Sam Belliveau
ebf114aef5
Tie Speed to CPU Speed and not VPS
2023-01-29 13:33:48 -05:00
Scott Mansell
6ad182edd9
Ignore nullability-completeness warnings in VMA
...
These cause a lot of warnings when compiling with clang.
And the example VmaUsage.h appears to disable them
2023-01-30 03:11:51 +13:00
Pierre Bourdon
2eda76cffc
Merge pull request #11474 from MayImilae/cleanup-remove-cdutils
...
Cleanup: Remove CDUtils
2023-01-29 09:50:32 +01:00
Pokechu22
3b4e17292d
Revert "DSPLLE: Add assertion for bad DMA alignment"
...
This reverts commit e140516130
. This assert triggers for AX and AXWii uCode games (including the Wii System Menu) for various addresses that seem to be 4-byte aligned. Worse still, if the DSP thread is in use (i.e. for DSP LLE recompiler, but not for DSP LLE interpreter), Dolphin completely hangs after the panic alert. Perhaps the data DMA has fewer restrictions compared to the instruction DMA?
The change to DSPTool (e391a28102
) has not been reverted, as it still fixes broken behavior for DSPSpy at -O0 on real hardware.
2023-01-28 17:26:47 -08:00
JosJuice
e27339039c
PPCAnalyst: Actually check if instructions want CR
2023-01-28 20:16:17 +01:00
JosJuice
9d2c4aa325
PPCAnalyst: Use bitsets for CR analysis
...
Currently we're only performing CR analysis for CR0 and CR1, but I
would like to do it for all CRs. Bitsets are appropriate for this.
2023-01-28 20:16:16 +01:00
JosJuice
3b57fb1d21
PPCTables: Add new instruction flags for CR
2023-01-28 20:16:16 +01:00
MayImilae
37859ec1da
Cleanup: Remove CDUtils
...
This is a cleaning followup for #11456 .
2023-01-28 03:50:57 -08:00
iwubcode
7bea39b39e
VideoBackends: add a way to load data into a specific level AND layer, default to layer 0
2023-01-27 18:46:53 -06:00
iwubcode
271c60781b
VideoBackends: update Vulkan's 'CopyRectangleFromTexture' to copy one layer, copying more than one layer doesn't make sense given that we provide both the source/destination layer
2023-01-27 18:41:52 -06:00
Admiral H. Curtiss
be2d394b8c
GDBStub: Avoid ppcState global.
2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
dd9907ed93
PatchEngine: Avoid ppcState global.
2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
4c349caabd
MIOS: Avoid ppcState global.
2023-01-27 15:22:48 +01:00
Admiral H. Curtiss
ed633476e6
IOS: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
0a0b4d325f
HW/SystemTimers: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
a784fe1f2f
HW/ProcessorInterface: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
884130f95c
HW/Memmap: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
2bf72de43d
HW/GPFifo: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
e2f7855b0e
HW/DSP: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
18d9ec75f1
HW/CPU: Avoid ppcState global.
2023-01-27 15:22:47 +01:00
Admiral H. Curtiss
078a460446
HW/AudioInterface: Avoid ppcState global.
2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
b52e8fd295
HLE_OS: Avoid ppcState global.
2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
7fd552081f
HLE function hooking: Avoid ppcState global.
2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
30de91d843
GeckoCode: Avoid ppcState global.
2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
1a826b27a6
FifoPlayer: Avoid ppcState global.
2023-01-27 15:22:46 +01:00
Admiral H. Curtiss
8adabb86cf
Debugger: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
bfc951311f
CheatSearch: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
bbdfb4bc14
CodeTrace: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
41ad0490f0
CoreTiming: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
94455ee9e1
Boot: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
51e7980d95
Core: Add PowerPCState reference to System.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
485bba238e
PowerPC: Add PowerPCState parameter to UpdatePerformanceMonitor().
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
61ba516570
PowerPC: Move a few functions to PowerPCState.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
0dcf228aaf
PowerPC: Parametrize TU macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
a7d3315b4f
PowerPC: Parametrize TL macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
2f241856b6
PowerPC: Add PowerPCState parameter to GQR macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
814c01162a
PowerPC: Remove SPRG0/1/2/3 macros.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
2f8b3ac1b7
PowerPC: Parametrize SRR1 macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
652113e6ba
PowerPC: Parametrize SRR0 macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
10dabd9975
PowerPC: Remove rDEC macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
c13ca271d8
PowerPC: Parametrize CTR macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0a343007cb
PowerPC: Parametrize LR macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0f301829d2
PowerPC: Remove rPS macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
0cd4a226d2
PowerPC: Remove rSPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
27ce432012
PowerPC: Remove rGPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
8fccefa3aa
PowerPC: Remove GPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
ba1b624e1b
PowerPC: Remove MSR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
4b6b8fa1ae
PowerPC: Remove FPSCR macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
2f3187eba9
PowerPC: Remove NPC macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
be8d0b76ca
PowerPC: Remove PC macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
82f3170876
PowerPC: Parametrize THRM1/2/3 macros.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
8bab3ac755
PowerPC: Parametrize MMCR1 macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
126590c4cd
PowerPC: Parametrize MMCR0 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
38529a2d8d
PowerPC: Parametrize DMAL macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
2374365274
PowerPC: Parametrize DMAU macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
31483e492e
PowerPC: Parametrize HID4 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
6f0ab1b33e
PowerPC: Parametrize HID2 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
49eeb986c6
PowerPC: Parametrize HID0 macro.
2023-01-27 15:22:40 +01:00
Pierre Bourdon
f056cec859
Merge pull request #11480 from Pokechu22/dsp-code-alignment
...
DSPLLE: Add assertion for bad DMA alignment
2023-01-26 23:17:09 +01:00
Pierre Bourdon
9c9310bf44
Merge pull request #11208 from TellowKrinkle/CPUCull
...
Cull vertices on the CPU
2023-01-26 23:15:23 +01:00
Pierre Bourdon
c6a7465529
Merge pull request #11485 from MayImilae/remove-filepath-from-states-messaging
...
Remove Filepath from State Save/Load OSD Messages
2023-01-26 05:29:21 +01:00
Lioncash
0d93a31a38
Common/BitSet: Zero initialize data member
...
Gets rid of the need to remember to initialize them in the constructor,
except when overriding the default initializer.
2023-01-25 04:16:30 -05:00
Lioncash
6446fa7e48
Common/Bitset: Make initializer_list constructor constexpr
...
This was able to be constexpr since C++14.
2023-01-25 04:13:05 -05:00
TellowKrinkle
7413be1487
VideoCommon: Add configuration option for CPUCull
2023-01-25 02:21:56 -06:00
TellowKrinkle
a0e6d7c173
VideoCommon: Explicitly disable fp_contract for CPUCull
2023-01-25 02:21:56 -06:00
TellowKrinkle
1be0149146
VideoCommon: Cull vertices on the CPU
2023-01-25 02:21:56 -06:00
TellowKrinkle
b170ef9651
VideoCommon: Add class for quickly transforming and culling vertices on the CPU
2023-01-25 02:21:56 -06:00
Admiral H. Curtiss
6db2171fd0
Merge pull request #11488 from lioncash/point
...
StringUtil: Make StringUTF8CodePointCount take string_view
2023-01-25 02:33:22 +01:00
Admiral H. Curtiss
9fc959cab0
Merge pull request #11489 from lioncash/init
...
CoreTiming: Zero initialize all CoreTimingManager throttle members
2023-01-25 02:29:32 +01:00
Lioncash
3607c1dc7d
CoreTiming: Zero initialize all CoreTimingManager throttle members
...
Gives two members without explicit initialization default values to be
consistent with the rest of the class and also ensuring deterministic
values on construction.
2023-01-24 17:20:08 -05:00