diff options
| -rwxr-xr-x | .ci/scripts/linux/docker.sh | 3 | ||||
| -rw-r--r-- | .ci/scripts/windows/upload.ps1 | 7 | ||||
| -rw-r--r-- | .ci/templates/build-msvc.yml | 2 | ||||
| -rw-r--r-- | .ci/yuzu-mainline-step2.yml | 2 | ||||
| -rw-r--r-- | .ci/yuzu-patreon-step2.yml | 2 | ||||
| -rw-r--r-- | .github/ISSUE_TEMPLATE/bug-report-feature-request.md | 6 | ||||
| -rw-r--r-- | .github/ISSUE_TEMPLATE/config.yml | 3 | ||||
| -rw-r--r-- | .gitmodules | 2 | ||||
| -rw-r--r-- | .reuse/dep5 | 8 | ||||
| m--------- | externals/discord-rpc | 0 | ||||
| -rw-r--r-- | src/audio_core/renderer/command/command_buffer.cpp | 2 | ||||
| -rw-r--r-- | src/audio_core/renderer/command/mix/depop_prepare.cpp | 2 | ||||
| -rw-r--r-- | src/audio_core/renderer/effect/effect_info_base.h | 8 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 18 |
14 files changed, 41 insertions, 24 deletions
diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index dc7446dd1..b9862d1c2 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh | |||
| @@ -54,6 +54,9 @@ mkdir -p AppDir/usr/optional/libgcc_s | |||
| 54 | # Deploy yuzu's needed dependencies | 54 | # Deploy yuzu's needed dependencies |
| 55 | ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt | 55 | ./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin qt |
| 56 | 56 | ||
| 57 | # Workaround for libQt5MultimediaGstTools indirectly requiring libwayland-client and breaking Vulkan usage on end-user systems | ||
| 58 | find AppDir -type f -regex '.*libwayland-client\.so.*' -delete -print | ||
| 59 | |||
| 57 | # Workaround for building yuzu with GCC 10 but also trying to distribute it to Ubuntu 18.04 et al. | 60 | # Workaround for building yuzu with GCC 10 but also trying to distribute it to Ubuntu 18.04 et al. |
| 58 | # See https://github.com/darealshinji/AppImageKit-checkrt | 61 | # See https://github.com/darealshinji/AppImageKit-checkrt |
| 59 | cp exec-x86_64.so AppDir/usr/optional/exec.so | 62 | cp exec-x86_64.so AppDir/usr/optional/exec.so |
diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 index 3da242bc7..f2368be6f 100644 --- a/.ci/scripts/windows/upload.ps1 +++ b/.ci/scripts/windows/upload.ps1 | |||
| @@ -57,6 +57,10 @@ Copy-Item .\CMakeModules -Recurse -Destination $MSVC_SOURCE | |||
| 57 | if ("$env:GITHUB_ACTIONS" -eq "true") { | 57 | if ("$env:GITHUB_ACTIONS" -eq "true") { |
| 58 | echo "Hello GitHub Actions" | 58 | echo "Hello GitHub Actions" |
| 59 | 59 | ||
| 60 | # With vcpkg we now have a few more dll files | ||
| 61 | ls .\build\bin\*.dll | ||
| 62 | cp .\build\bin\*.dll .\artifacts\ | ||
| 63 | |||
| 60 | # Hopefully there is an exe in either .\build\bin or .\build\bin\Release | 64 | # Hopefully there is an exe in either .\build\bin or .\build\bin\Release |
| 61 | cp .\build\bin\yuzu*.exe .\artifacts\ | 65 | cp .\build\bin\yuzu*.exe .\artifacts\ |
| 62 | Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse | 66 | Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse |
| @@ -112,6 +116,3 @@ Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts" | |||
| 112 | Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts" | 116 | Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts" |
| 113 | Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts" | 117 | Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts" |
| 114 | } | 118 | } |
| 115 | # Extra items | ||
| 116 | git status | ||
| 117 | cp .\build\src\common\scm_rev.cpp .\artifacts | ||
diff --git a/.ci/templates/build-msvc.yml b/.ci/templates/build-msvc.yml index fe5cce563..dfb5862c3 100644 --- a/.ci/templates/build-msvc.yml +++ b/.ci/templates/build-msvc.yml | |||
| @@ -9,7 +9,7 @@ parameters: | |||
| 9 | steps: | 9 | steps: |
| 10 | - script: choco install vulkan-sdk | 10 | - script: choco install vulkan-sdk |
| 11 | displayName: 'Install vulkan-sdk' | 11 | displayName: 'Install vulkan-sdk' |
| 12 | - script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON .. && cd .. | 12 | - script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON .. && cd .. |
| 13 | displayName: 'Configure CMake' | 13 | displayName: 'Configure CMake' |
| 14 | - task: MSBuild@1 | 14 | - task: MSBuild@1 |
| 15 | displayName: 'Build' | 15 | displayName: 'Build' |
diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index b294827f4..0e99f43fa 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml | |||
| @@ -50,7 +50,7 @@ stages: | |||
| 50 | timeoutInMinutes: 120 | 50 | timeoutInMinutes: 120 |
| 51 | displayName: 'msvc' | 51 | displayName: 'msvc' |
| 52 | pool: | 52 | pool: |
| 53 | vmImage: windows-2022 | 53 | vmImage: windows-2019 |
| 54 | steps: | 54 | steps: |
| 55 | - template: ./templates/sync-source.yml | 55 | - template: ./templates/sync-source.yml |
| 56 | parameters: | 56 | parameters: |
diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 5d5b140fd..33c081c53 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml | |||
| @@ -15,7 +15,7 @@ stages: | |||
| 15 | timeoutInMinutes: 120 | 15 | timeoutInMinutes: 120 |
| 16 | displayName: 'windows-msvc' | 16 | displayName: 'windows-msvc' |
| 17 | pool: | 17 | pool: |
| 18 | vmImage: windows-2022 | 18 | vmImage: windows-2019 |
| 19 | steps: | 19 | steps: |
| 20 | - template: ./templates/sync-source.yml | 20 | - template: ./templates/sync-source.yml |
| 21 | parameters: | 21 | parameters: |
diff --git a/.github/ISSUE_TEMPLATE/bug-report-feature-request.md b/.github/ISSUE_TEMPLATE/bug-report-feature-request.md index 93370eaca..808613237 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-feature-request.md +++ b/.github/ISSUE_TEMPLATE/bug-report-feature-request.md | |||
| @@ -1,8 +1,3 @@ | |||
| 1 | <!-- | ||
| 2 | SPDX-FileCopyrightText: 2016 MerryMage | ||
| 3 | SPDX-License-Identifier: GPL-2.0-or-later | ||
| 4 | --> | ||
| 5 | |||
| 6 | --- | 1 | --- |
| 7 | name: Bug Report / Feature Request | 2 | name: Bug Report / Feature Request |
| 8 | about: Tech support does not belong here. You should only file an issue here if you think you have experienced an actual bug with yuzu or you are requesting a feature you believe would make yuzu better. | 3 | about: Tech support does not belong here. You should only file an issue here if you think you have experienced an actual bug with yuzu or you are requesting a feature you believe would make yuzu better. |
| @@ -42,4 +37,3 @@ When submitting an issue, please check the following: | |||
| 42 | 37 | ||
| 43 | 38 | ||
| 44 | 39 | ||
| 45 | |||
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 8eed3b7c2..52faafad3 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml | |||
| @@ -1,6 +1,3 @@ | |||
| 1 | # SPDX-FileCopyrightText: 2020 tgsm <doodrabbit@hotmail.com> | ||
| 2 | # SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | blank_issues_enabled: false | 1 | blank_issues_enabled: false |
| 5 | contact_links: | 2 | contact_links: |
| 6 | - name: yuzu Discord | 3 | - name: yuzu Discord |
diff --git a/.gitmodules b/.gitmodules index ccc178073..8a90f4d15 100644 --- a/.gitmodules +++ b/.gitmodules | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | url = https://github.com/libusb/libusb.git | 21 | url = https://github.com/libusb/libusb.git |
| 22 | [submodule "discord-rpc"] | 22 | [submodule "discord-rpc"] |
| 23 | path = externals/discord-rpc | 23 | path = externals/discord-rpc |
| 24 | url = https://github.com/discord/discord-rpc.git | 24 | url = https://github.com/yuzu-emu/discord-rpc.git |
| 25 | [submodule "Vulkan-Headers"] | 25 | [submodule "Vulkan-Headers"] |
| 26 | path = externals/Vulkan-Headers | 26 | path = externals/Vulkan-Headers |
| 27 | url = https://github.com/KhronosGroup/Vulkan-Headers.git | 27 | url = https://github.com/KhronosGroup/Vulkan-Headers.git |
diff --git a/.reuse/dep5 b/.reuse/dep5 index b4ac2ac26..e2ee4f456 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 | |||
| @@ -104,3 +104,11 @@ License: GPL-2.0-or-later | |||
| 104 | Files: vcpkg.json | 104 | Files: vcpkg.json |
| 105 | Copyright: 2022 yuzu Emulator Project | 105 | Copyright: 2022 yuzu Emulator Project |
| 106 | License: GPL-3.0-or-later | 106 | License: GPL-3.0-or-later |
| 107 | |||
| 108 | Files: .github/ISSUE_TEMPLATE/config.yml | ||
| 109 | Copyright: 2020 tgsm <doodrabbit@hotmail.com> | ||
| 110 | License: GPL-2.0-or-later | ||
| 111 | |||
| 112 | Files: .github/ISSUE_TEMPLATE/bug-report-feature-request.md | ||
| 113 | Copyright: 2016 MerryMage | ||
| 114 | License: GPL-2.0-or-later | ||
diff --git a/externals/discord-rpc b/externals/discord-rpc | |||
| Subproject 963aa9f3e5ce81a4682c6ca3d136cddda614db3 | Subproject 20cc99aeffa08a4834f156b6ab49ed68618cf94 | ||
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 | ||
| 20 | void DepopPrepareCommand::Process(const ADSP::CommandListProcessor& processor) { | 20 | void 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]) { |
diff --git a/src/audio_core/renderer/effect/effect_info_base.h b/src/audio_core/renderer/effect/effect_info_base.h index 43d0589cc..8c9583878 100644 --- a/src/audio_core/renderer/effect/effect_info_base.h +++ b/src/audio_core/renderer/effect/effect_info_base.h | |||
| @@ -419,13 +419,13 @@ protected: | |||
| 419 | /// Workbuffers assigned to this effect | 419 | /// Workbuffers assigned to this effect |
| 420 | std::array<AddressInfo, 2> workbuffers{AddressInfo(CpuAddr(0), 0), AddressInfo(CpuAddr(0), 0)}; | 420 | std::array<AddressInfo, 2> workbuffers{AddressInfo(CpuAddr(0), 0), AddressInfo(CpuAddr(0), 0)}; |
| 421 | /// Aux/Capture buffer info for reading | 421 | /// Aux/Capture buffer info for reading |
| 422 | CpuAddr send_buffer_info; | 422 | CpuAddr send_buffer_info{}; |
| 423 | /// Aux/Capture buffer for reading | 423 | /// Aux/Capture buffer for reading |
| 424 | CpuAddr send_buffer; | 424 | CpuAddr send_buffer{}; |
| 425 | /// Aux/Capture buffer info for writing | 425 | /// Aux/Capture buffer info for writing |
| 426 | CpuAddr return_buffer_info; | 426 | CpuAddr return_buffer_info{}; |
| 427 | /// Aux/Capture buffer for writing | 427 | /// Aux/Capture buffer for writing |
| 428 | CpuAddr return_buffer; | 428 | CpuAddr return_buffer{}; |
| 429 | /// Parameters of this effect | 429 | /// Parameters of this effect |
| 430 | std::array<u8, sizeof(InParameterVersion2)> parameter{}; | 430 | std::array<u8, sizeof(InParameterVersion2)> parameter{}; |
| 431 | /// State of this effect used by the AudioRenderer across calls | 431 | /// State of this effect used by the AudioRenderer across calls |
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index e8a57f4b4..f8c234082 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp | |||
| @@ -1076,12 +1076,26 @@ void GMainWindow::InitializeHotkeys() { | |||
| 1076 | [] { Settings::values.audio_muted = !Settings::values.audio_muted; }); | 1076 | [] { Settings::values.audio_muted = !Settings::values.audio_muted; }); |
| 1077 | connect_shortcut(QStringLiteral("Audio Volume Down"), [] { | 1077 | connect_shortcut(QStringLiteral("Audio Volume Down"), [] { |
| 1078 | const auto current_volume = static_cast<int>(Settings::values.volume.GetValue()); | 1078 | const auto current_volume = static_cast<int>(Settings::values.volume.GetValue()); |
| 1079 | const auto new_volume = std::max(current_volume - 5, 0); | 1079 | int step = 5; |
| 1080 | if (current_volume <= 30) { | ||
| 1081 | step = 2; | ||
| 1082 | } | ||
| 1083 | if (current_volume <= 6) { | ||
| 1084 | step = 1; | ||
| 1085 | } | ||
| 1086 | const auto new_volume = std::max(current_volume - step, 0); | ||
| 1080 | Settings::values.volume.SetValue(static_cast<u8>(new_volume)); | 1087 | Settings::values.volume.SetValue(static_cast<u8>(new_volume)); |
| 1081 | }); | 1088 | }); |
| 1082 | connect_shortcut(QStringLiteral("Audio Volume Up"), [] { | 1089 | connect_shortcut(QStringLiteral("Audio Volume Up"), [] { |
| 1083 | const auto current_volume = static_cast<int>(Settings::values.volume.GetValue()); | 1090 | const auto current_volume = static_cast<int>(Settings::values.volume.GetValue()); |
| 1084 | const auto new_volume = std::min(current_volume + 5, 100); | 1091 | int step = 5; |
| 1092 | if (current_volume < 30) { | ||
| 1093 | step = 2; | ||
| 1094 | } | ||
| 1095 | if (current_volume < 6) { | ||
| 1096 | step = 1; | ||
| 1097 | } | ||
| 1098 | const auto new_volume = std::min(current_volume + step, 100); | ||
| 1085 | Settings::values.volume.SetValue(static_cast<u8>(new_volume)); | 1099 | Settings::values.volume.SetValue(static_cast<u8>(new_volume)); |
| 1086 | }); | 1100 | }); |
| 1087 | connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [] { | 1101 | connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [] { |