summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Kelebek12022-07-27 23:17:18 +0100
committerGravatar Kelebek12022-07-27 23:17:18 +0100
commit6c47b43a60d74e8e48de994b1d3a1ff7c6af7763 (patch)
tree3a06dd50f0f882bb43db0ba959846b0246b67250
parentMerge pull request #8542 from Morph1984/gpu-use-old-q (diff)
downloadyuzu-6c47b43a60d74e8e48de994b1d3a1ff7c6af7763.tar.gz
yuzu-6c47b43a60d74e8e48de994b1d3a1ff7c6af7763.tar.xz
yuzu-6c47b43a60d74e8e48de994b1d3a1ff7c6af7763.zip
Avoid depop out of bounds
Diffstat (limited to '')
-rw-r--r--src/audio_core/renderer/command/command_buffer.cpp2
-rw-r--r--src/audio_core/renderer/command/mix/depop_prepare.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/audio_core/renderer/command/command_buffer.cpp b/src/audio_core/renderer/command/command_buffer.cpp
index 40074cf14..2ef879ee1 100644
--- a/src/audio_core/renderer/command/command_buffer.cpp
+++ b/src/audio_core/renderer/command/command_buffer.cpp
@@ -339,7 +339,7 @@ void CommandBuffer::GenerateDepopPrepareCommand(const s32 node_id, const VoiceSt
339 cmd.previous_samples = memory_pool->Translate(CpuAddr(voice_state.previous_samples.data()), 339 cmd.previous_samples = memory_pool->Translate(CpuAddr(voice_state.previous_samples.data()),
340 MaxMixBuffers * sizeof(s32)); 340 MaxMixBuffers * sizeof(s32));
341 cmd.buffer_count = buffer_count; 341 cmd.buffer_count = buffer_count;
342 cmd.depop_buffer = memory_pool->Translate(CpuAddr(buffer.data()), buffer_count * sizeof(s32)); 342 cmd.depop_buffer = memory_pool->Translate(CpuAddr(buffer.data()), buffer.size_bytes());
343 343
344 GenerateEnd<DepopPrepareCommand>(cmd); 344 GenerateEnd<DepopPrepareCommand>(cmd);
345} 345}
diff --git a/src/audio_core/renderer/command/mix/depop_prepare.cpp b/src/audio_core/renderer/command/mix/depop_prepare.cpp
index 2ee076ef6..69bb78ccc 100644
--- a/src/audio_core/renderer/command/mix/depop_prepare.cpp
+++ b/src/audio_core/renderer/command/mix/depop_prepare.cpp
@@ -19,7 +19,7 @@ void DepopPrepareCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor
19 19
20void DepopPrepareCommand::Process(const ADSP::CommandListProcessor& processor) { 20void DepopPrepareCommand::Process(const ADSP::CommandListProcessor& processor) {
21 auto samples{reinterpret_cast<s32*>(previous_samples)}; 21 auto samples{reinterpret_cast<s32*>(previous_samples)};
22 auto buffer{std::span(reinterpret_cast<s32*>(depop_buffer), buffer_count)}; 22 auto buffer{reinterpret_cast<s32*>(depop_buffer)};
23 23
24 for (u32 i = 0; i < buffer_count; i++) { 24 for (u32 i = 0; i < buffer_count; i++) {
25 if (samples[i]) { 25 if (samples[i]) {