diff options
author | bunnei <bunneidev@gmail.com> | 2023-06-23 06:53:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-23 06:53:07 +0200 |
commit | 2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8 (patch) | |
tree | d82f2cf4f7a5e9773616846c095a941b282a84f6 /src/audio_core/renderer/command/sink/circular_buffer.cpp | |
parent | Merge pull request #10806 from liamwhite/worst-fs-implementation-ever (diff) | |
parent | Remove memory allocations in some hot paths (diff) | |
download | yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar.gz yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar.bz2 yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar.lz yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar.xz yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.tar.zst yuzu-2fc5dedf6996d4a5c93ddf1ccd67a6963e4827e8.zip |
Diffstat (limited to 'src/audio_core/renderer/command/sink/circular_buffer.cpp')
-rw-r--r-- | src/audio_core/renderer/command/sink/circular_buffer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/audio_core/renderer/command/sink/circular_buffer.cpp b/src/audio_core/renderer/command/sink/circular_buffer.cpp index ded5afc94..e2ce59792 100644 --- a/src/audio_core/renderer/command/sink/circular_buffer.cpp +++ b/src/audio_core/renderer/command/sink/circular_buffer.cpp @@ -24,7 +24,7 @@ void CircularBufferSinkCommand::Process(const ADSP::CommandListProcessor& proces constexpr s32 min{std::numeric_limits<s16>::min()}; constexpr s32 max{std::numeric_limits<s16>::max()}; - std::vector<s16> output(processor.sample_count); + std::array<s16, TargetSampleCount * MaxChannels> output{}; for (u32 channel = 0; channel < input_count; channel++) { auto input{processor.mix_buffers.subspan(inputs[channel] * processor.sample_count, processor.sample_count)}; @@ -33,7 +33,7 @@ void CircularBufferSinkCommand::Process(const ADSP::CommandListProcessor& proces } processor.memory->WriteBlockUnsafe(address + pos, output.data(), - output.size() * sizeof(s16)); + processor.sample_count * sizeof(s16)); pos += static_cast<u32>(processor.sample_count * sizeof(s16)); if (pos >= size) { pos = 0; |