Commit graph

18536 commits

Author SHA1 Message Date
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
Rodrigo Locatti 4d0bdef17d
Merge pull request #6570 from lat9nq/bind-image-true
util_shaders: Fix BindImageTexture
2021-07-07 16:18:05 -03: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
bunnei b07423f6e2
Merge pull request #6566 from Morph1984/sign-compare-as-error
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
2021-07-06 11:23:33 -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
Morph dd44089f87
Merge pull request #6559 from german77/compilation_warnings
Replace usages of deprecated member functions in QMouseEvent and QWheelEvent
2021-07-05 11:23:11 -04: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
Ameer J eb0e10cff2
Merge pull request #6553 from FernandoS27/bite-a-bat-change-the-world
TextureCache: Fix 1D to 2D overlapps.
2021-07-04 13:20:40 -04: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