diff options
| author | 2019-09-22 10:05:44 -0400 | |
|---|---|---|
| committer | 2019-09-22 10:05:44 -0400 | |
| commit | b7725812ac2b0a77944b1096abc55156442a55b9 (patch) | |
| tree | 4b85beb44a80ccd7950cf604fb584b91afe2b0f6 /src/audio_core/audio_renderer.cpp | |
| parent | Merge pull request #2895 from FearlessTobi/debug-logs (diff) | |
| parent | Used revision 5 instead of 7, marked constexpr as static (diff) | |
| download | yuzu-b7725812ac2b0a77944b1096abc55156442a55b9.tar.gz yuzu-b7725812ac2b0a77944b1096abc55156442a55b9.tar.xz yuzu-b7725812ac2b0a77944b1096abc55156442a55b9.zip | |
Merge pull request #2877 from ogniK5377/framecount-rev7
Added frame_count for REV5 audio renderer
Diffstat (limited to 'src/audio_core/audio_renderer.cpp')
| -rw-r--r-- | src/audio_core/audio_renderer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index da50a0bbc..e6f38d600 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp | |||
| @@ -107,6 +107,11 @@ Stream::State AudioRenderer::GetStreamState() const { | |||
| 107 | return stream->GetState(); | 107 | return stream->GetState(); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | static constexpr u32 VersionFromRevision(u32_le rev) { | ||
| 111 | // "REV7" -> 7 | ||
| 112 | return ((rev >> 24) & 0xff) - 0x30; | ||
| 113 | } | ||
| 114 | |||
| 110 | std::vector<u8> AudioRenderer::UpdateAudioRenderer(const std::vector<u8>& input_params) { | 115 | std::vector<u8> AudioRenderer::UpdateAudioRenderer(const std::vector<u8>& input_params) { |
| 111 | // Copy UpdateDataHeader struct | 116 | // Copy UpdateDataHeader struct |
| 112 | UpdateDataHeader config{}; | 117 | UpdateDataHeader config{}; |
| @@ -166,6 +171,11 @@ std::vector<u8> AudioRenderer::UpdateAudioRenderer(const std::vector<u8>& input_ | |||
| 166 | // Copy output header | 171 | // Copy output header |
| 167 | UpdateDataHeader response_data{worker_params}; | 172 | UpdateDataHeader response_data{worker_params}; |
| 168 | std::vector<u8> output_params(response_data.total_size); | 173 | std::vector<u8> output_params(response_data.total_size); |
| 174 | const auto audren_revision = VersionFromRevision(config.revision); | ||
| 175 | if (audren_revision >= 5) { | ||
| 176 | response_data.frame_count = 0x10; | ||
| 177 | response_data.total_size += 0x10; | ||
| 178 | } | ||
| 169 | std::memcpy(output_params.data(), &response_data, sizeof(UpdateDataHeader)); | 179 | std::memcpy(output_params.data(), &response_data, sizeof(UpdateDataHeader)); |
| 170 | 180 | ||
| 171 | // Copy output memory pool entries | 181 | // Copy output memory pool entries |