lat9nq
d3748cad73
emu_window_sdl2_vk: Use the generated SDL config
...
On Linux, due to the way we include SDL2 as a submodule, it makes it
difficult for us to specify which SDL_config.h we intended to include.
Before, CMake would default to the dummy one included with SDL and
ignore the generated one.
This tells CMake to use the generated one. In addition, we define
USING_GENERATED_CONFIG_H to throw an error in case the dummy config is
used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
2021-07-16 15:43:02 -04:00
Morph
b804f77fa5
configure_audio: Fix volume clamping to 0
2021-07-16 10:36:08 -04:00
lat9nq
15ed73a6eb
yuzu_cmd: Add missing or update current settings
...
Many settings in common/settings.h are missing from yuzu-cmd, either
they were added to default_ini.h but not read in, or vice versa, or the
setting was altogether omitted from yuzu-cmd. Some defaults were
reported wrong, so those were fixed where noticed.
2021-07-16 02:46:14 -04:00
german77
240019feca
input_common: Make button threshold customizable
2021-07-15 23:56:57 -05:00
lat9nq
7dfd2715b7
default_ini: Remove deprecated settings
...
These settings are not being read in config.cpp AND they do not exist in
common/settings.h. Remove their references.
2021-07-15 23:27:42 -04:00
bunnei
3cd3230295
Merge pull request #6579 from ameerj/float-settings
...
settings: Eliminate usage of float-point setting values
2021-07-15 18:03:11 -04:00
german77
c7478642a6
input_common: Support SDL toggle buttons
2021-07-15 14:31:58 -05:00
Fernando S
96703b82bc
Merge pull request #6635 from ameerj/intel-vk-sm3dw
...
vk_rasterizer: Only clear valid color attachments
2021-07-15 16:52:51 +02:00
Fernando S
da4ca4f2f9
Merge pull request #6525 from ameerj/nvdec-fixes
...
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
2021-07-15 15:17:50 +02:00
ameerj
b7fa264749
vic: Fix dimension compuation of YUV frames
...
Fixes out of bound memory crashes in Mario Golf
2021-07-15 00:51:50 -04:00
Morph
0d88a2bc05
applets/web: Resolve Nintendo CDN URLs
...
This fixes the hint videos in New Super Mario Bros. U Deluxe
2021-07-15 00:31:46 -04:00
ameerj
8943f2158d
nvhost_nvdec_common: Read Submit ioctl data from object addr
...
Fixes Mario Golf intro video decoding.
2021-07-14 23:56:24 -04:00
ameerj
3f601ed8bc
nvhost_nvdec_common: Fix {Slice/Write}Vectors return
...
Plus some minor cleanup for consistency.
2021-07-14 22:30:58 -04:00
Fernando Sahmkow
1ae4b684ff
Buffer cache: Fixes, Clang and Feedback.
2021-07-15 02:02:08 +02:00
Fernando Sahmkow
1a95a7cdd9
GPUMemoryManager: Force inmediate invalidation when writting block.
2021-07-14 18:39:31 +02:00
Fernando Sahmkow
a0eb3f8a3e
Buffer Cache: Fixes to DMA Copy.
2021-07-14 18:25:33 +02:00
Fernando Sahmkow
495b8e31b5
DMAEngine: Revert flushing from Pitch to BlpockLinear.
2021-07-14 16:44:53 +02:00
Fernando Sahmkow
8039be8b19
BufferCache: fix clearing on forced download.
2021-07-14 16:44:15 +02:00
Morph
c6d7da88c7
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
79824d7d1b
applets: Append applet_ prefix to backend applets
2021-07-14 01:07:09 -04:00
Morph
9a48f252ae
applets: Append qt_ prefix to Qt frontend applets
2021-07-14 01:07:09 -04:00
Ameer J
f2599534f8
Merge pull request #6599 from german77/disable_rumble
...
npad: Disable vibration check if disabled
2021-07-13 16:11:59 -04:00
ameerj
e0978931e8
vk_rasterizer: Only clear valid color attachments
2021-07-13 16:04:27 -04:00
bunnei
00ce8eff65
Merge pull request #6574 from lioncash/i18n
...
qt/main: Make title string more i18n-friendly
2021-07-12 22:12:09 -07:00
bunnei
af79911017
Merge pull request #6593 from german77/no_sdl
...
input_common: Fix build with SDL disabled
2021-07-12 22:11:39 -07:00
bunnei
b8becb0608
Merge pull request #6615 from ReinUsesLisp/httplib-debug-warnings
...
boxcat,web_service: Silence -Wmaybe-uninitialized when including httplib.h
2021-07-12 22:11:19 -07:00
bunnei
81b2ba1479
Merge pull request #6618 from ReinUsesLisp/bad-ranges
...
content_archive: Remove unnecessary include to <ranges>
2021-07-12 22:10:50 -07:00
bunnei
7d464f73c9
Merge pull request #6571 from Kelebek1/Mix
...
audio_core: Replace NaN mix volume samples with silence
2021-07-12 22:09:05 -07:00
Fernando Sahmkow
b780d5b5c5
DMAEngine: Accelerate BufferClear
2021-07-13 03:49:47 +02:00
Ameer J
776f391ff6
Merge pull request #6597 from FernandoS27/accelerate-dma
...
DMAEngine: Introduce Accelerate DMA.
2021-07-12 12:49:11 -04:00
Fernando Sahmkow
bc19d28963
accelerateDMA: Fixes and feedback.
2021-07-12 10:33:35 +02:00
ReinUsesLisp
1ef64112b3
content_archive: Remove unnecessary include to <ranges>
...
Fixes build issues on clang.
2021-07-12 03:37:56 -03:00
ReinUsesLisp
4503a4ac43
web_service: Silence -Wmaybe-uninitialized on httplib.h
2021-07-12 03:30:45 -03:00
ReinUsesLisp
69214ef678
boxcat: Silence -Wmaybe-uninitialized in httplib.h
2021-07-12 03:30:45 -03:00
Morph
1bfe950acb
Merge pull request #6576 from ameerj/unlock-fps-setting
...
settings: Disable FPS unlimit setting between title launches
2021-07-11 13:59:06 -04:00
german77
ed5f1a45b7
npad: Disable vibration check if disabled
2021-07-10 20:06:07 -05:00
german77
289f59dabd
input_common: Fix build with sdl disabled
2021-07-10 20:02:02 -05:00
Fernando Sahmkow
be1a3f7a0f
accelerateDMA: Accelerate Buffer Copies.
2021-07-11 01:33:17 +02:00
Fernando Sahmkow
977904dd84
Buffer Cache: Address Feedback.
2021-07-10 21:34:55 +02:00
ameerj
58219d1f36
settings: Disable FPS unlimit setting between title launches
...
Some titles crash if the FPS limit is disabled when launching. This change ensures that titles launch with the limit in-place to avoid issues.
In order to simplify the change, the UI toggle was removed as it will always be overridden at launch to be disabled.
The setting can still be toggled during gameplay with the hotkey, and indicated by the fps label in the status bar.
2021-07-10 15:11:17 -04:00
Fernando Sahmkow
5e78ad4378
Buffer Cache: Fix GCC copmpile error
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
4a09517336
Fence Manager: remove reference fencing.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
2c8f4ed27f
BufferCache: Additional download fixes.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
f75544a943
Buffer Cache: Revert unnecessary range reduction.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
cf38faee9b
Fence Manager: Force ordering on WFI.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
73638ca593
Buffer Cache: Eliminate the AC Hack as the base game is fixed in Hades.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
63915bf2de
Fence Manager: Add fences on Reference Count.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
35327dbde3
Videocore: Address Feedback & CLANG Format.
2021-07-09 22:20:36 +02:00
Fernando Sahmkow
0e4d4b4beb
Buffer Cache: Fix High Downloads and don't predownload on Extreme.
2021-07-09 22:20:36 +02:00
Fernando S
7dca756f30
Merge pull request #6573 from lat9nq/cpu-settings-cleanup-2
...
core,common,yuzu qt: Add CPU accuracy option 'Auto'
2021-07-09 21:45:45 +02:00
lat9nq
420987c5bf
yuzu qt: config: Only save renderer_debug as a global setting
...
This is a bug fix. Enabling graphics debug mode, then saving a custom
configuration causes graphics debugging to be saved and read from the
custom configuration.
Isolate it the same way we isolate the CPU settings.
2021-07-09 10:49:56 -04:00
ReinUsesLisp
5a45d295da
vk_buffer_cache: Use emulated null buffers for transform feedback
...
Vulkan does not support null buffers on transform feedback bindings.
Emulate these using the same null buffer we were using for index
buffers.
2021-07-09 01:27:47 -03:00
ameerj
0ed1077763
configure_input: Use u8 for mouse sensitivity
2021-07-08 23:24:31 -04:00
ameerj
f9139ddab7
config: Remove float {Read,Write}Setting variants
2021-07-08 22:04:24 -04:00
ameerj
8284658bac
configure_graphics: Use u8 for bg_color values
2021-07-08 21:45:01 -04:00
ameerj
386cd45f07
configure_audio: Use u8 for volume value
2021-07-08 20:58:38 -04:00
ReinUsesLisp
0ddbbb64e5
common/thread_worker: Stop workers on stop_token when waiting
2021-07-08 19:03:26 -03:00
ReinUsesLisp
da34d37044
common/thread_worker: Add support for stateful threads
2021-07-08 19:03:26 -03:00
FernandoS27
c147e9a90e
common/thread_worker: Simplify logic
2021-07-08 19:03:26 -03:00
FernandoS27
a10e112e64
common/thread_worker: Fix data race
2021-07-08 19:03:26 -03:00
ReinUsesLisp
bf5b5c1bf4
common/thread_worker: Use unique function
2021-07-08 19:03:26 -03:00
ReinUsesLisp
2c8d337418
common: Add unique function
2021-07-08 19:03:19 -03:00
ReinUsesLisp
f28dd32275
common/thread_worker: Add wait for requests method
2021-07-08 19:00:39 -03:00
lat9nq
dc06e11a7b
settings, arm_dynarmic, yuzu qt: Move CPU debugging option
...
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
2021-07-08 16:56:44 -04:00
lat9nq
eebf39b3c0
arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting
2021-07-08 15:14:45 -04:00
Lioncash
5c541b0b42
qt/main: Make title string more i18n-friendly
...
Currently, whether or not the title is 32-bit or 64-bit was being
appended as a suffix to the title, which is fine for left-to-right
languages, but may not always fly so smoothly with some right-to-left
languages.
We also weren't marking that portion of the string as translatable,
which prevents translators from translating part of the title string.
2021-07-08 15:06:16 -04:00
lat9nq
c8b8674ffc
settings, yuzu qt: Add migration code for CPU accuracy
...
Old CPU Accuracy setting won't translate well into since we're adding
one at the beginning of the list. On first boot with the new setting,
just use the default setting.
2021-07-08 14:56:09 -04:00
lat9nq
87b6e14d7c
arm_dynarmic{32,64}: Fixes from test build
...
Now sets optimizations regardless of the Settings. Drops unsafe fastmem
optimization.
2021-07-08 14:56:09 -04:00
lat9nq
7ab5767157
core,common,yuzu qt: Add CPU accuracy option 'Auto'
...
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
2021-07-08 14:56:09 -04:00
Ameer J
5edc96f4a4
Merge pull request #6539 from lat9nq/default-setting
...
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
lat9nq
a949ee0410
general: Code formatting improvements
...
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-07-08 14:07:10 -04:00
Feng Chen
c7ad195fd3
Out of bound blit ( #6531 )
...
* Fix out of bound blit error
* Fix code read
* Fix ci error
Co-authored-by: Feng Chen <chen.feng@gloritysolutions.com>
2021-07-08 11:06:09 -07:00
Kelebek1
7905eb0254
Replace NaN mix volume samples with silence.
...
Fixes Xenoblade Chronicles 2 blowing out the audio.
2021-07-08 17:42:15 +01:00
Morph
92a3daf029
Merge pull request #6564 from Kelebek1/Audio
...
Support more PCM formats
2021-07-08 12:14:58 -04:00
Morph
91a4a924b1
Merge pull request #6569 from Kelebek1/Vol
...
audio_core: Preserve front channel volume after 6 to 2 downmix
2021-07-08 12:09:21 -04:00
Kelebek1
7636fefb71
audio_core: Preserve front channel volume after 6 to 2 downmix
...
Many games report 6 channel output while only providing data for 2. We only output 2-channel audio regardless, and in the downmixing, front left/right only provide 36% of their volume. This is done assuming all of the other channels also contain valid data, but in many games they don't. This PR alters the downmixing to preserve front left/right, so volume is not lost.
This improves volume in Link's Awakening, New Super Mario Bros U, Disgaea 6, Super Kirby Clash.
2021-07-08 17:07:23 +01:00
bunnei
8542f2f3fc
Merge pull request #6567 from Kelebek1/Audio2
...
[audren] Report 2 channels active rather than 1
2021-07-07 14:52:08 -07:00
lat9nq
2f0e1f5d02
util_shaders: Fix BindImageTexture
...
According to
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3820#note_753371 we
need to set these to true for use with 3D textures.
Fixes BOTW teleporting on RadeonSI and iris.
2021-07-07 14:09:55 -04:00
bunnei
2eb018c80f
Merge pull request #6562 from Morph1984/flush-behavior
...
common: fs: More misc. changes
2021-07-07 00:40:31 -07:00
bunnei
eb3cb3af35
Merge pull request #6497 from FernandoS27/scotty-doesnt-know
...
GPU Memory Manager - Correct handling of non continuous backing memory.
2021-07-06 17:26:21 -07:00
Kelebek1
b9f915e07a
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Kelebek1
dbcc093d88
Support more PCM formats. Fixes Ys IX audio.
2021-07-06 18:43:23 +01:00
Morph
ebb82b0b83
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
...
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
Morph
a59ae5e702
common: logging: backend: Close the file after exceeding the write limit
...
There's no point in keeping the file open after the write limit is exceeded. This allows the file to be committed to the disk shortly after it is closed and avoids redundantly checking whether or not the write limit is exceeded.
2021-07-06 05:59:47 -04:00
Morph
14ab50defb
common: fs: file: Revert Flush to its previous behavior and add Commit
...
It became apparent that logging can continuously spam errors that trigger file flushing.
Since committing the files to disk is an expensive operation, this causes unnecessarily high disk usage.
As such, we will revert Flush() to the previous behavior and add a Commit() member function in the event that this behavior is needed.
2021-07-06 05:59:47 -04:00
Morph
d299d5531f
common: fs: file: Flush the file in GetSize
...
This ensures that GetSize always retrieves the correct file size after a write operation.
2021-07-06 05:59:47 -04:00
bunnei
bf50345d4c
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
bunnei
3d03a6ae02
Merge pull request #6556 from Morph1984/default-mii
...
service: mii: Retrieve the correct default miis.
2021-07-05 13:51:00 -07:00
Ameer J
c770fa9823
Merge pull request #6540 from Kelebek1/nvdec
...
Slightly refactor NVDEC and codecs for readability and safety
2021-07-05 16:06:09 -04:00
Morph
942c0d6cdd
Merge pull request #6561 from german77/analog_fix
...
input_common: Add missing modifier callback to analog from button
2021-07-05 12:47:42 -04:00
german77
c19ec2edd9
input_common: Add missing modifier callback to analog from button
2021-07-05 11:39:42 -05:00
german77
b188d7792a
profiler: Fix deprecated functions
2021-07-05 10:15:35 -05:00
Mai M
669cef2da3
Merge pull request #6552 from Morph1984/c4189-msvc
...
CMakeLists: Enforce C4189 on MSVC
2021-07-04 22:16:28 -04:00
Fernando Sahmkow
c6a9e91784
Texture Cache: Fix collision with multiple overlaps of the same sparse texture.
2021-07-04 22:32:36 +02:00
Fernando Sahmkow
a8a0927d42
Texture Cache: Fix GCC & Clang.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
8f9f142956
Texture Cache: Address feedback.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
fd98fcf7f0
Texture Cache: Improve accuracy of sparse texture detection.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
38165fb7e3
Texture Cache: Initial Implementation of Sparse Textures.
2021-07-04 22:32:03 +02:00
Morph
5dfa313d2c
service: mii: Retrieve the correct default miis.
...
We were including the first 2 default miis which are not meant to be shown in games. With this change, we properly retrieve the 6 default miis shown in games, with 3 of each gender.
2021-07-04 05:38:34 -04:00
Fernando Sahmkow
0aab55d26a
TextureCacheOGL: Implement Image Copies for 1D and 1D Array.
2021-07-03 14:40:29 +02:00
Fernando Sahmkow
ebaa7e391c
TextureCache: Fix 1D to 2D overlapps.
2021-07-03 14:01:54 +02:00
Morph
3a3f4983b6
CMakeLists: Enforce C4189
...
This supplements C4101 by detecting initialized but unreferenced local variables
2021-07-03 05:51:31 -04:00
bunnei
2fc0a760f0
Merge pull request #6498 from Kelebek1/Audio
...
[audio_core] Decouple audio update and processing, and process at variable rate
2021-07-03 00:24:33 -07:00
lat9nq
38f658d21e
config: Read UISettings as basic settings
...
I must have been asleep or something. These need to be read with the new
ReadBasicSetting function.
2021-07-02 01:06:30 -04:00
lat9nq
cf1cd3321d
settings: Set resolution_factor default to 1
...
Fixes Disgaea 6 Demo issues.
2021-07-01 12:06:12 -04:00
Kelebek1
208a04dcff
Slightly refactor NVDEC and codecs for readability and safety
2021-07-01 06:22:05 +01:00
Kelebek1
b455043e45
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
Ameer J
bab400daaf
Merge pull request #6459 from lat9nq/ubuntu-fixes
...
cmake: Improve Linux dependency checking for externals
2021-06-30 21:47:57 -04:00
lat9nq
299c5594e6
yuzu_cmd: config: Pass a reference in
...
Also adds documentation for the ReadSetting function.
Address review comments.
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-06-30 20:16:01 -04:00
Morph
39be4c3026
Merge pull request #6471 from lat9nq/dump-as-mod
...
yuzu qt, core: Support LayeredFS mods from SDMC directory
2021-06-29 00:10:31 -04:00
lat9nq
0e5c74bc9e
core, input_common: Miscellaneous fixes
...
bcat: Fix settings access
telemetry_session: Fix settings accesses
So this is what I get for testing with the web service disabled.
touch_from_button: Fix settings access for clang
2021-06-28 20:56:17 -04:00
lat9nq
7a8de138df
yuzu qt: Make most UISettings a BasicSetting
...
For simple primitive settings, moves their defaults and labels to
definition time.
Also fixes typo and clang-format
yuzu qt: config: Fix rng_seed
2021-06-28 19:13:53 -04:00
lat9nq
b91b76df4f
general: Make most settings a BasicSetting
...
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
ec68cba440
Merge pull request #6502 from ameerj/vendor-title
...
main: Add GPU Vendor name to running title bar
2021-06-28 14:51:49 -04:00
Morph
248a146ab7
CMakeLists: Disable all warnings for external headers
...
This lets us avoid needing to wrap external headers with #pragma warning directives for warnings we treat as errors and avoids generating warnings for external code.
Thanks to MerryMage for pointing this out.
2021-06-28 14:24:28 -04:00
Morph
22d7b89c15
video_core: Remove #pragma warning directives for external headers
2021-06-28 14:21:40 -04:00
Morph
954259312e
input_common: Remove #pragma warning directives for external headers
2021-06-28 14:20:25 -04:00
Morph
0eae00e263
CMakeLists: Enforce C4018, C4267, C4305, C4389
2021-06-28 14:20:25 -04:00
Morph
e828c5a559
core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
58550cfcdc
input_common: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
a47704f4dd
video_core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
511ee03a21
patch_manager: Do not apply LayeredFS mods when dumping
...
We should not apply any mods when dumping a game's RomFS.
2021-06-28 10:14:36 -04:00
Morph
6ac978426c
filesystem: Open a read-only directory for SDMC mods
...
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28 10:08:08 -04:00
lat9nq
844e0114b0
core: Simplify SDMC mod loading
...
If someone else wants to support other mod formats in the SDMC
directory, that can be added later. For now, just allow RomFS modding
here and force people to do other types of mods the old way.
Addresses review comments.
Co-authored-by: LC <mathew1800@gmail.com>
2021-06-28 10:08:08 -04:00
lat9nq
1664c74a6c
core: Support LayeredFS mod from SDMC directory
...
Enables loading a mod directly from `[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]`. For use with some
homebrew mod managers.
2021-06-28 10:08:07 -04:00
lat9nq
bfecd395d4
yuzu qt: Add option to dump to SDMC directory
...
Enables dumping the RomFS to SDMC directory, specifically '[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]/romfs'.
2021-06-28 10:08:07 -04:00
Morph
d3d6613d33
video_core: Silence signed/unsigned mismatch warnings
2021-06-28 09:21:42 -04:00
ameerj
4cee25281f
main: Display the instruction set of the running title in the window name
...
Displays whether the currently running title uses 64-bit instructions or only 32-bit instructions.
2021-06-28 00:37:24 -04:00
Kelebek1
0857d6a3db
Decouple audio processing and run at variable rate
...
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping.
This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-27 15:58:07 +01:00
Morph
4df04ad48a
Merge pull request #6529 from ReinUsesLisp/reaper-fixups
...
buffer_cache,texture_cache: Misc fixups from the memory reaper
2021-06-27 09:33:58 -04:00
bunnei
432fab7c4f
Merge pull request #6526 from bunnei/doom-update
...
services: Misc. minor changes for latest SDK update.
2021-06-26 01:21:55 -07:00
bunnei
36d581ec73
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
lat9nq
35b17fa5e0
configuration: Defer to common/settings for per-game settings defaults
...
Avoids double-setting defaults, and avoids potential accidents when
inconsistently setting the default on new settings.
2021-06-26 02:45:14 -04:00
lat9nq
20e51402b0
common: Force defaults for Settings::Setting's
...
Requires a default value when creating each per-game setting.
2021-06-26 02:43:38 -04:00
ReinUsesLisp
9476309d53
buffer_cache: Only flush downloaded size
...
Fixes a regression unintentionally introduced by the garbage collector.
This makes regular memory downloads only flush the requested sizes.
This negatively affected Koei Tecmo games.
2021-06-26 03:29:34 -03:00
ReinUsesLisp
03abe8bf85
video_core: Enforce C4244
...
Enforce implicit integer casts to a smaller type as errors.
2021-06-26 03:29:34 -03:00
ReinUsesLisp
05bd50a1cf
codec,vic: Disable warnings in ffmpeg headers
2021-06-26 03:29:31 -03:00
ReinUsesLisp
3ab5bf6454
vk_buffer_cache: Silence implicit cast warnings
2021-06-26 02:17:36 -03:00
ReinUsesLisp
b4894faeae
buffer_cache/texture_cache: Make GC functions private
2021-06-26 02:17:36 -03:00
ReinUsesLisp
e79d02bf38
buffer_cache: Silence implicit cast warning
2021-06-26 02:17:36 -03:00
ReinUsesLisp
99b859db55
vulkan_device: Make device memory match the rest of the file
...
Match the style in the file.
2021-06-25 02:38:58 -03:00
bunnei
c805c0b395
Merge pull request #6496 from ameerj/astc-fixes
...
astc: Various robustness enhancements for the gpu decoder
2021-06-24 21:47:05 -07:00
bunnei
b9c2732121
Merge pull request #6519 from Wunkolo/mem-size-literal
...
common: Replace common_sizes into user-literals
2021-06-24 19:09:12 -07:00
bunnei
982be246ab
hle: hle_helpers: Skip data payload offset checks on TIPC requests.
...
- TIPC does not use this.
2021-06-24 18:39:43 -07:00
bunnei
3565e32f4d
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:25:37 -07:00
bunnei
d1ba4a2db2
hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:22:53 -07:00
bunnei
50d0cc2716
audio_core: common: Bump audio revision to 9.
...
- This is used in fw 12.x.x games.
2021-06-24 18:22:10 -07:00
Wunkolo
4569f39c7c
common: Replace common_sizes into user-literals
...
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc
user-literals within literals.h.
To keep the global namespace clean, users will have to use:
```
using namespace Common::Literals;
```
to access these literals.
2021-06-24 09:27:40 -07:00
bunnei
4dc2f5a341
Merge pull request #6522 from Morph1984/pragma
...
general: Add missing #pragma once directives
2021-06-24 08:53:27 -07:00
Morph
eed0d1f33b
general: Add missing #pragma once directives
2021-06-24 07:20:57 -04:00
Chloe
f216a9432b
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
bunnei
1b09d6628b
Merge pull request #6517 from lioncash/fmtlib
...
externals: Update fmt to 8.0.0
2021-06-23 15:31:04 -07:00
bunnei
809e5fd523
Merge pull request #6504 from Kelebek1/samples-played
...
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23 11:31:12 -07:00
Lioncash
d0b1f2bd05
General: Resolve fmt specifiers to adhere to 8.0.0 API where applicable
...
Also removes some deprecated API usages.
2021-06-23 13:48:21 -04:00
bunnei
d8d9bb0dfb
Merge pull request #6518 from lioncash/func
...
maxwell3d: Add missing return in default SizeInBytes() case
2021-06-23 09:43:00 -07:00
Lioncash
be6844c1ed
maxwell3d: Add missing return in default SizeInBytes() case
...
We were returning '1' in ComponentCount()'s default case but were
neglecting to do the same with SizeInBytes().
2021-06-23 11:50:40 -04:00
Mai M
17fff10e06
Merge pull request #6465 from FernandoS27/sex-on-the-beach
...
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-23 08:03:01 -04:00
Mai M
20f474b09a
Merge pull request #6508 from ReinUsesLisp/bootmanager-stop-token
...
bootmanager: Use std::stop_source for stopping emulation
2021-06-23 02:35:42 -04:00
Morph
c1a9fa9db7
Merge pull request #6514 from OZtistic/master
...
Simple resizing of Per-Game configuration window and removal of useless Help question mark button in the title bar
2021-06-22 23:19:13 -04:00
Mai M
d6b51e5e21
Merge pull request #6512 from ReinUsesLisp/wait-detached-stasks
...
common/detached_tasks: Wait for tasks before shutting down
2021-06-22 22:20:14 -04:00
Mai M
95b4c78b07
Merge pull request #6509 from ReinUsesLisp/mouse-datarace
...
input_common/mouse_input: Fix data race
2021-06-22 22:19:34 -04:00
Mai M
4ec7d79174
Merge pull request #6510 from ReinUsesLisp/npad-data-race
...
npad: Fix data race when updating devices
2021-06-22 22:17:57 -04:00
OZtistic
36aacf62ad
Simple resizing of the Per-Game configuration window and removal of useless Help question mark button in the title bar
2021-06-23 12:02:10 +10:00
bunnei
0308a2679e
Merge pull request #6493 from Morph1984/fs-nodiscard
...
common: fs: Miscellaneous changes
2021-06-22 17:21:59 -07:00
bunnei
255f8d22d7
Merge pull request #6472 from Morph1984/spl
...
service: spl: Implement general SPL service
2021-06-22 15:43:10 -07:00
bunnei
791d3d1bea
Merge pull request #6483 from Morph1984/get-tz-file
...
service: time: Use GetFileRelative to get files within subdirectories
2021-06-22 14:25:41 -07:00
Fernando Sahmkow
f9b940a442
Reaper: Set minimum cleaning limit on OGL.
2021-06-22 22:07:17 +02:00
Morph
2fa207058b
common: fs: Add a description of a regular file in IsFile
...
This provides a more concrete example of what a regular file is and isn't.
2021-06-22 15:07:51 -04:00
Morph
0394893354
vfs_real: Fix Mode to FileAccessMode conversion
...
These enforce requiring the file to exist prior to opening.
2021-06-22 15:07:51 -04:00
Morph
76b2313b25
common: fs: Amend IsFile check in FileOpen / (Write/Append)StringToFile
...
This check was preventing files with the Write or Append file access modes from being created, as per the documented behavior in FileAccessMode.
This amends the check to test for the existence of a filesystem object prior to checking whether it is a regular file.
Thanks to liushuyu for pointing out that removing the check altogether would not guard against attempting to open non-regular files such as directories, symlinks, FIFO (pipes), sockets, block devices, or character devices.
The documentation has also been updated for these functions to clarify that a file refers to a regular file.
2021-06-22 15:06:58 -04:00
Morph
cf0b9d1de2
common: fs: file: Remove [[nodiscard]] attribute from Flush
...
Similarly, Flush() is typically called to attempt to flush a file into the disk. In the one case where this is used, we do not care whether the flush has succeeded or not, making [[nodiscard]] unnecessary.
2021-06-22 13:36:24 -04:00
Morph
81b1b71993
common: fs: Remove [[nodiscard]] attribute on Remove* functions
...
There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal.
As such, removing the [[nodiscard]] attribute is best for these functions.
2021-06-22 13:36:24 -04:00
bunnei
faf57c183f
Merge pull request #6506 from ReinUsesLisp/master-semaphore-jthread
...
vk_master_semaphore: Use jthread for debug thread
2021-06-22 08:44:25 -07:00
Mai M
698add8541
Merge pull request #6511 from ReinUsesLisp/core-is-powered-data-race
...
core: Make is_powered_on atomic
2021-06-22 04:28:38 -04:00
Rodrigo Locatti
c9c8537643
core: Make is_powered_on atomic
...
Fixes potential data races when shutting down.
2021-06-22 04:33:07 -03:00
Rodrigo Locatti
1ca9a13e50
common/detached_tasks: Wait for tasks before shutting down
...
If this is not waited on, the synchronization primitives are destroyed
whe main exits and the detached task ends up signalling garbage and not
properly finishing.
2021-06-22 04:27:44 -03:00
Rodrigo Locatti
15cc561d12
npad: Fix data race when updating devices
...
Add a lock to avoid data races.
This reduces the number of -fsanitize=thread errors significantly.
2021-06-22 03:16:21 -03:00
Rodrigo Locatti
0a39163a90
input_common/mouse_input: Fix data race
...
Fix data race using std::jthread and std::stop_token.
2021-06-22 02:31:39 -03:00
bunnei
2a7a65c944
Merge pull request #6481 from Morph1984/missing-peak-set
...
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-21 22:16:48 -07:00
Kelebek1
ba3af04da1
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
ReinUsesLisp
4009ae1da2
bootmanager: Use std::stop_source for stopping emulation
...
Use its std::stop_token to abort shader cache loading.
Using std::stop_token instead of std::atomic_bool allows the usage of
other utilities like std::stop_callback.
2021-06-22 00:04:57 -03:00
ReinUsesLisp
cf116a28a6
vk_master_semaphore: Use jthread for debug thread
2021-06-21 19:56:07 -03:00
bunnei
0485b8e84b
Merge pull request #6499 from FernandoS27/we-were-on-a-break
...
Update dynarmic and add new unsafe CPU option.
2021-06-21 14:56:08 -07:00
bunnei
2a3d3d3895
Merge pull request #6475 from ameerj/unlimit-fps
...
nvflinger: Add experimental toggle to disable buffer swap interval limits
2021-06-21 11:58:12 -07:00
Mai M
83ac715e76
Merge pull request #6486 from CaptV0rt3x/httplib
...
externals: httplib: replace custom httplib header with upstream as submodule
2021-06-21 11:56:33 -04:00
lat9nq
a01459df3d
gl_device: Expand on Mesa driver names
...
Makes this list a bit more capable at identifying Mesa drivers. Tries to
deal with two of the overloaded vendor strings in a more generic
fashion.
2021-06-20 23:04:07 -04:00
ameerj
fb16cbb17e
video_core: Add GPU vendor name to window title bar
2021-06-20 23:04:07 -04:00
Fernando Sahmkow
2298508465
Update dynarmic and add new unsafe CPU option.
2021-06-20 20:40:02 +02:00
Fernando Sahmkow
569a1962c0
Reaper: Guarantee correct deletion.
2021-06-20 19:11:41 +02:00
Fernando Sahmkow
865dd615ca
Reaper: Upgrade label from unsafe to experimental as no regressions are known now.
2021-06-20 12:35:19 +02:00
ameerj
851c76233d
util_shaders: Specify ASTC decoder memory barrier bits
2021-06-19 11:16:25 -04:00
ameerj
ace20ba4a4
astc_decoder.comp: Remove unnecessary LUT SSBOs
...
We can move them to instead be compile time constants within the shader.
2021-06-19 10:56:13 -04:00
ameerj
31b125ef57
astc: Various robustness enhancements for the gpu decoder
...
These changes should help in reducing crashes/drivers panics that may
occur due to synchronization issues between the shader completion and
later access of the decoded texture.
2021-06-19 09:00:33 -04:00
lat9nq
9a06b85b24
host_memory: Correct MEM_RESERVE_PLACEHOLDER
...
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
2021-06-19 04:38:33 -04:00
Vortex
e704da9192
externals: httplib: replace custom httplib header with upstream as submodule.
...
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2021-06-19 02:18:58 +05:30
Morph
fd5ef1970c
service: time: Use GetFileRelative to get files within subdirectories
...
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18 11:25:26 -04:00
Morph
1a5eceeb9c
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
0b172d12c0
vulkan_debug_callback: Skip logging known false-positive validation errors
...
Avoids overwhelming the log with validation errors that are not applicable
2021-06-17 22:16:32 -04:00
Fernando Sahmkow
719a6dd5a1
Reaper: Correct size calculation on Vulkan.
2021-06-17 08:48:41 +02:00
ameerj
36250a4730
config: Add frame limiter toggle hotkey
2021-06-17 01:41:57 -04:00
ameerj
3522fc019c
nvflinger: Add toggle to disable buffer swap interval limits
...
Enabling this setting will allow some titles to present more frames to
the screen as they become available in the nvflinger buffer queue.
2021-06-17 01:41:56 -04:00
bunnei
abb0124b84
Merge pull request #6418 from clementgallet/sdl-audio-backend
...
Audio: SDL2 audio backend
2021-06-16 21:38:20 -07:00
Ameer J
c5b517aa5f
Merge pull request #6469 from ReinUsesLisp/blit-view-compat
...
texture_cache/util: Avoid relaxed image views on different bytes per block
2021-06-16 21:08:07 -04:00
Fernando Sahmkow
ca6f47c686
Reaper: Change memory restrictions on TC depending on host memory on VK.
2021-06-17 00:29:48 +02:00
Fernando Sahmkow
0dd98842bf
Reaper: Address Feedback.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
954ad2a61e
Reaper: Setup settings and final tuning.
2021-06-16 21:35:03 +02:00
Fernando Sahmkow
d8ad6aa187
Reaper: Tune it up to be an smart GC.
2021-06-16 21:35:02 +02:00
ReinUsesLisp
a11bc4a382
Initial Reaper Setup
...
WIP
2021-06-16 21:35:02 +02:00
ReinUsesLisp
5b1efe522e
vulkan_memory_allocator: Release allocations with no commits
2021-06-16 21:35:01 +02:00
bunnei
973bf306ed
Merge pull request #6464 from ameerj/disable-astc
...
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
92942fe01b
Merge pull request #6460 from Morph1984/fs-access-log-fix
...
fsp_srv: Fix filesystem access logging
2021-06-16 14:03:01 -04:00
Morph
4a4e304319
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
8ba83c4c2a
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
e4318a1914
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
ded36b8688
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
faf11fe46d
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
95f203b7c7
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
74790e4f33
common: fs: file: Remove redundant call to WriteStringToFile
...
The Append open mode will create a new file if said file does not exist at a given path, making this call redundant.
2021-06-16 00:06:02 -04:00
Morph
0f48292de1
fsp_srv: Fix filesystem access logging
...
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt
If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard.
Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-16 00:06:02 -04:00
bunnei
78651b5476
Merge pull request #6462 from Morph1984/proper-flush
...
common: fs: file: Flush the file to the disk when Flush() is called
2021-06-15 19:03:19 -07:00
ameerj
5fc8393125
astc_decoder: Fix LDR CEM1 endpoint calculation
...
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum.
Huge thanks to wwylele for finding this.
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-15 20:19:01 -04:00
ameerj
f9bfeaa2bc
yuzu_cmd/config: Add Accelerate ASTC and missing NVDEC emulation settings
2021-06-15 20:19:00 -04:00
ameerj
b2955479e5
configure_graphics: Add Accelerate ASTC decoding setting
2021-06-15 20:19:00 -04:00
ameerj
c4ff7ecf51
textures: Reintroduce CPU ASTC decoder
...
Users may want to fall back to the CPU ASTC texture decoder due to hangs
and crashes that may be caused by keeping the GPU under compute heavy
loads for extended periods of time. This is especially the case in games
such as Astral Chain which make extensive use of ASTC textures.
2021-06-15 20:19:00 -04:00
ameerj
422a15ee75
lm: Demote guest logs to LOG_DEBUG
...
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-14 22:23:27 -04:00
ReinUsesLisp
3d89398b84
texture_cache/util: Avoid relaxed image views on different bytes per pixel
...
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-14 21:03:57 -03:00
bunnei
c8f86edee6
Merge pull request #6456 from Morph1984/very-important-changes
...
configure_cpu_debug: Clarify settings behavior
2021-06-14 15:05:44 -07:00
Fernando Sahmkow
8d4dfc98ec
Merge pull request #6448 from Morph1984/recursive-dir-iterator
...
common: fs: Use the normal directory iterator in *Recursively functions
2021-06-14 15:47:04 +02:00
Morph
a4454329c1
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
Morph
391e823c79
common: logging: Restructure backend code
2021-06-13 11:05:58 -04:00
Morph
8150c65c07
common: logging: backend: Wrap IOFile in a unique_ptr
...
Allows us to forward declare Common::FS::IOFile.
2021-06-13 11:05:58 -04:00
Morph
a98b6c8f07
common: fs: file: Flush the file to the disk when Flush() is called
...
std::fflush does not guarantee that file buffers are flushed to the disk.
Use _commit on Windows and fsync on all other OSes to ensure that the file is flushed to the disk.
2021-06-13 07:47:57 -04:00
Morph
56afd4ab4b
Merge pull request #6452 from german77/sixaxis_firmware_stub
...
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
lat9nq
932c0184a7
cmake: Fix find_program usage for 3.15
...
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is
only available on 3.18 and later. Instead, we check for
"<VAR>-NOTFOUND".
In addition, check for additional requirements before building libusb or
FFmpeg with autotools. Otherwise, CMake configuration will pass yet
compilation will fail.
2021-06-13 01:15:54 -04:00
Morph
c11b4c45e1
configure_cpu_debug: Clarify settings behavior
...
This makes it clear that the disabled settings only take effect when CPU Accuracy is set to Debug Mode.
2021-06-13 00:27:33 -04:00
Morph
c978f3144c
common: fs: Use the normal directory iterator in *Recursively functions
...
MSVC's implementation of recursive_directory_iterator throws an exception on an error despite a std::error_code being passed into its constructor. This is most likely a bug in MSVC's implementation since directory_iterator does not throw an exception on an error.
We can replace the usage of recursive_directory_iterator for now until MSVC fixes their implementation of it.
2021-06-12 01:39:07 -04:00
bunnei
58180f9fa8
Merge pull request #6451 from Morph1984/check-disk-space-dump
...
yuzu: main: Ensure enough space is available for RomFS dumping
2021-06-11 13:23:23 -07:00
german77
827483409b
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Mai M
9951322e5a
Merge pull request #6422 from FernandoS27/i-am-the-senate
...
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
Morph
fa2aac1bf5
yuzu: main: Ensure enough space is available for RomFS dumping
...
This warns the user if there isn't enough free space to dump the entire RomFS to disk. It requires at least the size of the extracted RomFS + 1 GiB as a buffer of free space.
2021-06-11 14:04:11 -04:00
bunnei
0c0c1a039e
Merge pull request #6443 from Morph1984/k-light-condition-variable
...
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
Markus Wick
7f85abb281
common/host_memory: Implement a fallback if fastmem fails.
...
This falls back to the old approach of using a virtual buffer.
Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
f332d4a9b5
common/host_shader: Load Windows 10 functions dynamically
...
Workaround old headers and libraries shipped on MinGW.
2021-06-11 17:27:17 +02:00
Fernando Sahmkow
588ab44470
GPUTHread: Remove async reads from Normal Accuracy.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
7b0d8bd1fb
rasterizer: Update pages in batches
2021-06-11 17:27:17 +02:00
ReinUsesLisp
ee67460ff0
host_memory: Support staged VirtualProtect calls
2021-06-11 17:27:17 +02:00
FernandoS27
5ba28325b2
General: Add settings for fastmem and disabling adress space check.
2021-06-11 17:27:17 +02:00
Markus Wick
c4609c92ee
common/host_memory: Optimize for huge tables.
...
In theory, if we have 2 MB continously mapped, this should save one layer of TLB.
Let's make it at least more likely by aligning the memory.
2021-06-11 17:27:06 +02:00
Markus Wick
621f3f5f47
core: Make use of fastmem
2021-06-11 17:27:06 +02:00
ReinUsesLisp
740edacc8d
tests: Add tests for host memory
2021-06-11 17:27:06 +02:00