diff options
| author | bunnei <bunneidev@gmail.com> | 2023-02-19 02:19:21 -0800 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2023-06-03 00:05:32 -0700 |
| commit | 8248d690935dbd2df8294c75360348a07a30afed (patch) | |
| tree | 28a0dd2e9ef6f09ebfc221b895a8b9230e53fab0 /src/video_core/renderer_vulkan | |
| parent | 21320d80d90a3952dfc24284a3caa8877b6b9151 (diff) | |
android: vulkan: Implement adrenotools turbo mode.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_turbo_mode.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_turbo_mode.cpp b/src/video_core/renderer_vulkan/vk_turbo_mode.cpp index db04943eb..29751e6b4 100644 --- a/src/video_core/renderer_vulkan/vk_turbo_mode.cpp +++ b/src/video_core/renderer_vulkan/vk_turbo_mode.cpp @@ -1,6 +1,10 @@ // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +#ifdef ANDROID +#include <adrenotools/driver.h> +#endif + #include "common/literals.h" #include "video_core/host_shaders/vulkan_turbo_mode_comp_spv.h" #include "video_core/renderer_vulkan/renderer_vulkan.h" @@ -144,6 +148,9 @@ void TurboMode::Run(std::stop_token stop_token) { auto cmdbuf = vk::CommandBuffer{cmdbufs[0], m_device.GetDispatchLoader()}; while (!stop_token.stop_requested()) { +#ifdef ANDROID + adrenotools_set_turbo(true); +#else // Reset the fence. fence.Reset(); @@ -209,7 +216,7 @@ void TurboMode::Run(std::stop_token stop_token) { // Wait for completion. fence.Wait(); - +#endif // Wait for the next graphics queue submission if necessary. std::unique_lock lk{m_submission_lock}; Common::CondvarWait(m_submission_cv, lk, stop_token, [this] { @@ -217,6 +224,9 @@ void TurboMode::Run(std::stop_token stop_token) { std::chrono::milliseconds{100}; }); } +#ifdef ANDROID + adrenotools_set_turbo(false); +#endif } } // namespace Vulkan |
