summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
authorGravatar bunnei2022-06-11 00:07:18 -0700
committerGravatar GitHub2022-06-11 00:07:18 -0700
commit5282efac1b2a875ab3ea81b4ea21efdcac4e8d51 (patch)
treead7c5cde266ba8d9cf80305b88e46689491dab3a /src/video_core/gpu_thread.h
parentMerge pull request #8393 from lat9nq/default-vulkan (diff)
parentgpu_thread: Move to bounded queue (diff)
downloadyuzu-5282efac1b2a875ab3ea81b4ea21efdcac4e8d51.tar.gz
yuzu-5282efac1b2a875ab3ea81b4ea21efdcac4e8d51.tar.xz
yuzu-5282efac1b2a875ab3ea81b4ea21efdcac4e8d51.zip
Merge pull request #8413 from behunin/bounded-queue
gpu_thread: Move to bounded queue
Diffstat (limited to 'src/video_core/gpu_thread.h')
-rw-r--r--src/video_core/gpu_thread.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h
index 71cd35756..ad9fd5eff 100644
--- a/src/video_core/gpu_thread.h
+++ b/src/video_core/gpu_thread.h
@@ -10,7 +10,7 @@
10#include <thread> 10#include <thread>
11#include <variant> 11#include <variant>
12 12
13#include "common/threadsafe_queue.h" 13#include "common/bounded_threadsafe_queue.h"
14#include "video_core/framebuffer_config.h" 14#include "video_core/framebuffer_config.h"
15 15
16namespace Tegra { 16namespace Tegra {
@@ -96,9 +96,9 @@ struct CommandDataContainer {
96 96
97/// Struct used to synchronize the GPU thread 97/// Struct used to synchronize the GPU thread
98struct SynchState final { 98struct SynchState final {
99 using CommandQueue = Common::SPSCQueue<CommandDataContainer, true>; 99 using CommandQueue = Common::MPSCQueue<CommandDataContainer>;
100 std::mutex write_lock; 100 std::mutex write_lock;
101 CommandQueue queue; 101 CommandQueue queue{512}; // size must be 2^n
102 u64 last_fence{}; 102 u64 last_fence{};
103 std::atomic<u64> signaled_fence{}; 103 std::atomic<u64> signaled_fence{};
104 std::condition_variable_any cv; 104 std::condition_variable_any cv;