Commit Graph

37253 Commits

Author SHA1 Message Date
b3f50c969e VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded 2025-06-06 23:03:02 -05:00
3b83907b88 VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00
d940d62cae VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures) 2025-06-06 23:03:02 -05:00
7afa9e6c6f VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures 2025-06-06 23:03:02 -05:00
12d178a8df VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down 2025-06-06 23:03:02 -05:00
f910c1d934 Core: add CustomResourceManager to System 2025-06-06 23:03:02 -05:00
70abcb2030 VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2025-06-06 23:03:02 -05:00
d8ea31ca46 VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData. Move validation and load logic to individual functions 2025-06-06 23:03:02 -05:00
2ae43324cb VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later 2025-06-06 23:03:02 -05:00
7d59c2743d Common: Add class 'FilesystemWatcher' that is used to watch paths and receive callbacks about filesystem level events for anything under that path 2025-06-06 23:03:02 -05:00
8113399b68 Externals: add watcher, a library used to watch a filesystem location for changes 2025-06-06 23:03:02 -05:00
bafe78203d VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for asset times 2025-06-06 23:03:02 -05:00
15f125ebee VideoCommon: change asset loading to return the number of bytes loaded instead of a pass/fail 2025-06-06 23:03:02 -05:00
316740daed VideoCommon: add 'Unload' functionality to CustomAsset 2025-06-06 23:03:02 -05:00
9ec69b5925 VideoCommon: add a handle to custom asset, this is an id that is only relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id 2025-06-06 19:20:25 -05:00
d7de49ccf6 Core / VideoCommon: Remove original custom asset loader 2025-06-06 19:20:25 -05:00
5ec5db9240 Merge pull request #13392 from jordan-woyak/frame-pacing-accurate-time
CoreTiming: Add setting to pursue accurate overall emulation runtime
2025-06-06 19:17:44 -04:00
974c56d3c5 Merge pull request #13731 from iwubcode/pixel_shader_gen_fix_complete_initialize
VideoCommon: ensure pixel shader gen input structure is completely initialized
2025-06-06 19:08:57 -04:00
b1d114f7f7 Merge pull request #13730 from jordan-woyak/controllers-on-main-config-dialog
DolphinQt: Move "Controllers" to main settings window.
2025-06-06 18:54:12 -04:00
a0611b512b Merge pull request #13713 from Dentomologist/filesystemwidget_center_header_text
FilesystemWidget: Center header text
2025-06-05 14:34:36 -05:00
ea959f2651 DSP/Jit: Don't return to dispatcher if no exception was generated 2025-06-05 20:57:27 +02:00
a43fc68452 DSPAnalyzer: Set store instructions as potentially generating exceptions 2025-06-05 19:10:42 +02:00
ae26b38fc0 VideoCommon: fix pixel shader gen error about structure not being fully initialized 2025-06-05 01:37:45 -05:00
b9bea58f0f DolphinQt: Move "Controllers" to main settings window. 2025-06-04 19:33:01 -05:00
b7fb2fa737 Merge pull request #13728 from JosJuice/android-uses-microphone
Android: Add android.hardware.microphone to manifest
2025-06-04 23:37:17 +02:00
8665b22822 Merge pull request #13651 from jordan-woyak/config-list
DolphinQt: Change Config QTabWidget into a QListWidget and QStackedWidget.
2025-06-04 16:01:51 -04:00
5d2518d490 Android: Add android.hardware.microphone to manifest
Google Play is now blocking distribution for Android TV unless we
explicitly set the android.hardware.microphone hardware feature as
android:required="false", because it's inferring
android.hardware.microphone from the android.permission.RECORD_AUDIO we
added for Wii Speak emulation, with android:required defaulting to true.
I was under the belief that setting android:required="false" on
android.permission.RECORD_AUDIO would solve this, but looking closer at
the definition of <uses-permission>, it doesn't actually support
android:required attributes, so that presumably has no effect.
2025-06-04 21:30:51 +02:00
3f090dd474 Merge pull request #13681 from iwubcode/material_overhaul_custom_vertex
VideoCommon: move vertex shader gen logic to a 'process_vertex()' for use in future custom shaders
2025-06-04 15:27:47 -04:00
8def02072b Merge pull request #13379 from JoshuaVandaele/system-ng
Use minizip-ng in non-compatibility mode
2025-06-04 15:21:05 -04:00
19a3f25a71 Merge pull request #13723 from Dentomologist/wavefile_add_prefix_to_member_variables
WaveFile: Add m_ prefix to member variables
2025-06-04 13:11:14 -05:00
61ccdb0a3c WaveFile: Add m_ prefix to member variables 2025-06-01 11:41:09 -07:00
31d0756808 Config: Make s_callbacks_lock recursive to fix hardcore mode deadlock. 2025-05-30 17:33:01 -05:00
3dc1605569 FilesystemWidget: Center header text
Center header text to match all the other headers.
2025-05-27 12:34:20 -07:00
aafe961177 DolphinQt: Make GeckoCodeWidget default size not taller than it needs to be. 2025-05-26 20:58:48 -05:00
eed7843d4a DolphinQt: Add stretch to the end of the game config Info tab. 2025-05-26 20:58:48 -05:00
1e4dfc0956 DolphinQt: Fix the WiiPane hinting a larger than required size. 2025-05-26 20:58:48 -05:00
5bc661aeca DolphinQt/AudioPane: Fix Volume QGroupBox title uglyness on Windows and inconsistent percent-sign spacing. 2025-05-26 20:58:48 -05:00
fcff7a3a49 DolphinQt: Fix FilesystemWidget QTreeView visual style. 2025-05-26 20:58:48 -05:00
543b85a451 DolphinQt: Make WrapInScrollArea and GetWrappedWidget less hacky. 2025-05-26 20:58:48 -05:00
e796e82e8c DolphinQt: Change game properties QTabWidget to QListWidget. 2025-05-26 20:58:48 -05:00
2b9935e6f4 DolphinQt: Change main settings window QTabWidget into a QListWidget and QStackedWidget. 2025-05-26 20:58:48 -05:00
4e8a863d8b Merge pull request #13709 from JosJuice/hide-header-bin
Hide DirectoryBlob header.bin files from game list
2025-05-26 19:41:07 +02:00
66f181a621 Hide DirectoryBlob header.bin files from game list
This is a continuation of 552b6da. That commit hid sys/boot.bin, but not
disc/header.bin, which is only present for Wii games.

Fixes https://bugs.dolphin-emu.org/issues/13810.
2025-05-25 20:37:52 +02:00
18a78a9bab Merge pull request #13647 from jordan-woyak/sha1-avoid-memcpy
Crypto/SHA1: Re-add memcpy avoiding optimization to BlockContext::Update.
2025-05-25 12:40:43 +02:00
776086fa1c Merge pull request #13692 from jordan-woyak/work-queue-thread-command-queue
WorkQueueThread: Fix Cancel() race with internal command queue.
2025-05-24 16:26:10 +02:00
b23dddea4e VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, to eventually allow for custom shaders to override vertex logic 2025-05-24 01:27:58 -05:00
35d70fd531 IOS/KD: Set Checksum when flushing NWC24Config 2025-05-23 18:01:06 -04:00
7c8d53a51d Merge pull request #13699 from JosJuice/force-typo
DolphinQt: Fix verb agreement in Immediate XFB description
2025-05-22 23:22:53 +02:00
260f0225a4 DolphinQt: Don't translate Wii Speak OSD string
We have a general policy of not translating OSD strings due to the OSD
font not having good enough support for languages other than English.
2025-05-22 16:51:28 +02:00
98b0d1db05 DolphinQt: Fix verb agreement in Immediate XFB description 2025-05-22 16:48:10 +02:00