summaryrefslogtreecommitdiffstats
path: root/src/audio_core/renderer/effect/effect_context.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-07-23 21:20:39 +0200
committerGitHub <noreply@github.com>2022-07-23 21:20:39 +0200
commit97729fd8e9c2f8cabc626ab03a666c9428e01c5e (patch)
treef6a2f3b6c71b51a646d1502c01a4f6be92a3ed26 /src/audio_core/renderer/effect/effect_context.cpp
parentMerge pull request #8629 from Docteh/test_transifex (diff)
parentProject Andio (diff)
downloadyuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar.gz
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar.bz2
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar.lz
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar.xz
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.tar.zst
yuzu-97729fd8e9c2f8cabc626ab03a666c9428e01c5e.zip
Diffstat (limited to 'src/audio_core/renderer/effect/effect_context.cpp')
-rw-r--r--src/audio_core/renderer/effect/effect_context.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/audio_core/renderer/effect/effect_context.cpp b/src/audio_core/renderer/effect/effect_context.cpp
new file mode 100644
index 000000000..74c7801c9
--- /dev/null
+++ b/src/audio_core/renderer/effect/effect_context.cpp
@@ -0,0 +1,41 @@
+// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "audio_core/renderer/effect/effect_context.h"
+
+namespace AudioCore::AudioRenderer {
+
+void EffectContext::Initialize(std::span<EffectInfoBase> effect_infos_, const u32 effect_count_,
+ std::span<EffectResultState> result_states_cpu_,
+ std::span<EffectResultState> result_states_dsp_,
+ const size_t dsp_state_count_) {
+ effect_infos = effect_infos_;
+ effect_count = effect_count_;
+ result_states_cpu = result_states_cpu_;
+ result_states_dsp = result_states_dsp_;
+ dsp_state_count = dsp_state_count_;
+}
+
+EffectInfoBase& EffectContext::GetInfo(const u32 index) {
+ return effect_infos[index];
+}
+
+EffectResultState& EffectContext::GetResultState(const u32 index) {
+ return result_states_cpu[index];
+}
+
+EffectResultState& EffectContext::GetDspSharedResultState(const u32 index) {
+ return result_states_dsp[index];
+}
+
+u32 EffectContext::GetCount() const {
+ return effect_count;
+}
+
+void EffectContext::UpdateStateByDspShared() {
+ for (size_t i = 0; i < dsp_state_count; i++) {
+ effect_infos[i].UpdateResultState(result_states_cpu[i], result_states_dsp[i]);
+ }
+}
+
+} // namespace AudioCore::AudioRenderer