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
Morph
3bc7b0a587
Merge pull request #6532 from MerryMage/libusb-apple
...
libusb: Apple is a POSIX system
2021-06-27 00:30:47 -04:00
MerryMage
f54f29198f
libusb: Apple is a POSIX system
2021-06-26 20:24:18 +01: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
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
Ameer J
d9fb6dbd37
Merge pull request #6528 from ReinUsesLisp/device-memory
...
vulkan_device: Make device memory match the rest of the file
2021-06-25 17:07:24 -04: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
Schplee
5ed87152c3
Fix bold tag
2021-06-23 23:37:03 -07:00
Schplee
373bc6512d
Fix typo in Readme
2021-06-23 23:35:46 -07:00
Schplee
496327490f
Update Readme
2021-06-23 23:32:41 -07: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
Lioncash
c3fe071723
externals: Update dynarmic to allow fmt compilation to succeed
2021-06-23 09:31:59 -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
Lioncash
8593e6f1e6
externals: Update fmt to 8.0.0
...
Keeps us up to date with the latest major release.
Also allows compilers that support it to perform compile-time format
string checking.
2021-06-23 02:43:36 -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