Commit Graph

33371 Commits

Author SHA1 Message Date
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
Charles Lombardo be8cbe3c66
Merge pull request #11513 from JosJuice/android-scaled-int-setting
Android: Create ScaledIntSetting class
2023-01-31 01:05:36 -05: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
Charles Lombardo 12b8b44a08 Android: Simplify the grid options dialog fragment 2023-01-30 17:09:16 -05:00
JosJuice c63eb75435
Merge pull request #11520 from lioncash/undefined
Common/Network: Resolve -Wexpansion-to-defined warning
2023-01-30 21:17:11 +01:00
TellowKrinkle 600ad5f498 VideoCommon: Better logic op invert approximation 2023-01-30 14:04:37 -06:00
JosJuice 43194b2742
Merge pull request #11519 from lioncash/android
AndroidCommon: Make use of std::string_view where applicable
2023-01-30 20:21:44 +01: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
JosJuice 2e8ad9f105 Android: Create ScaledIntSetting class
A little refactoring to cut down on the size of the very big
SettingsFragmentPresenter class.

I ended up adding a bunch of @NonNull annotations in various settings
classes so I could make the parameters `Settings` instead of `Settings?`
in the new Kotlin code.
2023-01-30 20:07:09 +01:00
JosJuice f0b833a639
Merge pull request #11518 from t895/deprecated-setting
Android: Remove unused force filtering setting
2023-01-30 19:56:44 +01:00
Charles Lombardo 96bc0a3063 Android: Remove unused force filtering setting 2023-01-30 13:38:39 -05:00
JosJuice 65c782b3b9
Merge pull request #11517 from t895/slider-setting-adjustment
Android: Set each slider step size manually
2023-01-30 19:32:18 +01:00
Lioncash 5c1954c843 AndroidCommon: Make use of std::string_view where applicable
Several of these can take a string_view rather than needing to
specifically use std::string.
2023-01-30 13:30:52 -05:00
Charles Lombardo 26c8440ae1 Android: Set each slider step size manually 2023-01-30 13:17:02 -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 fa1fec7d48
Merge pull request #11510 from TellowKrinkle/FmtImport
CMake: Use imported target for fmt in tests
2023-01-30 09:10:22 +01:00
Admiral H. Curtiss 071ee3d85e
Merge pull request #11512 from JosJuice/android-mem2-crash
Android: Fix crash when attempting to change MEM2 size
2023-01-30 09:07:56 +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
JosJuice 00fdf1ddce Android: Fix crash when attempting to change MEM2 size
The step size for the slider ended up being 10, but Android wanted it
to be a divisor of the slider's range (which is 128 - 64 = 64).
2023-01-29 23:35:54 +01:00
TellowKrinkle 07e98c7790 CMake: Use imported target for fmt in tests
This properly adds the header include paths when using system fmt
2023-01-29 14:37:54 -06: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
Pierre Bourdon 05b77925cb
Merge pull request #11460 from t895/reveal-settings
Android: Reveal several hidden settings
2023-01-29 07:00:38 +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
JosJuice 3e21ba55f1
Merge pull request #11496 from t895/analytics-dialog-kotlin
Android: Convert analytics dialog to Kotlin
2023-01-28 20:03:49 +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
Charles Lombardo ab817dcaed Android: Convert Analytics to Kotlin 2023-01-26 21:14:35 -05:00
Charles Lombardo 14c7d81b54 Android: Create analytics dialog fragment 2023-01-26 20:42:39 -05:00
OatmealDome a534af4dd6 Android: Don't enforce a particular CMake version 2023-01-26 18:46:31 -05: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
Pierre Bourdon 6fad8ac389
Merge pull request #11467 from Simonx22/remove-titlebar-fps-counter
Core: Remove FPS, VPS and speed percentage from window title
2023-01-24 23:04:29 +01:00
Lioncash 1d03835c5d StringUtil: Make StringUTF8CodePointCount take string_view
There's nothing really about this that would need to constrain it to
only std::string instances.
2023-01-24 16:55:43 -05:00
Lioncash e5b91f00b0 Common: Replace StringBeginsWith/StringEndsWith with std equivalents
Obsoletes these functions in favor of the standard member functions
added in C++20.
2023-01-24 14:58:20 -05:00
Mai ba6ee9d7ba
Merge pull request #11413 from t895/sample-window-slider
Android: Add slider for Performance Sample Window
2023-01-24 17:22:11 +00:00
Mai f4a8f80228
Merge pull request #11482 from t895/rtl-fixes
Android: Fix RTL layout in several views
2023-01-24 16:52:06 +00:00
Mai cb55921971
Merge pull request #11443 from t895/agp-upgrade-eel
Android: Update build tools and dependencies
2023-01-24 16:50:40 +00:00
Mai b6d2cf5e30
Merge pull request #11483 from t895/grid-option-fix
Android: Fix grid options menu string
2023-01-24 16:49:19 +00:00
Mai 5525f011be
Merge pull request #11436 from shuffle2/msvc-Zc
msvc: update c++ conformance flags
2023-01-24 16:46:14 +00:00
MayImilae ed121ee679 Removed filepath from State Save/Load OSD messages
Though less important compared to #11470, save states also show the full path in the OSD message and could potentially dox a streamer who is playing in Dolphin. This is a simple fix - it removes the path from the message and only displays the file name.
2023-01-24 07:55:58 -08:00
Charles Lombardo c3a1a7d924 Android: Fix rtl layout in cheat details fragment 2023-01-24 08:41:20 -05:00
Charles Lombardo 7741046e6f Android: Fix rtl layout for about dialog 2023-01-24 08:41:20 -05:00
Charles Lombardo 8d5967ad87 Android: Fix rtl layout on game details dialog 2023-01-24 08:41:20 -05:00
Charles Lombardo d61dbd06a6 Android: Fix rtl layout for cheat warning fragment 2023-01-24 08:25:47 -05:00
Charles Lombardo 2904e28d91 Android: Fix rtl layout for cheat list items 2023-01-24 08:25:47 -05:00
Charles Lombardo 3fa08833ff Android: Fix rtl layout for multiple settings activity views 2023-01-24 08:25:47 -05:00
Charles Lombardo dc11180784 Android: Fix rtl layout for control dialogs 2023-01-24 08:25:47 -05:00
Charles Lombardo 3e1a096f7f Android: Fix rtl layout in convert activity 2023-01-24 08:25:47 -05:00
Charles Lombardo 82d0501fc8 Android: Fix rtl layout for in-game menu fragment 2023-01-24 08:25:47 -05:00
Charles Lombardo 9bccf58fdb Android: Fix rtl layout for grid options dialog 2023-01-24 08:25:47 -05:00
Charles Lombardo ab0ab1aa7d Android: Fix rtl layout in riivolution boot activity 2023-01-24 08:25:47 -05:00
Charles Lombardo b35ee27568 Android: Fix rtl layout in user data activity 2023-01-24 08:25:47 -05:00
Charles Lombardo cd7251cd3a Android: Fix rtl layout on card_game 2023-01-24 08:25:46 -05:00
Shawn Hoffman a184d70193 convert File::ScanDirectoryTree to std::filesystem 2023-01-24 05:15:11 -08:00
Shawn Hoffman 7e6436db34 fileutil: use std::filesystem 2023-01-24 04:51:24 -08:00
Pierre Bourdon 014d0573b8
Merge pull request #11455 from t895/about-dialog
Android: Add about dialog
2023-01-24 13:16:15 +01:00
Pierre Bourdon caca662dbf
Merge pull request #10994 from shuffle2/fs
get rid of HAS_STD_FILESYSTEM
2023-01-24 12:18:25 +01:00
Admiral H. Curtiss d4d6f3db63
Merge pull request #11331 from deReeperJosh/skylandersportal
Emulate Skylanders Portals within Dolphin
2023-01-24 06:56:00 +01:00
Admiral H. Curtiss 7002831c55
Merge pull request #11465 from OatmealDome/qt6-xinput-bug
DolphinQt: Add workaround for Qt 6.3+ bug on Linux
2023-01-24 06:21:19 +01:00
Joshua de Reeper c76d2c16eb Valid block/num checks, rename variables, remove translatable strings
Capitalize Skylander in tr strings

Lint and validation method fixes

Proper Attach and Change Interface method

Re-jig code to exit early and read easier
2023-01-24 18:12:24 +13:00
Charles Lombardo 82de765106 Android: Fix grid options menu string
Previously the string was "Settings" and not "Grid Options"
2023-01-23 23:44:46 -05:00
Pokechu22 e391a28102 DSPTool: Generate an alignment specifier
alignas is a C++ keyword since C++11, and can be used in C with a header too (although I don't know the details).
2023-01-23 15:30:49 -08:00
Pokechu22 e140516130 DSPLLE: Add assertion for bad DMA alignment
I haven't tested this extensively on real hardware, but I do know that bad things happen if the address isn't properly aligned, and libogc says it should be 32-byte aligned.
2023-01-23 15:20:49 -08:00
Simonx22 df6f070a55 Core: Remove FPS, VPS and speed percentage from window title 2023-01-23 21:32:50 +01:00
JosJuice d0da689eeb DolphinQt: Add i18n comments for strings containing the word "watches"
These new strings could use the same clarification as we have for
the existing string "&Delete Watch".
2023-01-23 20:49:22 +01:00
Charles Lombardo 860f56150a Android: Add safeguards around skip ipl setting
A user shouldn't be able to disable "skip ipl" when they don't have a bios file. This finds the ipl file and tells the setting when toggling is allowed. Additionally, if the user previously disabled the option and then deletes their ipl file, they will be allowed to enable it but toggling will be disabled afterwards.
2023-01-23 12:48:27 -05:00
Pierre Bourdon 8d477c65c9
Merge pull request #11458 from shuffle2/winuver
windows: prefer os version from registry
2023-01-23 15:53:41 +01:00
Pierre Bourdon a8a4b9c6d0
Merge pull request #11475 from shuffle2/comdef
windows: replace comdef dependency with winrt
2023-01-23 15:52:51 +01:00
Shawn Hoffman e5f3a0a9bc buildfix if discord isn't enabled 2023-01-23 06:39:41 -08:00
Shawn Hoffman c338f9e2a1 windows: replace comdef dependency with winrt 2023-01-23 06:09:01 -08:00
Admiral H. Curtiss 8032a71c4c
Merge pull request #11471 from MayImilae/dont-update-titlebar-with-osd-messages
Don't Write OSD Messages to the Titlebar
2023-01-23 06:46:32 +01:00
MayImilae 9df1f0276d Don't Write OSD Messages to the titlebar
Turns out all OSD messages, every single one, are written to the titlebar. We've just never seen them because the FPS is in the title bar and it replaces it in a fraction of a second. This was only visible when saving savestates because it halts emulation for a moment while writing.

This is dumb, let's not do that anymore.
2023-01-22 00:19:51 -08:00
Pierre Bourdon 0eb984f030
Merge pull request #11470 from MayImilae/remove-memory-card-path-from-osd-message
Remove Memory Card Path from the Wrote to OSD Message
2023-01-22 08:13:51 +01:00
MayImilae ef0d386954 Remove Memory Card Path from the Wrote OSD Message
A few weeks ago, a vtuber tweeted that they had to remove a vod of their stream because Dolphin Emulator showed some personal information during the steam, and left a warning to everyone else that Dolphin shows the account name of the computer. And yea, we do, we show the full directory of the memory card every time a memory card is written, and due to mandatory Microsoft account nonsense, that is very likely to contain someone’s real name.

Fortunately this is very easy for us to solve. This change simply removes the filename from wrote memory card contents string. That’s it. All functionality of the wrote memory card OSD message remains the same, it just doesn’t say where the memory card is anymore.

There are lots of other potential solutions to this but after talking on IRC it seems the simplest one is the best.
2023-01-21 21:19:51 -08:00
Joshua de Reeper 18fd0d7dcd Use Core timing instead of thread
Skylander code tidy ups

Convert c array to std::array and fix comments

Formatting fixes/review changes

Variable comment

Migrate portal to System Impl and code tidy ups

Use struct

Restore review changes

Minor fix to schedule transfer method

Change descriptors to hex and fix comments
2023-01-22 14:50:30 +13:00
Joshua de Reeper f76a6789a0 Emulate Skylanders within Dolphin
Ported the code from RPCS3, with improvements made to the handling of control messages and audio transfers, Co-Authored with @mandar1jn

Missing new line chars

Co-Authored-By: mandar1jn <49076509+mandar1jn@users.noreply.github.com>
2023-01-22 14:50:30 +13:00
Pierre Bourdon 9fe1d80920
Merge pull request #11457 from delroth/remove-stable-track
DolphinQt/Settings: remove 'stable' track from auto-updater options
2023-01-21 06:48:04 +01:00
Pokechu22 597f8f1b87 Externals: Convert gtest to a submodule and update to v1.12.1 2023-01-20 11:43:34 -08:00
OatmealDome d40dbe4670 DolphinQt: Add workaround for Qt 6.3+ bug on Linux
See https://bugs.dolphin-emu.org/issues/12913 for more information.
2023-01-20 03:06:04 -05:00
shockdude a32b85691b Fix Turntable extension's table range 2023-01-18 19:17:09 -08:00
Pierre Bourdon 8d5edb13a9
Merge pull request #11367 from Sam-Belliveau/lagbegone
VideoCommon: VI Skip
2023-01-19 01:20:01 +01:00
Charles Lombardo b598b6ec72 Android: Add about dialog 2023-01-18 15:58:06 -05:00
Charles Lombardo bbb83054af Android: Expose custom rtc options 2023-01-18 01:56:05 -05:00
Charles Lombardo d63462a14e Android: Add missing headers 2023-01-18 01:55:39 -05:00
Charles Lombardo 6448d6dbe7 Android: Expose emulated memory size override
Update BooleanSetting.java
2023-01-18 01:55:39 -05:00
Pierre Bourdon 1cd11b8f3a
Merge pull request #11381 from skyfloogle/traversal-fix-1
Netplay: Fix traversal connections occasionally not working
2023-01-17 23:40:24 +01:00
Pierre Bourdon a7d1683149
Merge pull request #11432 from Pokechu22/generic-vertex-loader-test-error
VertexLoader: Fix loading tangent/binormal caches with NormalIndex3
2023-01-17 23:30:29 +01:00
Pierre Bourdon 686ac363ba
Merge pull request #11456 from MayImilae/remove-boot-from-dvd
Remove Boot from DVD Backup
2023-01-17 23:27:59 +01:00
Pierre Bourdon c527aea40d
Merge pull request #11453 from JosJuice/revert-open-user-dir-qt-hotfix
Revert "MenuBar: Tweak string for open user folder option"
2023-01-17 23:27:09 +01:00
John Papetti e2db9cd142
NetKDTime: Use UTC timestamp 2023-01-17 13:59:01 -05:00
Charles Lombardo 96c8a7ee1f Android: Expose texture filtering options 2023-01-17 11:13:02 -05:00
Charles Lombardo 23331e4367 Android: Expose frame dump compression level 2023-01-17 11:13:02 -05:00
Shawn Hoffman dff7f20f9d windows: prefer os version from registry
this value is not modified by compatibility mode
drop reporting service pack numbers. no longer used
2023-01-17 01:38:00 -08:00
Pierre Bourdon 3342947446
DolphinQt/Settings: remove 'stable' track from auto-updater options
We've decided this track will never be used in the future. Releases will
continue using the "beta" branch internally, though we'll have the
user-visible strings use a different name instead.

(Note: Dolphin provided builds have always defaulted to 'beta' as the
auto-update track, so anyone who set 'stable' did so manually.)
2023-01-17 08:34:55 +01:00
Charles Lombardo 6373c9225b Android: Expose accurate cpu cache toggle 2023-01-17 01:10:46 -05:00
Charles Lombardo bc64392692 Android: Expose pause on panic toggle 2023-01-17 01:08:40 -05:00
Pierre Bourdon 10fd768898
Merge pull request #11420 from t895/copy-profile
Android: Copy baseline profile during release builds
2023-01-17 04:48:30 +01:00
MayImilae dcc10cff11 Remove Boot from DVD Backup
This should be a fairly easy merge, assuming I didn’t mess anything up. TL:DR no one uses it and it’s not great.

Boot from DVD Backup is an ancient feature with origins in the Megacommit. Back then, GameCube and Wii games were quite large relative to drives of the time. For example, in 2008, the most common hard drive sizes were 320GB and 512GB. On the 320GB drive I personally had at the time, as little as 42 Wii ISOs could have filled it entirely! And that’s ignoring any other files one might want to put onto a drive. Backup DVDs allowed users to burn relatively cheap DVD media and store their GameCube and Wii dumps in a Dolphin accessible way that didn’t eat into their precious HDD space. It had compromises, even then, but in 2008… I mean honestly users probably wouldn’t even notice those compromises with how Dolphin barely even worked at all back then.

Obviously, today the storage space concerns are not as big of an issue. According to seagate the average hard drive it sells today is 8TB. For typical laptops purchased now, the -minimum- selection for storage is usually 1TB. You can even buy a name brand 4TB external hard drive for $100. GC and Wii ISOs are not as big as they once were, relatively anyway. Plus flash drives and SD cards are super cheap and way faster than disc drives ever were. For anyone that has limited drive space, removable flash media can fulfill this offloading role far better than backup DVD media ever could.

Also no one has DVD drives anymore. That’s kind of an important detail.

But to see if Booting from DVD Backup even still worked, I decided to give it a try. I have an ASUS BW-16D1HT, a badass Bluray XL reading and burning drive, connected to my Windows 11 Threadripper 5975WX machine. A super fast drive on a super fast machine is as good as it possibly can get for this feature. So I bought a spindle of DVD-Rs, burned a couple of discs and gave it a try. Surprisingly, it does still work. However, as expected, it introduces a lot of stuttering. Testing Prime 1 and Prime 3, in both games stuttering was introduced whenever the DVD Drive had to suddenly seek. Spikes of 50ms occurred constantly, but I observed 150ms and even over 1000ms stutters! The worst was a three second stutter, when loading Elysia in Prime 3. I could even hear the stutters - any time the drive suddenly made a harsh seeking noise, the game would have a hard stutter. It worked but, it has some serious compromises.

Boot from DVD Backup isn’t great, using removable flash media or external hard drives is a FAR better option for anyone with limited storage space today, and no one can even use this feature anymore because their computers don’t even have disc drives. It’s time for Boot from DVD Backup to go!

So I did my best on the cleanup but I’m bound to have left some bits. Especially in translation - I didn’t get any warnings or anything there that could help point me to where to clean that up. Please review!
2023-01-16 18:32:43 -08:00
Charles Lombardo a3b7510505 Android: Expose skip main menu toggle 2023-01-16 20:39:33 -05:00
JosJuice 716dabde96
Merge pull request #11447 from t895/save-state-fix
Android: Fix large strings in save/load savestate fragment
2023-01-16 19:09:37 +01:00
JosJuice 59b276ea87
Merge pull request #11448 from t895/nav-fix-api-26
Android: Fix navigation bar buttons appearing invisible on API 26
2023-01-16 18:45:06 +01:00
JosJuice 8f88297122 Revert "MenuBar: Tweak string for open user folder option"
This reverts commit 6788bda6c9.

The user folder can be either global or local. If it is local,
we shouldn't call it global.

See also da0be24b2f.
2023-01-16 18:31:16 +01:00
Pierre Bourdon aacd66bd5b
Merge pull request #11451 from OatmealDome/open-user-dir-qt-hotfix
MenuBar: Tweak string for open user folder option
2023-01-16 10:47:27 +01:00
Pierre Bourdon bb64b0ee44
Merge pull request #10708 from OatmealDome/win-user-dir
UICommon: Change default user directory location to AppData on Windows
2023-01-16 10:34:41 +01:00
OatmealDome 6788bda6c9 MenuBar: Tweak string for open user folder option 2023-01-16 04:31:12 -05:00
OatmealDome 869aa9eb55 MenuBar: Add action which opens the user folder 2023-01-16 04:08:19 -05:00
OatmealDome cc68d5321f UICommon: Set UserConfigPath in the registry to AppData User for backwards compatibility 2023-01-16 01:37:14 -05:00
OatmealDome 3896934d5e UICommon: Use the old User directory in Documents if it exists 2023-01-16 01:37:14 -05:00
OatmealDome 75d87ff90e UICommon: Change default User directory location to AppData 2023-01-16 01:37:14 -05:00
Charles Lombardo b1e05c9125 Android: Remove pre-generated baseline profile 2023-01-15 21:16:55 -05:00
Charles Lombardo 19aa9247be Android: Copy baseline profile during release builds 2023-01-15 21:16:55 -05:00
Scott Mansell 7c202ab411 Reset throttle on savestate load 2023-01-16 14:18:42 +13:00
Charles Lombardo dbe03a4f76 Android: Fix navigation bar buttons appearing invisible on API 26 2023-01-15 18:36:22 -05:00
Charles Lombardo 76ca57ef2e Android: Fix large strings in save/load savestate fragment 2023-01-15 17:49:48 -05:00
JMC47 30f0051f9c
Merge pull request #11440 from JosJuice/jit64-negative-guard
Core: Allocate 2 GiB of guard pages below fastmem area
2023-01-14 19:19:53 -05:00
Charles Lombardo 33c5f7a129 Android: Update benchmark module dependencies
Androidx JUnit 1.1.4 -> 1.1.5
Androidx Espresso 3.5.0 -> 3.5.1
2023-01-14 18:41:18 -05:00
Charles Lombardo 005d7574aa Android: Update app module dependencies
Androidx Fragment 1.5.4 -> 1.5.5
Androidx AppCompat 1.5.1 -> 1.6.0
Androidx Profile Installer 1.2.1 -> 1.2.2
Core android library desugaring libraries 1.1.5 -> 2.0.0
2023-01-14 18:39:43 -05:00
Charles Lombardo 45cdc7357a Android: Upgrade Java bytecode from 1.8 to 11 2023-01-14 18:35:32 -05:00
Charles Lombardo 27466fd5f9 Android: Upgrade AGP from 7.3.1 to 7.4.0 2023-01-14 18:30:07 -05:00
Charles Lombardo 054b2219d4 Android: Upgrade gradle from 7.5.1 to 7.6 2023-01-14 18:29:39 -05:00
JosJuice 4fa9fa997e Core: Allocate 2 GiB of guard pages below fastmem area
See the comment added by this commit. We were previously guarding against
overshooting in address calculations, but not against undershooting.
Perhaps someone assumed that the displacement of an x86 loadstore was
treated as unsigned?

Note: While the comment says we can undershoot by up to 2 GiB, in
practice Jit64 as it currently behaves won't actually undershoot by more
than 0x8000 if my analysis is correct. But address space is cheap, so
let's guard the full 2 GiB.
2023-01-14 20:35:50 +01:00
JosJuice 9c90b31e6a Memmap: Remove some remnants from the 32-bit JITs 2023-01-14 11:46:37 +01:00
JosJuice 9d350fd56b
Merge pull request #11437 from t895/grid-options-fix
Android: Fix grid options text borders
2023-01-14 09:42:56 +01:00
Sam Belliveau 23ad07b368 Add VISkip 2023-01-14 01:56:37 -05:00
JMC47 8a1cac9be1
Merge pull request #11348 from Sam-Belliveau/improved-pacing
CoreTiming: Throttle Before Every Event Using std::chrono
2023-01-13 21:52:07 -05:00
Pokechu22 3910bdd68b VertexLoader: Don't write position_cache if vertex is skipped
This is the behavior in the x64 and ARM64 vertex loaders. I don't know if it makes sense (the whole skipped vertex system seems jank, but several games behave incorrectly without it).
2023-01-13 15:38:00 -08:00
Pokechu22 16c0593a52 VertexLoader: Fix loading tangent/binormal caches with NormalIndex3 2023-01-13 15:38:00 -08:00
Pokechu22 2d53b73643 VertexLoaderTester: Add assertions for position/binormal/tangent caches 2023-01-13 15:38:00 -08:00
Pokechu22 c681d96d46 VertexLoaderTester: Use asserts instead of logs
Logs don't show up in unit tests, and since this is debugging functionality (though not enabled for tests by default) it's better to do it this way.
2023-01-13 15:38:00 -08:00
Pokechu22 92b6446da1 UnitTests: Add custom main that calls RegisterMsgAlertHandler
This prevents a failed assertion from hanging on the MSVC buildbots.
2023-01-13 15:38:00 -08:00
Sam Belliveau e849172dc9 Limit Throttling to 1200hz 2023-01-13 18:17:24 -05:00
Charles Lombardo 4f397edab3 Android: Fix grid options text borders
Previously on displays with a small width, text would appear under the switch. Now the text will break into a new line.
2023-01-13 17:02:53 -05:00
Charles Lombardo 937e08980e Android: Change slider step size based on range
Credit to JosJuice for the slider formula
2023-01-13 16:32:09 -05:00
Charles Lombardo e70b57fe8a Android: Adjust width of slider value text view 2023-01-13 16:32:09 -05:00
Charles Lombardo 27e64e6855 Android: Add Performance Sample Window slider 2023-01-13 16:32:09 -05:00
Sam Belliveau e95c1d55e8 Limit Sleep Calls to 8192hz at most 2023-01-13 11:59:32 -05:00
Shawn Hoffman 2a5c699489 msvc: note some things to enable in vs 17.5 2023-01-13 01:36:03 -08:00
Shawn Hoffman 9723dba780 msvc: set /Zc:enumTypes 2023-01-13 01:35:17 -08:00
Shawn Hoffman 07de7337eb msvc: dont explicitly set /Zc:lambda
it's implied by /std
2023-01-13 01:26:23 -08:00
Momo Cao 05ed25d482 DolphinQt: Add button to open graphics mod folder on settings 2023-01-12 21:47:18 -05:00
Pokechu22 7abee1a97b DolphinQt: Fix typo in GBA TAS input window
This generated a warning on GCC about the operation being potentially undefined (-Wsequence-point). I'm not sure if that was actually the case, but either way it is a mistake.
2023-01-12 14:33:58 -08:00
OatmealDome 5c80a9fd87 CMakeLists: Copy LICENSE files when building for Steam Runtime 2023-01-10 23:21:24 -05:00
OatmealDome fff13c385f CMakeLists: Copy entire plugins folder on Steam Runtime build 2023-01-10 23:21:24 -05:00
JosJuice 9d81c84db0
Merge pull request #11427 from UltraHDR/patch-1
Set LSApplicationCategoryType to games
2023-01-10 19:00:26 +01:00
Charles Lombardo 6b97b64e93 Android: Ignore workaround view height if 0 2023-01-10 12:01:54 -05:00
Shawn Hoffman d51e4e5236 get rid of HAS_STD_FILESYSTEM
just use std::filesystem
2023-01-10 05:17:43 -08:00
UltraHDR 18454906cf
Set LSApplicationCategoryType to games
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the Launchpad Games folder
2023-01-10 11:34:42 +00:00
Charles Lombardo 7fe2faff4a Android: Expose "Log Render Time to File" toggle 2023-01-09 23:29:31 -05:00